react-shadcn-kit 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/README.md +145 -71
  2. package/dist/assets/global.css +1 -1
  3. package/dist/components/composites/ComponentSearch.d.ts +43 -0
  4. package/dist/components/composites/ComponentSearch.js +141 -0
  5. package/dist/components/composites/ComponentSearch.js.map +1 -0
  6. package/dist/components/composites/action-button.d.ts +16 -0
  7. package/dist/components/composites/action-button.js +71 -0
  8. package/dist/components/composites/action-button.js.map +1 -0
  9. package/dist/components/composites/index.d.ts +9 -0
  10. package/dist/components/composites/sidebar-wrapper.d.ts +27 -0
  11. package/dist/components/composites/sidebar-wrapper.js +21 -0
  12. package/dist/components/composites/sidebar-wrapper.js.map +1 -0
  13. package/dist/{molecules → components/composites}/theme-toggle.js +3 -3
  14. package/dist/components/composites/theme-toggle.js.map +1 -0
  15. package/dist/{molecules → components/composites}/user-menu.js +4 -4
  16. package/dist/components/composites/user-menu.js.map +1 -0
  17. package/dist/components/marketing/hero.d.ts +12 -0
  18. package/dist/components/marketing/hero.js +87 -0
  19. package/dist/components/marketing/hero.js.map +1 -0
  20. package/dist/components/marketing/index.d.ts +6 -0
  21. package/dist/components/marketing/social-proof.d.ts +10 -0
  22. package/dist/components/marketing/social-proof.js +21 -0
  23. package/dist/components/marketing/social-proof.js.map +1 -0
  24. package/dist/components/marketing/value-props.d.ts +14 -0
  25. package/dist/components/marketing/value-props.js +25 -0
  26. package/dist/components/marketing/value-props.js.map +1 -0
  27. package/dist/{atoms → components/primitives}/accordion.js +1 -1
  28. package/dist/components/primitives/accordion.js.map +1 -0
  29. package/dist/{atoms → components/primitives}/alert-dialog.js +2 -2
  30. package/dist/components/primitives/alert-dialog.js.map +1 -0
  31. package/dist/{atoms → components/primitives}/alert.js +1 -1
  32. package/dist/components/primitives/alert.js.map +1 -0
  33. package/dist/components/primitives/aspect-ratio.js.map +1 -0
  34. package/dist/{atoms → components/primitives}/avatar.js +1 -1
  35. package/dist/components/primitives/avatar.js.map +1 -0
  36. package/dist/components/primitives/badge-variants.d.ts +3 -0
  37. package/dist/{atoms/badge.js → components/primitives/badge-variants.js} +7 -19
  38. package/dist/components/primitives/badge-variants.js.map +1 -0
  39. package/dist/components/primitives/badge.d.ts +9 -0
  40. package/dist/components/primitives/badge.js +21 -0
  41. package/dist/components/primitives/badge.js.map +1 -0
  42. package/dist/{atoms → components/primitives}/breadcrumb.js +1 -1
  43. package/dist/components/primitives/breadcrumb.js.map +1 -0
  44. package/dist/components/primitives/button-group-variants.d.ts +3 -0
  45. package/dist/components/primitives/button-group-variants.js +19 -0
  46. package/dist/components/primitives/button-group-variants.js.map +1 -0
  47. package/dist/components/primitives/button-group.d.ts +13 -0
  48. package/dist/components/primitives/button-group.js +52 -0
  49. package/dist/components/primitives/button-group.js.map +1 -0
  50. package/dist/components/primitives/button-variants.d.ts +4 -0
  51. package/dist/{atoms/button.js → components/primitives/button-variants.js} +8 -28
  52. package/dist/components/primitives/button-variants.js.map +1 -0
  53. package/dist/components/primitives/button.d.ts +9 -0
  54. package/dist/components/primitives/button.js +21 -0
  55. package/dist/components/primitives/button.js.map +1 -0
  56. package/dist/{atoms → components/primitives}/calendar.d.ts +1 -1
  57. package/dist/{atoms → components/primitives}/calendar.js +5 -4
  58. package/dist/components/primitives/calendar.js.map +1 -0
  59. package/dist/{atoms → components/primitives}/card.js +1 -1
  60. package/dist/components/primitives/card.js.map +1 -0
  61. package/dist/{atoms → components/primitives}/carousel.d.ts +1 -1
  62. package/dist/{atoms → components/primitives}/carousel.js +1 -1
  63. package/dist/components/primitives/carousel.js.map +1 -0
  64. package/dist/{atoms → components/primitives}/chart.js +1 -1
  65. package/dist/components/primitives/chart.js.map +1 -0
  66. package/dist/{atoms → components/primitives}/checkbox.js +1 -1
  67. package/dist/components/primitives/checkbox.js.map +1 -0
  68. package/dist/components/primitives/collapsible.js.map +1 -0
  69. package/dist/{atoms → components/primitives}/command.d.ts +1 -1
  70. package/dist/{atoms → components/primitives}/command.js +1 -1
  71. package/dist/components/primitives/command.js.map +1 -0
  72. package/dist/{atoms → components/primitives}/context-menu.js +1 -1
  73. package/dist/components/primitives/context-menu.js.map +1 -0
  74. package/dist/components/primitives/custom-button-variants.d.ts +5 -0
  75. package/dist/components/primitives/custom-button-variants.js +38 -0
  76. package/dist/components/primitives/custom-button-variants.js.map +1 -0
  77. package/dist/components/primitives/custom-button.d.ts +22 -0
  78. package/dist/components/primitives/custom-button.js +64 -0
  79. package/dist/components/primitives/custom-button.js.map +1 -0
  80. package/dist/{atoms → components/primitives}/dialog.js +8 -8
  81. package/dist/components/primitives/dialog.js.map +1 -0
  82. package/dist/{atoms → components/primitives}/drawer.js +1 -1
  83. package/dist/components/primitives/drawer.js.map +1 -0
  84. package/dist/{atoms → components/primitives}/dropdown-menu.js +1 -1
  85. package/dist/components/primitives/dropdown-menu.js.map +1 -0
  86. package/dist/{atoms → components/primitives}/empty.js +1 -1
  87. package/dist/components/primitives/empty.js.map +1 -0
  88. package/dist/{atoms → components/primitives}/field.d.ts +1 -1
  89. package/dist/{atoms → components/primitives}/field.js +1 -1
  90. package/dist/components/primitives/field.js.map +1 -0
  91. package/dist/components/primitives/form-context.d.ts +23 -0
  92. package/dist/components/primitives/form-context.js +26 -0
  93. package/dist/components/primitives/form-context.js.map +1 -0
  94. package/dist/components/primitives/form.d.ts +11 -0
  95. package/dist/components/primitives/form.js +85 -0
  96. package/dist/components/primitives/form.js.map +1 -0
  97. package/dist/{atoms → components/primitives}/hover-card.js +1 -1
  98. package/dist/components/primitives/hover-card.js.map +1 -0
  99. package/dist/components/primitives/index.d.ts +116 -0
  100. package/dist/{atoms → components/primitives}/input-group.d.ts +2 -2
  101. package/dist/{atoms → components/primitives}/input-group.js +1 -1
  102. package/dist/components/primitives/input-group.js.map +1 -0
  103. package/dist/{atoms → components/primitives}/input-otp.js +1 -1
  104. package/dist/components/primitives/input-otp.js.map +1 -0
  105. package/dist/{atoms → components/primitives}/input.js +1 -1
  106. package/dist/components/primitives/input.js.map +1 -0
  107. package/dist/{atoms → components/primitives}/item.d.ts +2 -2
  108. package/dist/{atoms → components/primitives}/item.js +1 -1
  109. package/dist/components/primitives/item.js.map +1 -0
  110. package/dist/{atoms → components/primitives}/kbd.js +1 -1
  111. package/dist/components/primitives/kbd.js.map +1 -0
  112. package/dist/{atoms → components/primitives}/label.js +1 -1
  113. package/dist/components/primitives/label.js.map +1 -0
  114. package/dist/components/primitives/loading-swap.d.ts +8 -0
  115. package/dist/components/primitives/loading-swap.js +25 -0
  116. package/dist/components/primitives/loading-swap.js.map +1 -0
  117. package/dist/{atoms → components/primitives}/menubar.js +1 -1
  118. package/dist/components/primitives/menubar.js.map +1 -0
  119. package/dist/components/primitives/navigation-menu-variants.d.ts +1 -0
  120. package/dist/components/primitives/navigation-menu-variants.js +8 -0
  121. package/dist/components/primitives/navigation-menu-variants.js.map +1 -0
  122. package/dist/components/primitives/navigation-menu.d.ts +13 -0
  123. package/dist/components/primitives/navigation-menu.js +102 -0
  124. package/dist/components/primitives/navigation-menu.js.map +1 -0
  125. package/dist/{atoms → components/primitives}/pagination.d.ts +1 -1
  126. package/dist/{atoms → components/primitives}/pagination.js +2 -2
  127. package/dist/components/primitives/pagination.js.map +1 -0
  128. package/dist/{atoms → components/primitives}/popover.js +1 -1
  129. package/dist/components/primitives/popover.js.map +1 -0
  130. package/dist/{atoms → components/primitives}/progress.js +1 -1
  131. package/dist/components/primitives/progress.js.map +1 -0
  132. package/dist/{atoms → components/primitives}/radio-group.js +1 -1
  133. package/dist/components/primitives/radio-group.js.map +1 -0
  134. package/dist/{atoms → components/primitives}/resizable.js +1 -1
  135. package/dist/components/primitives/resizable.js.map +1 -0
  136. package/dist/{atoms → components/primitives}/scroll-area.js +1 -1
  137. package/dist/components/primitives/scroll-area.js.map +1 -0
  138. package/dist/{atoms → components/primitives}/select.js +1 -1
  139. package/dist/components/primitives/select.js.map +1 -0
  140. package/dist/{atoms → components/primitives}/separator.js +1 -1
  141. package/dist/components/primitives/separator.js.map +1 -0
  142. package/dist/{atoms → components/primitives}/sheet.js +5 -5
  143. package/dist/components/primitives/sheet.js.map +1 -0
  144. package/dist/components/primitives/sidebar-context.d.ts +12 -0
  145. package/dist/components/primitives/sidebar-context.js +13 -0
  146. package/dist/components/primitives/sidebar-context.js.map +1 -0
  147. package/dist/components/primitives/sidebar-variants.d.ts +4 -0
  148. package/dist/components/primitives/sidebar-variants.js +25 -0
  149. package/dist/components/primitives/sidebar-variants.js.map +1 -0
  150. package/dist/components/primitives/sidebar.d.ts +56 -0
  151. package/dist/components/primitives/sidebar.js +542 -0
  152. package/dist/components/primitives/sidebar.js.map +1 -0
  153. package/dist/{atoms → components/primitives}/skeleton.js +1 -1
  154. package/dist/components/primitives/skeleton.js.map +1 -0
  155. package/dist/{atoms → components/primitives}/slider.js +1 -1
  156. package/dist/components/primitives/slider.js.map +1 -0
  157. package/dist/components/primitives/sonner.js.map +1 -0
  158. package/dist/{atoms → components/primitives}/spinner.js +1 -1
  159. package/dist/components/primitives/spinner.js.map +1 -0
  160. package/dist/{atoms → components/primitives}/switch.js +1 -1
  161. package/dist/components/primitives/switch.js.map +1 -0
  162. package/dist/{atoms → components/primitives}/table.js +1 -1
  163. package/dist/components/primitives/table.js.map +1 -0
  164. package/dist/{atoms → components/primitives}/tabs.js +1 -1
  165. package/dist/components/primitives/tabs.js.map +1 -0
  166. package/dist/{atoms → components/primitives}/textarea.js +1 -1
  167. package/dist/components/primitives/textarea.js.map +1 -0
  168. package/dist/components/primitives/theme-provider.js.map +1 -0
  169. package/dist/{atoms → components/primitives}/toggle-group.d.ts +1 -1
  170. package/dist/{atoms → components/primitives}/toggle-group.js +2 -2
  171. package/dist/components/primitives/toggle-group.js.map +1 -0
  172. package/dist/components/primitives/toggle-variants.d.ts +4 -0
  173. package/dist/{atoms/toggle.js → components/primitives/toggle-variants.js} +5 -24
  174. package/dist/components/primitives/toggle-variants.js.map +1 -0
  175. package/dist/components/primitives/toggle.d.ts +9 -0
  176. package/dist/components/primitives/toggle.js +21 -0
  177. package/dist/components/primitives/toggle.js.map +1 -0
  178. package/dist/{atoms → components/primitives}/tooltip.js +1 -1
  179. package/dist/components/primitives/tooltip.js.map +1 -0
  180. package/dist/composites/index.js +13 -0
  181. package/dist/{organisms → composites}/index.js.map +1 -1
  182. package/dist/hooks/index.d.ts +7 -0
  183. package/dist/hooks/index.js +8 -2
  184. package/dist/hooks/index.js.map +1 -1
  185. package/dist/hooks/use-aria-live.d.ts +22 -0
  186. package/dist/hooks/use-aria-live.js +18 -0
  187. package/dist/hooks/use-aria-live.js.map +1 -0
  188. package/dist/hooks/use-focus-visible.d.ts +15 -0
  189. package/dist/hooks/use-focus-visible.js +16 -0
  190. package/dist/hooks/use-focus-visible.js.map +1 -0
  191. package/dist/hooks/use-screen-reader-only.d.ts +14 -0
  192. package/dist/hooks/use-screen-reader-only.js +10 -0
  193. package/dist/hooks/use-screen-reader-only.js.map +1 -0
  194. package/dist/index.d.ts +10 -58
  195. package/dist/index.js +372 -343
  196. package/dist/index.js.map +1 -1
  197. package/dist/lib/index.d.ts +3 -0
  198. package/dist/lib/index.js +8 -2
  199. package/dist/lib/index.js.map +1 -1
  200. package/dist/lib/utils-enhanced.d.ts +27 -0
  201. package/dist/lib/utils-enhanced.js +28 -0
  202. package/dist/lib/utils-enhanced.js.map +1 -0
  203. package/dist/lib/utils-enhanced.test.d.ts +1 -0
  204. package/dist/marketing/index.js +9 -0
  205. package/dist/primitives/index.js +345 -0
  206. package/dist/{atoms → primitives}/index.js.map +1 -1
  207. package/package.json +24 -27
  208. package/dist/atoms/accordion.js.map +0 -1
  209. package/dist/atoms/alert-dialog.js.map +0 -1
  210. package/dist/atoms/alert.js.map +0 -1
  211. package/dist/atoms/aspect-ratio.js.map +0 -1
  212. package/dist/atoms/avatar.js.map +0 -1
  213. package/dist/atoms/badge.d.ts +0 -9
  214. package/dist/atoms/badge.js.map +0 -1
  215. package/dist/atoms/breadcrumb.js.map +0 -1
  216. package/dist/atoms/button-group.d.ts +0 -11
  217. package/dist/atoms/button-group.js +0 -76
  218. package/dist/atoms/button-group.js.map +0 -1
  219. package/dist/atoms/button.d.ts +0 -10
  220. package/dist/atoms/button.js.map +0 -1
  221. package/dist/atoms/calendar.js.map +0 -1
  222. package/dist/atoms/card.js.map +0 -1
  223. package/dist/atoms/carousel.js.map +0 -1
  224. package/dist/atoms/chart.js.map +0 -1
  225. package/dist/atoms/checkbox.js.map +0 -1
  226. package/dist/atoms/collapsible.js.map +0 -1
  227. package/dist/atoms/command.js.map +0 -1
  228. package/dist/atoms/context-menu.js.map +0 -1
  229. package/dist/atoms/dialog.js.map +0 -1
  230. package/dist/atoms/drawer.js.map +0 -1
  231. package/dist/atoms/dropdown-menu.js.map +0 -1
  232. package/dist/atoms/empty.js.map +0 -1
  233. package/dist/atoms/field.js.map +0 -1
  234. package/dist/atoms/form.d.ts +0 -24
  235. package/dist/atoms/form.js +0 -88
  236. package/dist/atoms/form.js.map +0 -1
  237. package/dist/atoms/hover-card.js.map +0 -1
  238. package/dist/atoms/index.d.ts +0 -54
  239. package/dist/atoms/index.js +0 -342
  240. package/dist/atoms/input-group.js.map +0 -1
  241. package/dist/atoms/input-otp.js.map +0 -1
  242. package/dist/atoms/input.js.map +0 -1
  243. package/dist/atoms/item.js.map +0 -1
  244. package/dist/atoms/kbd.js.map +0 -1
  245. package/dist/atoms/label.js.map +0 -1
  246. package/dist/atoms/menubar.js.map +0 -1
  247. package/dist/atoms/navigation-menu.d.ts +0 -14
  248. package/dist/atoms/navigation-menu.js +0 -160
  249. package/dist/atoms/navigation-menu.js.map +0 -1
  250. package/dist/atoms/pagination.js.map +0 -1
  251. package/dist/atoms/popover.js.map +0 -1
  252. package/dist/atoms/progress.js.map +0 -1
  253. package/dist/atoms/radio-group.js.map +0 -1
  254. package/dist/atoms/resizable.js.map +0 -1
  255. package/dist/atoms/scroll-area.js.map +0 -1
  256. package/dist/atoms/select.js.map +0 -1
  257. package/dist/atoms/separator.js.map +0 -1
  258. package/dist/atoms/sheet.js.map +0 -1
  259. package/dist/atoms/sidebar.d.ts +0 -70
  260. package/dist/atoms/sidebar.js +0 -573
  261. package/dist/atoms/sidebar.js.map +0 -1
  262. package/dist/atoms/skeleton.js.map +0 -1
  263. package/dist/atoms/slider.js.map +0 -1
  264. package/dist/atoms/sonner.js.map +0 -1
  265. package/dist/atoms/spinner.js.map +0 -1
  266. package/dist/atoms/switch.js.map +0 -1
  267. package/dist/atoms/table.js.map +0 -1
  268. package/dist/atoms/tabs.js.map +0 -1
  269. package/dist/atoms/textarea.js.map +0 -1
  270. package/dist/atoms/theme-provider.js.map +0 -1
  271. package/dist/atoms/toggle-group.js.map +0 -1
  272. package/dist/atoms/toggle.d.ts +0 -9
  273. package/dist/atoms/toggle.js.map +0 -1
  274. package/dist/atoms/tooltip.js.map +0 -1
  275. package/dist/default-layout.js +0 -114
  276. package/dist/default-layout.js.map +0 -1
  277. package/dist/molecules/index.d.ts +0 -3
  278. package/dist/molecules/index.js +0 -9
  279. package/dist/molecules/sidebar-theme-toggle.d.ts +0 -5
  280. package/dist/molecules/sidebar-theme-toggle.js +0 -39
  281. package/dist/molecules/sidebar-theme-toggle.js.map +0 -1
  282. package/dist/molecules/theme-toggle.js.map +0 -1
  283. package/dist/molecules/user-menu.js.map +0 -1
  284. package/dist/organisms/app-navbar.d.ts +0 -73
  285. package/dist/organisms/app-navbar.js +0 -142
  286. package/dist/organisms/app-navbar.js.map +0 -1
  287. package/dist/organisms/app-sidebar.d.ts +0 -67
  288. package/dist/organisms/app-sidebar.js +0 -161
  289. package/dist/organisms/app-sidebar.js.map +0 -1
  290. package/dist/organisms/index.d.ts +0 -2
  291. package/dist/organisms/index.js +0 -7
  292. /package/dist/{molecules → components/composites}/theme-toggle.d.ts +0 -0
  293. /package/dist/{molecules → components/composites}/user-menu.d.ts +0 -0
  294. /package/dist/{atoms → components/primitives}/accordion.d.ts +0 -0
  295. /package/dist/{atoms → components/primitives}/alert-dialog.d.ts +0 -0
  296. /package/dist/{atoms → components/primitives}/alert.d.ts +0 -0
  297. /package/dist/{atoms → components/primitives}/aspect-ratio.d.ts +0 -0
  298. /package/dist/{atoms → components/primitives}/aspect-ratio.js +0 -0
  299. /package/dist/{atoms → components/primitives}/avatar.d.ts +0 -0
  300. /package/dist/{atoms → components/primitives}/breadcrumb.d.ts +0 -0
  301. /package/dist/{atoms → components/primitives}/card.d.ts +0 -0
  302. /package/dist/{atoms → components/primitives}/chart.d.ts +0 -0
  303. /package/dist/{atoms → components/primitives}/checkbox.d.ts +0 -0
  304. /package/dist/{atoms → components/primitives}/collapsible.d.ts +0 -0
  305. /package/dist/{atoms → components/primitives}/collapsible.js +0 -0
  306. /package/dist/{atoms → components/primitives}/context-menu.d.ts +0 -0
  307. /package/dist/{atoms → components/primitives}/dialog.d.ts +0 -0
  308. /package/dist/{atoms → components/primitives}/drawer.d.ts +0 -0
  309. /package/dist/{atoms → components/primitives}/dropdown-menu.d.ts +0 -0
  310. /package/dist/{atoms → components/primitives}/empty.d.ts +0 -0
  311. /package/dist/{atoms → components/primitives}/hover-card.d.ts +0 -0
  312. /package/dist/{atoms → components/primitives}/input-otp.d.ts +0 -0
  313. /package/dist/{atoms → components/primitives}/input.d.ts +0 -0
  314. /package/dist/{atoms → components/primitives}/kbd.d.ts +0 -0
  315. /package/dist/{atoms → components/primitives}/label.d.ts +0 -0
  316. /package/dist/{atoms → components/primitives}/menubar.d.ts +0 -0
  317. /package/dist/{atoms → components/primitives}/popover.d.ts +0 -0
  318. /package/dist/{atoms → components/primitives}/progress.d.ts +0 -0
  319. /package/dist/{atoms → components/primitives}/radio-group.d.ts +0 -0
  320. /package/dist/{atoms → components/primitives}/resizable.d.ts +0 -0
  321. /package/dist/{atoms → components/primitives}/scroll-area.d.ts +0 -0
  322. /package/dist/{atoms → components/primitives}/select.d.ts +0 -0
  323. /package/dist/{atoms → components/primitives}/separator.d.ts +0 -0
  324. /package/dist/{atoms → components/primitives}/sheet.d.ts +0 -0
  325. /package/dist/{atoms → components/primitives}/skeleton.d.ts +0 -0
  326. /package/dist/{atoms → components/primitives}/slider.d.ts +0 -0
  327. /package/dist/{atoms → components/primitives}/sonner.d.ts +0 -0
  328. /package/dist/{atoms → components/primitives}/sonner.js +0 -0
  329. /package/dist/{atoms → components/primitives}/spinner.d.ts +0 -0
  330. /package/dist/{atoms → components/primitives}/switch.d.ts +0 -0
  331. /package/dist/{atoms → components/primitives}/table.d.ts +0 -0
  332. /package/dist/{atoms → components/primitives}/tabs.d.ts +0 -0
  333. /package/dist/{atoms → components/primitives}/textarea.d.ts +0 -0
  334. /package/dist/{atoms → components/primitives}/theme-provider.d.ts +0 -0
  335. /package/dist/{atoms → components/primitives}/theme-provider.js +0 -0
  336. /package/dist/{atoms → components/primitives}/tooltip.d.ts +0 -0
  337. /package/dist/{molecules → marketing}/index.js.map +0 -0
@@ -0,0 +1,85 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { Slot as l } from "@radix-ui/react-slot";
4
+ import { FormProvider as c, Controller as f } from "react-hook-form";
5
+ import { cn as i } from "../../lib/utils.js";
6
+ import { Label as F } from "./label.js";
7
+ import { FormItemContext as p, useFormField as n, FormFieldContext as u } from "./form-context.js";
8
+ const D = c, M = ({
9
+ ...r
10
+ }) => /* @__PURE__ */ m(u.Provider, { value: { name: r.name }, children: /* @__PURE__ */ m(f, { ...r }) }), I = s.forwardRef(
11
+ ({ className: r, ...o }, e) => {
12
+ const t = s.useId();
13
+ return /* @__PURE__ */ m(p.Provider, { value: { id: t }, children: /* @__PURE__ */ m("div", { ref: e, "data-slot": "form-item", className: i("grid gap-2", r), ...o }) });
14
+ }
15
+ ), g = s.forwardRef(({ className: r, ...o }, e) => {
16
+ const { error: t, formItemId: a } = n();
17
+ return /* @__PURE__ */ m(
18
+ F,
19
+ {
20
+ ref: e,
21
+ "data-slot": "form-label",
22
+ "data-error": !!t,
23
+ className: i("data-[error=true]:text-destructive", r),
24
+ htmlFor: a,
25
+ ...o
26
+ }
27
+ );
28
+ }), v = s.forwardRef(({ ...r }, o) => {
29
+ const { error: e, formItemId: t, formDescriptionId: a, formMessageId: d } = n();
30
+ return /* @__PURE__ */ m(
31
+ l,
32
+ {
33
+ ref: o,
34
+ "data-slot": "form-control",
35
+ id: t,
36
+ "aria-describedby": e ? `${a} ${d}` : `${a}`,
37
+ "aria-invalid": !!e,
38
+ ...r
39
+ }
40
+ );
41
+ }), x = s.forwardRef(
42
+ ({ className: r, ...o }, e) => {
43
+ const { formDescriptionId: t } = n();
44
+ return /* @__PURE__ */ m(
45
+ "p",
46
+ {
47
+ ref: e,
48
+ "data-slot": "form-description",
49
+ id: t,
50
+ className: i("text-muted-foreground text-sm", r),
51
+ ...o
52
+ }
53
+ );
54
+ }
55
+ ), N = s.forwardRef(
56
+ ({ className: r, ...o }, e) => {
57
+ const { error: t, formMessageId: a } = n(), d = t ? String(t?.message ?? "") : o.children;
58
+ return d ? /* @__PURE__ */ m(
59
+ "p",
60
+ {
61
+ ref: e,
62
+ "data-slot": "form-message",
63
+ id: a,
64
+ className: i("text-destructive text-sm", r),
65
+ ...o,
66
+ children: d
67
+ }
68
+ ) : null;
69
+ }
70
+ );
71
+ I.displayName = "FormItem";
72
+ g.displayName = "FormLabel";
73
+ v.displayName = "FormControl";
74
+ x.displayName = "FormDescription";
75
+ N.displayName = "FormMessage";
76
+ export {
77
+ D as Form,
78
+ v as FormControl,
79
+ x as FormDescription,
80
+ M as FormField,
81
+ I as FormItem,
82
+ g as FormLabel,
83
+ N as FormMessage
84
+ };
85
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sources":["../../../src/components/primitives/form.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Label } from \"../primitives/label\";\nimport { FormFieldContext, FormItemContext, useFormField } from \"./form-context\";\n\nconst Form = FormProvider;\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} data-slot=\"form-item\" className={cn(\"grid gap-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n },\n);\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n ref={ref}\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n});\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n );\n});\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.ComponentProps<\"p\">>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n },\n);\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.ComponentProps<\"p\">>(\n ({ className, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n },\n);\n\nFormItem.displayName = \"FormItem\";\nFormLabel.displayName = \"FormLabel\";\nFormControl.displayName = \"FormControl\";\nFormDescription.displayName = \"FormDescription\";\nFormMessage.displayName = \"FormMessage\";\n\nexport { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"],"names":["jsx","React","Slot","FormProvider","Controller","cn","Label","FormItemContext","useFormField","FormFieldContext","Form","FormField","props","FormItem","className","ref","id","FormLabel","error","formItemId","FormControl","formDescriptionId","formMessageId","FormDescription","FormMessage","body"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import * as r from "@radix-ui/react-hover-card";
3
- import { cn as i } from "../lib/utils.js";
3
+ import { cn as i } from "../../lib/utils.js";
4
4
  function m({ ...t }) {
5
5
  return /* @__PURE__ */ o(r.Root, { "data-slot": "hover-card", ...t });
6
6
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.js","sources":["../../../src/components/primitives/hover-card.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />;\n}\n\nfunction HoverCardContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className,\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"names":["jsx","HoverCardPrimitive","cn","HoverCard","props","HoverCardTrigger","HoverCardContent","className","align","sideOffset"],"mappings":"AAOA,SAAA,OAAAA,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAASC,EAAU,EAAE,GAAGC,KAA+D;AACrF,2BAAQH,EAAmB,MAAnB,EAAwB,aAAU,cAAc,GAAGG,GAAO;AACpE;AAEA,SAASC,EAAiB,EAAE,GAAGD,KAAkE;AAC/F,2BAAQH,EAAmB,SAAnB,EAA2B,aAAU,sBAAsB,GAAGG,GAAO;AAC/E;AAEA,SAASE,EAAiB;AAAA,EACxB,WAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,YAAAC,IAAa;AAAA,EACb,GAAGL;AACL,GAA4D;AAC1D,SACE,gBAAAJ,EAACC,EAAmB,QAAnB,EAA0B,aAAU,qBACnC,UAAA,gBAAAD;AAAA,IAACC,EAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,OAAAO;AAAA,MACA,YAAAC;AAAA,MACA,WAAWP;AAAA,QACT;AAAA,QACAK;AAAA,MAAA;AAAA,MAED,GAAGH;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;"}
@@ -0,0 +1,116 @@
1
+ export * from './accordion';
2
+ export * from './alert';
3
+ export * from './alert-dialog';
4
+ export * from './aspect-ratio';
5
+ export * from './avatar';
6
+ export * from './badge';
7
+ export * from './breadcrumb';
8
+ export * from './button';
9
+ export * from './button-group';
10
+ export * from './calendar';
11
+ export * from './card';
12
+ export * from './carousel';
13
+ export * from './chart';
14
+ export * from './checkbox';
15
+ export * from './collapsible';
16
+ export * from './command';
17
+ export * from './context-menu';
18
+ export * from './custom-button';
19
+ export * from './dialog';
20
+ export * from './drawer';
21
+ export * from './dropdown-menu';
22
+ export * from './empty';
23
+ export * from './field';
24
+ export * from './form';
25
+ export * from './hover-card';
26
+ export * from './input';
27
+ export * from './input-group';
28
+ export * from './input-otp';
29
+ export * from './item';
30
+ export * from './kbd';
31
+ export * from './label';
32
+ export * from './loading-swap';
33
+ export * from './menubar';
34
+ export * from './navigation-menu';
35
+ export * from './pagination';
36
+ export * from './popover';
37
+ export * from './progress';
38
+ export * from './radio-group';
39
+ export * from './resizable';
40
+ export * from './scroll-area';
41
+ export * from './select';
42
+ export * from './separator';
43
+ export * from './sheet';
44
+ export * from './sidebar';
45
+ export * from './skeleton';
46
+ export * from './slider';
47
+ export * from './sonner';
48
+ export * from './spinner';
49
+ export * from './switch';
50
+ export * from './table';
51
+ export * from './tabs';
52
+ export * from './textarea';
53
+ export * from './theme-provider';
54
+ export * from './toggle';
55
+ export * from './toggle-group';
56
+ export * from './tooltip';
57
+ export type * from './accordion';
58
+ export type * from './alert';
59
+ export type * from './alert-dialog';
60
+ export type * from './aspect-ratio';
61
+ export type * from './avatar';
62
+ export type * from './badge';
63
+ export type * from './breadcrumb';
64
+ export type * from './button';
65
+ export type * from './button-group';
66
+ export type * from './calendar';
67
+ export type * from './card';
68
+ export type * from './carousel';
69
+ export type * from './chart';
70
+ export type * from './checkbox';
71
+ export type * from './collapsible';
72
+ export type * from './command';
73
+ export type * from './context-menu';
74
+ export type * from './custom-button';
75
+ export type * from './dialog';
76
+ export type * from './drawer';
77
+ export type * from './dropdown-menu';
78
+ export type * from './empty';
79
+ export type * from './field';
80
+ export type * from './form';
81
+ export type * from './hover-card';
82
+ export type * from './input';
83
+ export type * from './input-group';
84
+ export type * from './input-otp';
85
+ export type * from './item';
86
+ export type * from './kbd';
87
+ export type * from './label';
88
+ export type * from './loading-swap';
89
+ export type * from './menubar';
90
+ export type * from './navigation-menu';
91
+ export type * from './pagination';
92
+ export type * from './popover';
93
+ export type * from './progress';
94
+ export type * from './radio-group';
95
+ export type * from './resizable';
96
+ export type * from './scroll-area';
97
+ export type * from './select';
98
+ export type * from './separator';
99
+ export type * from './sheet';
100
+ export type * from './sidebar';
101
+ export type * from './skeleton';
102
+ export type * from './slider';
103
+ export type * from './sonner';
104
+ export type * from './spinner';
105
+ export type * from './switch';
106
+ export type * from './table';
107
+ export type * from './tabs';
108
+ export type * from './textarea';
109
+ export type * from './theme-provider';
110
+ export type * from './toggle';
111
+ export type * from './toggle-group';
112
+ export * from './tooltip';
113
+ export * from './custom-button-variants';
114
+ export { Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './form';
115
+ export { useFormField } from './form-context';
116
+ export { useSidebar } from './sidebar-context';
@@ -1,9 +1,9 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
- import { Button } from './button';
2
+ import { Button } from '../primitives/button';
3
3
  import * as React from "react";
4
4
  declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
5
  declare const inputGroupAddonVariants: (props?: ({
6
- align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
6
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
9
9
  declare const inputGroupButtonVariants: (props?: ({
@@ -1,6 +1,6 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { cva as s } from "class-variance-authority";
3
- import { cn as n } from "../lib/utils.js";
3
+ import { cn as n } from "../../lib/utils.js";
4
4
  import { Button as u } from "./button.js";
5
5
  import { Input as p } from "./input.js";
6
6
  import { Textarea as l } from "./textarea.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group.js","sources":["../../../src/components/primitives/input-group.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../primitives/button\";\nimport { Input } from \"../primitives/input\";\nimport { Textarea } from \"../primitives/textarea\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none\",\n \"h-9 min-w-0 has-[>textarea]:h-auto\",\n\n // Variants based on alignment.\n \"has-[>[data-align=inline-start]]:[&>input]:pl-2\",\n \"has-[>[data-align=inline-end]]:[&>input]:pr-2\",\n \"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3\",\n \"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3\",\n\n // Focus state.\n \"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]\",\n\n // Error state.\n \"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40\",\n\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n \"inline-start\": \"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]\",\n \"inline-end\": \"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5\",\n \"block-end\":\n \"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\"text-sm shadow-none flex gap-2 items-center\", {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: \"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n});\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({ className, ...props }: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"names":["InputGroup","className","props","jsx","cn","inputGroupAddonVariants","cva","InputGroupAddon","align","e","inputGroupButtonVariants","InputGroupButton","type","variant","size","Button","InputGroupText","InputGroupInput","Input","InputGroupTextarea","Textarea"],"mappings":";;;;;;AAUA,SAASA,EAAW,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC;AAAA,QACT;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA;AAAA,QAGA;AAAA,QAEAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMG,IAA0BC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,gBAAgB;AAAA,QAChB,cAAc;AAAA,QACd,eACE;AAAA,QACF,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,SAASC,EAAgB;AAAA,EACvB,WAAAN;AAAA,EACA,OAAAO,IAAQ;AAAA,EACR,GAAGN;AACL,GAA+E;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYK;AAAA,MACZ,WAAWJ,EAAGC,EAAwB,EAAE,OAAAG,EAAA,CAAO,GAAGP,CAAS;AAAA,MAC3D,SAAS,CAACQ,MAAM;AACd,QAAKA,EAAE,OAAuB,QAAQ,QAAQ,KAG9CA,EAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAA;AAAA,MACzD;AAAA,MACC,GAAGP;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMQ,IAA2BJ,EAAI,+CAA+C;AAAA,EAClF,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW;AAAA,IAAA;AAAA,EACb;AAAA,EAEF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAC;AAED,SAASK,EAAiB;AAAA,EACxB,WAAAV;AAAA,EACA,MAAAW,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,GAAGZ;AACL,GACiD;AAC/C,SACE,gBAAAC;AAAA,IAACY;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,aAAWE;AAAA,MACX,SAAAD;AAAA,MACA,WAAWT,EAAGM,EAAyB,EAAE,MAAAI,EAAA,CAAM,GAAGb,CAAS;AAAA,MAC1D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASc,EAAe,EAAE,WAAAf,GAAW,GAAGC,KAAuC;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASe,EAAgB,EAAE,WAAAhB,GAAW,GAAGC,KAAwC;AAC/E,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWd;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAmB,EAAE,WAAAlB,GAAW,GAAGC,KAA2C;AACrF,SACE,gBAAAC;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWhB;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as u } from "react/jsx-runtime";
2
2
  import * as c from "react";
3
3
  import { OTPInput as l, OTPInputContext as p } from "input-otp";
4
4
  import { MinusIcon as m } from "lucide-react";
5
- import { cn as a } from "../lib/utils.js";
5
+ import { cn as a } from "../../lib/utils.js";
6
6
  function g({
7
7
  className: t,
8
8
  containerClassName: r,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.js","sources":["../../../src/components/primitives/input-otp.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\nimport { MinusIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string;\n}) {\n return (\n <OTPInput\n data-slot=\"input-otp\"\n containerClassName={cn(\"flex items-center gap-2 has-disabled:opacity-50\", containerClassName)}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n );\n}\n\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-group\" className={cn(\"flex items-center\", className)} {...props} />\n );\n}\n\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n index: number;\n}) {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot=\"input-otp-slot\"\n data-active={isActive}\n className={cn(\n \"data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive dark:bg-input/30 border-input relative flex h-9 w-9 items-center justify-center border-y border-r text-sm shadow-xs transition-all outline-none first:rounded-l-md first:border-l last:rounded-r-md data-[active=true]:z-10 data-[active=true]:ring-[3px]\",\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n}\n\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"input-otp-separator\" role=\"separator\" {...props}>\n <MinusIcon />\n </div>\n );\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"names":["jsx","jsxs","React","OTPInput","OTPInputContext","MinusIcon","cn","InputOTP","className","containerClassName","props","InputOTPGroup","InputOTPSlot","index","inputOTPContext","char","hasFakeCaret","isActive","InputOTPSeparator"],"mappings":"AAMA,SAAA,OAAAA,GAAA,QAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,YAAAC,GAAA,mBAAAC,SAAA;AAAA,SAAA,aAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,SAASC,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACL,GAEG;AACD,SACE,gBAAAV;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,oBAAoBG,EAAG,mDAAmDG,CAAkB;AAAA,MAC5F,WAAWH,EAAG,+BAA+BE,CAAS;AAAA,MACrD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASC,EAAc,EAAE,WAAAH,GAAW,GAAGE,KAAsC;AAC3E,SACE,gBAAAV,EAAC,OAAA,EAAI,aAAU,mBAAkB,WAAWM,EAAG,qBAAqBE,CAAS,GAAI,GAAGE,EAAA,CAAO;AAE/F;AAEA,SAASE,EAAa;AAAA,EACpB,OAAAC;AAAA,EACA,WAAAL;AAAA,EACA,GAAGE;AACL,GAEG;AACD,QAAMI,IAAkBZ,EAAM,WAAWE,CAAe,GAClD,EAAE,MAAAW,GAAM,cAAAC,GAAc,UAAAC,EAAA,IAAaH,GAAiB,MAAMD,CAAK,KAAK,CAAA;AAE1E,SACE,gBAAAZ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAagB;AAAA,MACb,WAAWX;AAAA,QACT;AAAA,QACAE;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,uBACE,OAAA,EAAI,WAAU,yEACb,UAAA,gBAAAhB,EAAC,OAAA,EAAI,WAAU,2DAAA,CAA2D,EAAA,CAC5E;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEA,SAASkB,EAAkB,EAAE,GAAGR,KAAsC;AACpE,SACE,gBAAAV,EAAC,OAAA,EAAI,aAAU,uBAAsB,MAAK,aAAa,GAAGU,GACxD,UAAA,gBAAAV,EAACK,GAAA,CAAA,CAAU,EAAA,CACb;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { cn as n } from "../lib/utils.js";
2
+ import { cn as n } from "../../lib/utils.js";
3
3
  function a({ className: e, type: i, ...r }) {
4
4
  return /* @__PURE__ */ t(
5
5
  "input",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sources":["../../../src/components/primitives/input.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"names":["Input","className","type","props","jsx","cn"],"mappings":";;AAIA,SAASA,EAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,KAAwC;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAF;AAAA,MACA,aAAU;AAAA,MACV,WAAWG;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,5 +1,5 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
- import { Separator } from './separator';
2
+ import { Separator } from '../primitives/separator';
3
3
  import * as React from "react";
4
4
  declare function ItemGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
5
  declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
@@ -11,7 +11,7 @@ declare function Item({ className, variant, size, asChild, ...props }: React.Com
11
11
  asChild?: boolean;
12
12
  }): import("react/jsx-runtime").JSX.Element;
13
13
  declare const itemMediaVariants: (props?: ({
14
- variant?: "default" | "icon" | "image" | null | undefined;
14
+ variant?: "image" | "default" | "icon" | null | undefined;
15
15
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
16
16
  declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): import("react/jsx-runtime").JSX.Element;
17
17
  declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import { Slot as l } from "@radix-ui/react-slot";
3
3
  import { cva as n } from "class-variance-authority";
4
- import { cn as i } from "../lib/utils.js";
4
+ import { cn as i } from "../../lib/utils.js";
5
5
  import { Separator as m } from "./separator.js";
6
6
  function b({ className: e, ...t }) {
7
7
  return /* @__PURE__ */ a(
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","sources":["../../../src/components/primitives/item.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Separator } from \"../primitives/separator\";\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\"group/item-group flex flex-col\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-0\", className)}\n {...props}\n />\n );\n}\n\nconst itemVariants = cva(\n \"group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-border\",\n muted: \"bg-muted/50\",\n },\n size: {\n default: \"p-4 gap-4 \",\n sm: \"py-3 px-4 gap-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4\",\n image: \"size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\"flex w-fit items-center gap-2 text-sm leading-snug font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n \"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div data-slot=\"item-actions\" className={cn(\"flex items-center gap-2\", className)} {...props} />\n );\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n};\n"],"names":["ItemGroup","className","props","jsx","cn","ItemSeparator","Separator","itemVariants","cva","Item","variant","size","asChild","Slot","itemMediaVariants","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { cn as o } from "../lib/utils.js";
2
+ import { cn as o } from "../../lib/utils.js";
3
3
  function r({ className: t, ...e }) {
4
4
  return /* @__PURE__ */ n(
5
5
  "kbd",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.js","sources":["../../../src/components/primitives/kbd.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\n\nfunction Kbd({ className, ...props }: React.ComponentProps<\"kbd\">) {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium select-none\",\n \"[&_svg:not([class*='size-'])]:size-3\",\n \"[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction KbdGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <kbd\n data-slot=\"kbd-group\"\n className={cn(\"inline-flex items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nexport { Kbd, KbdGroup };\n"],"names":["Kbd","className","props","jsx","cn","KbdGroup"],"mappings":";;AAEA,SAASA,EAAI,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AACjE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAS,EAAE,WAAAJ,GAAW,GAAGC,KAAsC;AACtE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,kCAAkCH,CAAS;AAAA,MACxD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import * as a from "@radix-ui/react-label";
3
- import { cn as r } from "../lib/utils.js";
3
+ import { cn as r } from "../../lib/utils.js";
4
4
  function l({ className: e, ...t }) {
5
5
  return /* @__PURE__ */ o(
6
6
  a.Root,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sources":["../../../src/components/primitives/label.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"names":["Label","className","props","jsx","LabelPrimitive","cn"],"mappings":";;;AAOA,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAA2D;AACxF,SACE,gBAAAC;AAAA,IAACC,EAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ interface LoadingSwapProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ isLoading: boolean;
4
+ loadingNode?: React.ReactNode;
5
+ }
6
+ declare const LoadingSwap: React.ForwardRefExoticComponent<LoadingSwapProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { LoadingSwap };
8
+ export type { LoadingSwapProps };
@@ -0,0 +1,25 @@
1
+ import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
+ import * as m from "react";
3
+ import { Spinner as p } from "./spinner.js";
4
+ import { cn as a } from "../../lib/utils.js";
5
+ const d = m.forwardRef(
6
+ ({ isLoading: e, loadingNode: i, children: r, className: n, ...s }, o) => /* @__PURE__ */ c(
7
+ "div",
8
+ {
9
+ ref: o,
10
+ className: a("relative inline-flex items-center justify-center", n),
11
+ "data-testid": "loading-swap-container",
12
+ "aria-busy": e,
13
+ ...s,
14
+ children: [
15
+ e && /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center", "aria-hidden": "true", children: i || /* @__PURE__ */ t(p, {}) }),
16
+ /* @__PURE__ */ t("div", { className: a("transition-opacity", e ? "opacity-0" : "opacity-100"), children: r })
17
+ ]
18
+ }
19
+ )
20
+ );
21
+ d.displayName = "LoadingSwap";
22
+ export {
23
+ d as LoadingSwap
24
+ };
25
+ //# sourceMappingURL=loading-swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-swap.js","sources":["../../../src/components/primitives/loading-swap.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Spinner } from \"./spinner\";\nimport { cn } from \"@/lib/utils\";\n\ninterface LoadingSwapProps extends React.HTMLAttributes<HTMLDivElement> {\n isLoading: boolean;\n loadingNode?: React.ReactNode;\n}\n\nconst LoadingSwap = React.forwardRef<HTMLDivElement, LoadingSwapProps>(\n ({ isLoading, loadingNode, children, className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"relative inline-flex items-center justify-center\", className)}\n data-testid=\"loading-swap-container\"\n aria-busy={isLoading}\n {...props}\n >\n {isLoading && (\n <div className=\"absolute inset-0 flex items-center justify-center\" aria-hidden=\"true\">\n {loadingNode || <Spinner />}\n </div>\n )}\n <div className={cn(\"transition-opacity\", isLoading ? \"opacity-0\" : \"opacity-100\")}>\n {children}\n </div>\n </div>\n );\n },\n);\n\nLoadingSwap.displayName = \"LoadingSwap\";\n\nexport { LoadingSwap };\nexport type { LoadingSwapProps };\n"],"names":["jsxs","jsx","React","Spinner","cn","LoadingSwap","isLoading","loadingNode","children","className","props","ref"],"mappings":"AAWA,SAAA,QAAAA,GAAA,OAAAC,SAAA;AAAA,YAAAC,OAAA;AAAA,SAAA,WAAAC,SAAA;AAAA,SAAA,MAAAC,SAAA;AAAA,MAAMC,IAAcH,EAAM;AAAA,EACxB,CAAC,EAAE,WAAAI,GAAW,aAAAC,GAAa,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAExD,gBAAAX;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAW;AAAA,MACA,WAAWP,EAAG,oDAAoDK,CAAS;AAAA,MAC3E,eAAY;AAAA,MACZ,aAAWH;AAAA,MACV,GAAGI;AAAA,MAEH,UAAA;AAAA,QAAAJ,KACC,gBAAAL,EAAC,SAAI,WAAU,qDAAoD,eAAY,QAC5E,UAAAM,KAAe,gBAAAN,EAACE,GAAA,CAAA,CAAQ,EAAA,CAC3B;AAAA,QAEF,gBAAAF,EAAC,SAAI,WAAWG,EAAG,sBAAsBE,IAAY,cAAc,aAAa,GAC7E,UAAAE,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAH,EAAY,cAAc;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as a, jsxs as d } from "react/jsx-runtime";
2
2
  import * as n from "@radix-ui/react-menubar";
3
3
  import { CheckIcon as u, CircleIcon as c, ChevronRightIcon as l } from "lucide-react";
4
- import { cn as o } from "../lib/utils.js";
4
+ import { cn as o } from "../../lib/utils.js";
5
5
  function g({ className: e, ...t }) {
6
6
  return /* @__PURE__ */ a(
7
7
  n.Root,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.js","sources":["../../../src/components/primitives/menubar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n \"bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"names":["Menubar","className","props","jsx","MenubarPrimitive","cn","MenubarMenu","MenubarGroup","MenubarPortal","MenubarRadioGroup","MenubarTrigger","MenubarContent","align","alignOffset","sideOffset","MenubarItem","inset","variant","MenubarCheckboxItem","children","checked","jsxs","CheckIcon","MenubarRadioItem","CircleIcon","MenubarLabel","MenubarSeparator","MenubarShortcut","MenubarSub","MenubarSubTrigger","ChevronRightIcon","MenubarSubContent"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const navigationMenuTriggerStyle: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
@@ -0,0 +1,8 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ const o = e(
3
+ "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 cursor-pointer"
4
+ );
5
+ export {
6
+ o as navigationMenuTriggerStyle
7
+ };
8
+ //# sourceMappingURL=navigation-menu-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu-variants.js","sources":["../../../src/components/primitives/navigation-menu-variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 cursor-pointer\",\n);\n"],"names":["navigationMenuTriggerStyle","cva"],"mappings":";AAEO,MAAMA,IAA6BC;AAAA,EACxC;AACF;"}
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
3
+ declare const NavigationMenu: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuProps & React.RefAttributes<HTMLElement>, "ref"> & {
4
+ viewport?: boolean;
5
+ } & React.RefAttributes<HTMLElement>>;
6
+ declare const NavigationMenuList: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuListProps & React.RefAttributes<HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
7
+ declare const NavigationMenuItem: React.ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuItemProps & React.RefAttributes<HTMLLIElement>>;
8
+ declare const NavigationMenuTrigger: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const NavigationMenuContent: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const NavigationMenuViewport: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuViewportProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const NavigationMenuLink: React.ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuLinkProps & React.RefAttributes<HTMLAnchorElement>>;
12
+ declare const NavigationMenuIndicator: React.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuIndicatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport, };
@@ -0,0 +1,102 @@
1
+ import { jsxs as s, jsx as o } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import * as i from "@radix-ui/react-navigation-menu";
4
+ import { ChevronDownIcon as l } from "lucide-react";
5
+ import { cn as n } from "../../lib/utils.js";
6
+ import { navigationMenuTriggerStyle as g } from "./navigation-menu-variants.js";
7
+ const p = r.forwardRef(({ className: t, children: e, viewport: a = !0, ...d }, u) => /* @__PURE__ */ s(
8
+ i.Root,
9
+ {
10
+ ref: u,
11
+ "data-slot": "navigation-menu",
12
+ "data-viewport": a,
13
+ className: n(
14
+ "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
15
+ t
16
+ ),
17
+ ...d,
18
+ children: [
19
+ e,
20
+ a && /* @__PURE__ */ o(m, {})
21
+ ]
22
+ }
23
+ )), v = r.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ o(
24
+ i.List,
25
+ {
26
+ ref: a,
27
+ "data-slot": "navigation-menu-list",
28
+ className: n("group flex flex-1 list-none items-center justify-center gap-1", t),
29
+ ...e
30
+ }
31
+ )), y = i.Item, f = r.forwardRef(({ className: t, children: e, ...a }, d) => /* @__PURE__ */ s(
32
+ i.Trigger,
33
+ {
34
+ ref: d,
35
+ "data-slot": "navigation-menu-trigger",
36
+ className: n(g(), "group", t),
37
+ ...a,
38
+ children: [
39
+ e,
40
+ " ",
41
+ /* @__PURE__ */ o(
42
+ l,
43
+ {
44
+ className: "relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
45
+ "aria-hidden": "true"
46
+ }
47
+ )
48
+ ]
49
+ }
50
+ )), c = r.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ o(
51
+ i.Content,
52
+ {
53
+ ref: a,
54
+ "data-slot": "navigation-menu-content",
55
+ className: n(
56
+ "data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto",
57
+ "group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none",
58
+ t
59
+ ),
60
+ ...e
61
+ }
62
+ )), m = r.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ o("div", { className: n("absolute top-full left-0 isolate z-50 flex justify-center"), children: /* @__PURE__ */ o(
63
+ i.Viewport,
64
+ {
65
+ ref: a,
66
+ "data-slot": "navigation-menu-viewport",
67
+ className: n(
68
+ "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border shadow md:w-(--radix-navigation-menu-viewport-width)",
69
+ t
70
+ ),
71
+ ...e
72
+ }
73
+ ) })), b = i.Link, w = r.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ o(
74
+ i.Indicator,
75
+ {
76
+ ref: a,
77
+ "data-slot": "navigation-menu-indicator",
78
+ className: n(
79
+ "data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-1 flex h-1.5 items-end justify-center overflow-hidden",
80
+ t
81
+ ),
82
+ ...e,
83
+ children: /* @__PURE__ */ o("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
84
+ }
85
+ ));
86
+ p.displayName = "NavigationMenu";
87
+ v.displayName = "NavigationMenuList";
88
+ f.displayName = "NavigationMenuTrigger";
89
+ c.displayName = "NavigationMenuContent";
90
+ m.displayName = "NavigationMenuViewport";
91
+ w.displayName = "NavigationMenuIndicator";
92
+ export {
93
+ p as NavigationMenu,
94
+ c as NavigationMenuContent,
95
+ w as NavigationMenuIndicator,
96
+ y as NavigationMenuItem,
97
+ b as NavigationMenuLink,
98
+ v as NavigationMenuList,
99
+ f as NavigationMenuTrigger,
100
+ m as NavigationMenuViewport
101
+ };
102
+ //# sourceMappingURL=navigation-menu.js.map