@betterinternship/components 2.4.1 → 2.4.3

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 (542) hide show
  1. package/dist/components/ui/accordion.js +5 -5
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/app-header.d.ts +8 -1
  4. package/dist/components/ui/app-header.js +18 -18
  5. package/dist/components/ui/app-header.js.map +1 -1
  6. package/dist/components/ui/avatar.js +4 -4
  7. package/dist/components/ui/avatar.js.map +1 -1
  8. package/dist/components/ui/badge.js +3 -3
  9. package/dist/components/ui/badge.js.map +1 -1
  10. package/dist/components/ui/button.js +2 -2
  11. package/dist/components/ui/button.js.map +1 -1
  12. package/dist/components/ui/card.js +8 -8
  13. package/dist/components/ui/card.js.map +1 -1
  14. package/dist/components/ui/checkbox.js +2 -2
  15. package/dist/components/ui/checkbox.js.map +1 -1
  16. package/dist/components/ui/dialog.js +12 -12
  17. package/dist/components/ui/dialog.js.map +1 -1
  18. package/dist/components/ui/dropdown-menu.js +16 -16
  19. package/dist/components/ui/dropdown-menu.js.map +1 -1
  20. package/dist/components/ui/icons.js +12 -12
  21. package/dist/components/ui/icons.js.map +1 -1
  22. package/dist/components/ui/input.js +3 -3
  23. package/dist/components/ui/input.js.map +1 -1
  24. package/dist/components/ui/label.js +2 -2
  25. package/dist/components/ui/label.js.map +1 -1
  26. package/dist/components/ui/page-header.d.ts +2 -1
  27. package/dist/components/ui/page-header.js +5 -5
  28. package/dist/components/ui/page-header.js.map +1 -1
  29. package/dist/components/ui/popover.js +5 -5
  30. package/dist/components/ui/popover.js.map +1 -1
  31. package/dist/components/ui/separator.js +2 -2
  32. package/dist/components/ui/separator.js.map +1 -1
  33. package/dist/components/ui/skeleton.js +2 -2
  34. package/dist/components/ui/skeleton.js.map +1 -1
  35. package/dist/components/ui/status-notice.js +4 -4
  36. package/dist/components/ui/status-notice.js.map +1 -1
  37. package/dist/components/ui/switch.js +2 -2
  38. package/dist/components/ui/switch.js.map +1 -1
  39. package/dist/components/ui/table.js +9 -9
  40. package/dist/components/ui/table.js.map +1 -1
  41. package/dist/components/ui/textarea.js +2 -2
  42. package/dist/components/ui/textarea.js.map +1 -1
  43. package/dist/components/ui/tooltip.js +5 -5
  44. package/dist/components/ui/tooltip.js.map +1 -1
  45. package/dist/hooks/useClientProcess.js +2 -2
  46. package/dist/index.d.ts +4 -4
  47. package/dist/index.js +4 -4
  48. package/package.json +2 -2
  49. package/dist/_virtual/_commonjsHelpers.js +0 -6
  50. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  51. package/dist/_virtual/_interop_require_default.js +0 -4
  52. package/dist/_virtual/_interop_require_default.js.map +0 -1
  53. package/dist/_virtual/_interop_require_wildcard.js +0 -4
  54. package/dist/_virtual/_interop_require_wildcard.js.map +0 -1
  55. package/dist/_virtual/action-async-storage-instance.js +0 -4
  56. package/dist/_virtual/action-async-storage-instance.js.map +0 -1
  57. package/dist/_virtual/action-async-storage.external.js +0 -4
  58. package/dist/_virtual/action-async-storage.external.js.map +0 -1
  59. package/dist/_virtual/action-revalidation-kind.js +0 -4
  60. package/dist/_virtual/action-revalidation-kind.js.map +0 -1
  61. package/dist/_virtual/add-base-path.js +0 -4
  62. package/dist/_virtual/add-base-path.js.map +0 -1
  63. package/dist/_virtual/add-locale.js +0 -4
  64. package/dist/_virtual/add-locale.js.map +0 -1
  65. package/dist/_virtual/add-locale2.js +0 -4
  66. package/dist/_virtual/add-locale2.js.map +0 -1
  67. package/dist/_virtual/add-path-prefix.js +0 -4
  68. package/dist/_virtual/add-path-prefix.js.map +0 -1
  69. package/dist/_virtual/app-paths.js +0 -4
  70. package/dist/_virtual/app-paths.js.map +0 -1
  71. package/dist/_virtual/app-router-context.shared-runtime.js +0 -4
  72. package/dist/_virtual/app-router-context.shared-runtime.js.map +0 -1
  73. package/dist/_virtual/app.js +0 -4
  74. package/dist/_virtual/app.js.map +0 -1
  75. package/dist/_virtual/async-local-storage.js +0 -4
  76. package/dist/_virtual/async-local-storage.js.map +0 -1
  77. package/dist/_virtual/bailout-to-csr.js +0 -4
  78. package/dist/_virtual/bailout-to-csr.js.map +0 -1
  79. package/dist/_virtual/blocking-route-messages.js +0 -4
  80. package/dist/_virtual/blocking-route-messages.js.map +0 -1
  81. package/dist/_virtual/boundary-constants.js +0 -4
  82. package/dist/_virtual/boundary-constants.js.map +0 -1
  83. package/dist/_virtual/boundary-constants2.js +0 -4
  84. package/dist/_virtual/boundary-constants2.js.map +0 -1
  85. package/dist/_virtual/boundary-tracking.js +0 -4
  86. package/dist/_virtual/boundary-tracking.js.map +0 -1
  87. package/dist/_virtual/constants.js +0 -4
  88. package/dist/_virtual/constants.js.map +0 -1
  89. package/dist/_virtual/cookies.js +0 -4
  90. package/dist/_virtual/cookies.js.map +0 -1
  91. package/dist/_virtual/deployment-id.js +0 -4
  92. package/dist/_virtual/deployment-id.js.map +0 -1
  93. package/dist/_virtual/detect-domain-locale.js +0 -4
  94. package/dist/_virtual/detect-domain-locale.js.map +0 -1
  95. package/dist/_virtual/detect-domain-locale2.js +0 -4
  96. package/dist/_virtual/detect-domain-locale2.js.map +0 -1
  97. package/dist/_virtual/dynamic-rendering-utils.js +0 -4
  98. package/dist/_virtual/dynamic-rendering-utils.js.map +0 -1
  99. package/dist/_virtual/dynamic-rendering.js +0 -4
  100. package/dist/_virtual/dynamic-rendering.js.map +0 -1
  101. package/dist/_virtual/ensure-leading-slash.js +0 -4
  102. package/dist/_virtual/ensure-leading-slash.js.map +0 -1
  103. package/dist/_virtual/error-once.js +0 -4
  104. package/dist/_virtual/error-once.js.map +0 -1
  105. package/dist/_virtual/escape-regexp.js +0 -4
  106. package/dist/_virtual/escape-regexp.js.map +0 -1
  107. package/dist/_virtual/find-closest-quality.js +0 -4
  108. package/dist/_virtual/find-closest-quality.js.map +0 -1
  109. package/dist/_virtual/forbidden.js +0 -4
  110. package/dist/_virtual/forbidden.js.map +0 -1
  111. package/dist/_virtual/format-url.js +0 -4
  112. package/dist/_virtual/format-url.js.map +0 -1
  113. package/dist/_virtual/get-domain-locale.js +0 -4
  114. package/dist/_virtual/get-domain-locale.js.map +0 -1
  115. package/dist/_virtual/get-dynamic-param.js +0 -4
  116. package/dist/_virtual/get-dynamic-param.js.map +0 -1
  117. package/dist/_virtual/get-img-props.js +0 -4
  118. package/dist/_virtual/get-img-props.js.map +0 -1
  119. package/dist/_virtual/get-segment-param.js +0 -4
  120. package/dist/_virtual/get-segment-param.js.map +0 -1
  121. package/dist/_virtual/has-base-path.js +0 -4
  122. package/dist/_virtual/has-base-path.js.map +0 -1
  123. package/dist/_virtual/head-manager-context.shared-runtime.js +0 -4
  124. package/dist/_virtual/head-manager-context.shared-runtime.js.map +0 -1
  125. package/dist/_virtual/head.js +0 -4
  126. package/dist/_virtual/head.js.map +0 -1
  127. package/dist/_virtual/headers.js +0 -4
  128. package/dist/_virtual/headers.js.map +0 -1
  129. package/dist/_virtual/hooks-client-context.shared-runtime.js +0 -4
  130. package/dist/_virtual/hooks-client-context.shared-runtime.js.map +0 -1
  131. package/dist/_virtual/hooks-server-context.js +0 -4
  132. package/dist/_virtual/hooks-server-context.js.map +0 -1
  133. package/dist/_virtual/http-access-fallback.js +0 -4
  134. package/dist/_virtual/http-access-fallback.js.map +0 -1
  135. package/dist/_virtual/image-blur-svg.js +0 -4
  136. package/dist/_virtual/image-blur-svg.js.map +0 -1
  137. package/dist/_virtual/image-component.js +0 -4
  138. package/dist/_virtual/image-component.js.map +0 -1
  139. package/dist/_virtual/image-config-context.shared-runtime.js +0 -4
  140. package/dist/_virtual/image-config-context.shared-runtime.js.map +0 -1
  141. package/dist/_virtual/image-config.js +0 -4
  142. package/dist/_virtual/image-config.js.map +0 -1
  143. package/dist/_virtual/image-external.js +0 -4
  144. package/dist/_virtual/image-external.js.map +0 -1
  145. package/dist/_virtual/image-loader.js +0 -4
  146. package/dist/_virtual/image-loader.js.map +0 -1
  147. package/dist/_virtual/image.js +0 -8
  148. package/dist/_virtual/image.js.map +0 -1
  149. package/dist/_virtual/index.js +0 -4
  150. package/dist/_virtual/index.js.map +0 -1
  151. package/dist/_virtual/index2.js +0 -4
  152. package/dist/_virtual/index2.js.map +0 -1
  153. package/dist/_virtual/index3.js +0 -4
  154. package/dist/_virtual/index3.js.map +0 -1
  155. package/dist/_virtual/instant-messages.js +0 -4
  156. package/dist/_virtual/instant-messages.js.map +0 -1
  157. package/dist/_virtual/instant-samples.js +0 -4
  158. package/dist/_virtual/instant-samples.js.map +0 -1
  159. package/dist/_virtual/instant-samples2.js +0 -4
  160. package/dist/_virtual/instant-samples2.js.map +0 -1
  161. package/dist/_virtual/instant-validation-error.js +0 -4
  162. package/dist/_virtual/instant-validation-error.js.map +0 -1
  163. package/dist/_virtual/interception-prefix-from-param-type.js +0 -4
  164. package/dist/_virtual/interception-prefix-from-param-type.js.map +0 -1
  165. package/dist/_virtual/interception-routes.js +0 -4
  166. package/dist/_virtual/interception-routes.js.map +0 -1
  167. package/dist/_virtual/interpolate-as.js +0 -4
  168. package/dist/_virtual/interpolate-as.js.map +0 -1
  169. package/dist/_virtual/invariant-error.js +0 -4
  170. package/dist/_virtual/invariant-error.js.map +0 -1
  171. package/dist/_virtual/is-dynamic.js +0 -4
  172. package/dist/_virtual/is-dynamic.js.map +0 -1
  173. package/dist/_virtual/is-local-url.js +0 -4
  174. package/dist/_virtual/is-local-url.js.map +0 -1
  175. package/dist/_virtual/is-next-router-error.js +0 -4
  176. package/dist/_virtual/is-next-router-error.js.map +0 -1
  177. package/dist/_virtual/is-postpone.js +0 -4
  178. package/dist/_virtual/is-postpone.js.map +0 -1
  179. package/dist/_virtual/jsx-runtime.js +0 -6
  180. package/dist/_virtual/jsx-runtime.js.map +0 -1
  181. package/dist/_virtual/jsx-runtime2.js +0 -4
  182. package/dist/_virtual/jsx-runtime2.js.map +0 -1
  183. package/dist/_virtual/link.js +0 -8
  184. package/dist/_virtual/link.js.map +0 -1
  185. package/dist/_virtual/link2.js +0 -4
  186. package/dist/_virtual/link2.js.map +0 -1
  187. package/dist/_virtual/match-local-pattern.js +0 -4
  188. package/dist/_virtual/match-local-pattern.js.map +0 -1
  189. package/dist/_virtual/match-remote-pattern.js +0 -4
  190. package/dist/_virtual/match-remote-pattern.js.map +0 -1
  191. package/dist/_virtual/navigation-dynamic-rendering.js +0 -4
  192. package/dist/_virtual/navigation-dynamic-rendering.js.map +0 -1
  193. package/dist/_virtual/navigation.js +0 -6
  194. package/dist/_virtual/navigation.js.map +0 -1
  195. package/dist/_virtual/navigation.react-server.js +0 -4
  196. package/dist/_virtual/navigation.react-server.js.map +0 -1
  197. package/dist/_virtual/navigation2.js +0 -4
  198. package/dist/_virtual/navigation2.js.map +0 -1
  199. package/dist/_virtual/normalize-locale-path.js +0 -4
  200. package/dist/_virtual/normalize-locale-path.js.map +0 -1
  201. package/dist/_virtual/normalize-locale-path2.js +0 -4
  202. package/dist/_virtual/normalize-locale-path2.js.map +0 -1
  203. package/dist/_virtual/normalize-trailing-slash.js +0 -4
  204. package/dist/_virtual/normalize-trailing-slash.js.map +0 -1
  205. package/dist/_virtual/not-found.js +0 -4
  206. package/dist/_virtual/not-found.js.map +0 -1
  207. package/dist/_virtual/omit.js +0 -4
  208. package/dist/_virtual/omit.js.map +0 -1
  209. package/dist/_virtual/parse-loader-tree.js +0 -4
  210. package/dist/_virtual/parse-loader-tree.js.map +0 -1
  211. package/dist/_virtual/parse-path.js +0 -4
  212. package/dist/_virtual/parse-path.js.map +0 -1
  213. package/dist/_virtual/parse-relative-url.js +0 -4
  214. package/dist/_virtual/parse-relative-url.js.map +0 -1
  215. package/dist/_virtual/path-has-prefix.js +0 -4
  216. package/dist/_virtual/path-has-prefix.js.map +0 -1
  217. package/dist/_virtual/promise-with-resolvers.js +0 -4
  218. package/dist/_virtual/promise-with-resolvers.js.map +0 -1
  219. package/dist/_virtual/querystring.js +0 -4
  220. package/dist/_virtual/querystring.js.map +0 -1
  221. package/dist/_virtual/react-jsx-runtime.development.js +0 -4
  222. package/dist/_virtual/react-jsx-runtime.development.js.map +0 -1
  223. package/dist/_virtual/react-jsx-runtime.production.js +0 -4
  224. package/dist/_virtual/react-jsx-runtime.production.js.map +0 -1
  225. package/dist/_virtual/readonly-url-search-params.js +0 -4
  226. package/dist/_virtual/readonly-url-search-params.js.map +0 -1
  227. package/dist/_virtual/redirect-error.js +0 -4
  228. package/dist/_virtual/redirect-error.js.map +0 -1
  229. package/dist/_virtual/redirect-status-code.js +0 -4
  230. package/dist/_virtual/redirect-status-code.js.map +0 -1
  231. package/dist/_virtual/redirect.js +0 -4
  232. package/dist/_virtual/redirect.js.map +0 -1
  233. package/dist/_virtual/reflect-utils.js +0 -4
  234. package/dist/_virtual/reflect-utils.js.map +0 -1
  235. package/dist/_virtual/reflect.js +0 -4
  236. package/dist/_virtual/reflect.js.map +0 -1
  237. package/dist/_virtual/remove-trailing-slash.js +0 -4
  238. package/dist/_virtual/remove-trailing-slash.js.map +0 -1
  239. package/dist/_virtual/request-cookies.js +0 -4
  240. package/dist/_virtual/request-cookies.js.map +0 -1
  241. package/dist/_virtual/request-idle-callback.js +0 -4
  242. package/dist/_virtual/request-idle-callback.js.map +0 -1
  243. package/dist/_virtual/resolve-href.js +0 -4
  244. package/dist/_virtual/resolve-href.js.map +0 -1
  245. package/dist/_virtual/resolve-param-value.js +0 -4
  246. package/dist/_virtual/resolve-param-value.js.map +0 -1
  247. package/dist/_virtual/route-match-utils.js +0 -4
  248. package/dist/_virtual/route-match-utils.js.map +0 -1
  249. package/dist/_virtual/route-matcher.js +0 -4
  250. package/dist/_virtual/route-matcher.js.map +0 -1
  251. package/dist/_virtual/route-pattern-normalizer.js +0 -4
  252. package/dist/_virtual/route-pattern-normalizer.js.map +0 -1
  253. package/dist/_virtual/route-regex.js +0 -4
  254. package/dist/_virtual/route-regex.js.map +0 -1
  255. package/dist/_virtual/router-context.shared-runtime.js +0 -4
  256. package/dist/_virtual/router-context.shared-runtime.js.map +0 -1
  257. package/dist/_virtual/runtime-reacts.external.js +0 -4
  258. package/dist/_virtual/runtime-reacts.external.js.map +0 -1
  259. package/dist/_virtual/scheduler.js +0 -4
  260. package/dist/_virtual/scheduler.js.map +0 -1
  261. package/dist/_virtual/segment.js +0 -4
  262. package/dist/_virtual/segment.js.map +0 -1
  263. package/dist/_virtual/server-async-storage.js +0 -4
  264. package/dist/_virtual/server-async-storage.js.map +0 -1
  265. package/dist/_virtual/server-inserted-html.shared-runtime.js +0 -4
  266. package/dist/_virtual/server-inserted-html.shared-runtime.js.map +0 -1
  267. package/dist/_virtual/side-effect.js +0 -4
  268. package/dist/_virtual/side-effect.js.map +0 -1
  269. package/dist/_virtual/sorted-routes.js +0 -4
  270. package/dist/_virtual/sorted-routes.js.map +0 -1
  271. package/dist/_virtual/staged-rendering.js +0 -4
  272. package/dist/_virtual/staged-rendering.js.map +0 -1
  273. package/dist/_virtual/static-generation-bailout.js +0 -4
  274. package/dist/_virtual/static-generation-bailout.js.map +0 -1
  275. package/dist/_virtual/unauthorized.js +0 -4
  276. package/dist/_virtual/unauthorized.js.map +0 -1
  277. package/dist/_virtual/unrecognized-action-error.js +0 -4
  278. package/dist/_virtual/unrecognized-action-error.js.map +0 -1
  279. package/dist/_virtual/unstable-rethrow.js +0 -4
  280. package/dist/_virtual/unstable-rethrow.js.map +0 -1
  281. package/dist/_virtual/use-intersection.js +0 -4
  282. package/dist/_virtual/use-intersection.js.map +0 -1
  283. package/dist/_virtual/use-merged-ref.js +0 -4
  284. package/dist/_virtual/use-merged-ref.js.map +0 -1
  285. package/dist/_virtual/utils.js +0 -4
  286. package/dist/_virtual/utils.js.map +0 -1
  287. package/dist/_virtual/warn-once.js +0 -4
  288. package/dist/_virtual/warn-once.js.map +0 -1
  289. package/dist/_virtual/work-async-storage-instance.js +0 -4
  290. package/dist/_virtual/work-async-storage-instance.js.map +0 -1
  291. package/dist/_virtual/work-async-storage.external.js +0 -4
  292. package/dist/_virtual/work-async-storage.external.js.map +0 -1
  293. package/dist/_virtual/work-unit-async-storage-instance.js +0 -4
  294. package/dist/_virtual/work-unit-async-storage-instance.js.map +0 -1
  295. package/dist/_virtual/work-unit-async-storage.external.js +0 -4
  296. package/dist/_virtual/work-unit-async-storage.external.js.map +0 -1
  297. package/dist/node_modules/@swc/helpers/cjs/_interop_require_default.js +0 -17
  298. package/dist/node_modules/@swc/helpers/cjs/_interop_require_default.js.map +0 -1
  299. package/dist/node_modules/@swc/helpers/cjs/_interop_require_wildcard.js +0 -49
  300. package/dist/node_modules/@swc/helpers/cjs/_interop_require_wildcard.js.map +0 -1
  301. package/dist/node_modules/next/dist/client/add-base-path.js +0 -39
  302. package/dist/node_modules/next/dist/client/add-base-path.js.map +0 -1
  303. package/dist/node_modules/next/dist/client/add-locale.js +0 -40
  304. package/dist/node_modules/next/dist/client/add-locale.js.map +0 -1
  305. package/dist/node_modules/next/dist/client/components/forbidden.js +0 -62
  306. package/dist/node_modules/next/dist/client/components/forbidden.js.map +0 -1
  307. package/dist/node_modules/next/dist/client/components/hooks-server-context.js +0 -51
  308. package/dist/node_modules/next/dist/client/components/hooks-server-context.js.map +0 -1
  309. package/dist/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +0 -78
  310. package/dist/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js.map +0 -1
  311. package/dist/node_modules/next/dist/client/components/instant-samples.js +0 -107
  312. package/dist/node_modules/next/dist/client/components/instant-samples.js.map +0 -1
  313. package/dist/node_modules/next/dist/client/components/is-next-router-error.js +0 -38
  314. package/dist/node_modules/next/dist/client/components/is-next-router-error.js.map +0 -1
  315. package/dist/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +0 -41
  316. package/dist/node_modules/next/dist/client/components/navigation-dynamic-rendering.js.map +0 -1
  317. package/dist/node_modules/next/dist/client/components/navigation.js +0 -250
  318. package/dist/node_modules/next/dist/client/components/navigation.js.map +0 -1
  319. package/dist/node_modules/next/dist/client/components/navigation.react-server.js +0 -83
  320. package/dist/node_modules/next/dist/client/components/navigation.react-server.js.map +0 -1
  321. package/dist/node_modules/next/dist/client/components/not-found.js +0 -56
  322. package/dist/node_modules/next/dist/client/components/not-found.js.map +0 -1
  323. package/dist/node_modules/next/dist/client/components/readonly-url-search-params.js +0 -61
  324. package/dist/node_modules/next/dist/client/components/readonly-url-search-params.js.map +0 -1
  325. package/dist/node_modules/next/dist/client/components/redirect-error.js +0 -53
  326. package/dist/node_modules/next/dist/client/components/redirect-error.js.map +0 -1
  327. package/dist/node_modules/next/dist/client/components/redirect-status-code.js +0 -37
  328. package/dist/node_modules/next/dist/client/components/redirect-status-code.js.map +0 -1
  329. package/dist/node_modules/next/dist/client/components/redirect.js +0 -99
  330. package/dist/node_modules/next/dist/client/components/redirect.js.map +0 -1
  331. package/dist/node_modules/next/dist/client/components/server-async-storage.js +0 -48
  332. package/dist/node_modules/next/dist/client/components/server-async-storage.js.map +0 -1
  333. package/dist/node_modules/next/dist/client/components/static-generation-bailout.js +0 -51
  334. package/dist/node_modules/next/dist/client/components/static-generation-bailout.js.map +0 -1
  335. package/dist/node_modules/next/dist/client/components/unauthorized.js +0 -63
  336. package/dist/node_modules/next/dist/client/components/unauthorized.js.map +0 -1
  337. package/dist/node_modules/next/dist/client/components/unrecognized-action-error.js +0 -48
  338. package/dist/node_modules/next/dist/client/components/unrecognized-action-error.js.map +0 -1
  339. package/dist/node_modules/next/dist/client/components/unstable-rethrow.js +0 -51
  340. package/dist/node_modules/next/dist/client/components/unstable-rethrow.js.map +0 -1
  341. package/dist/node_modules/next/dist/client/detect-domain-locale.js +0 -37
  342. package/dist/node_modules/next/dist/client/detect-domain-locale.js.map +0 -1
  343. package/dist/node_modules/next/dist/client/get-domain-locale.js +0 -52
  344. package/dist/node_modules/next/dist/client/get-domain-locale.js.map +0 -1
  345. package/dist/node_modules/next/dist/client/has-base-path.js +0 -37
  346. package/dist/node_modules/next/dist/client/has-base-path.js.map +0 -1
  347. package/dist/node_modules/next/dist/client/image-component.js +0 -351
  348. package/dist/node_modules/next/dist/client/image-component.js.map +0 -1
  349. package/dist/node_modules/next/dist/client/link.js +0 -471
  350. package/dist/node_modules/next/dist/client/link.js.map +0 -1
  351. package/dist/node_modules/next/dist/client/normalize-locale-path.js +0 -41
  352. package/dist/node_modules/next/dist/client/normalize-locale-path.js.map +0 -1
  353. package/dist/node_modules/next/dist/client/normalize-trailing-slash.js +0 -52
  354. package/dist/node_modules/next/dist/client/normalize-trailing-slash.js.map +0 -1
  355. package/dist/node_modules/next/dist/client/request-idle-callback.js +0 -53
  356. package/dist/node_modules/next/dist/client/request-idle-callback.js.map +0 -1
  357. package/dist/node_modules/next/dist/client/resolve-href.js +0 -129
  358. package/dist/node_modules/next/dist/client/resolve-href.js.map +0 -1
  359. package/dist/node_modules/next/dist/client/use-intersection.js +0 -129
  360. package/dist/node_modules/next/dist/client/use-intersection.js.map +0 -1
  361. package/dist/node_modules/next/dist/client/use-merged-ref.js +0 -83
  362. package/dist/node_modules/next/dist/client/use-merged-ref.js.map +0 -1
  363. package/dist/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +0 -341
  364. package/dist/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js.map +0 -1
  365. package/dist/node_modules/next/dist/compiled/path-to-regexp/index.js +0 -13
  366. package/dist/node_modules/next/dist/compiled/path-to-regexp/index.js.map +0 -1
  367. package/dist/node_modules/next/dist/compiled/picomatch/index.js +0 -13
  368. package/dist/node_modules/next/dist/compiled/picomatch/index.js.map +0 -1
  369. package/dist/node_modules/next/dist/lib/constants.js +0 -370
  370. package/dist/node_modules/next/dist/lib/constants.js.map +0 -1
  371. package/dist/node_modules/next/dist/lib/framework/boundary-constants.js +0 -43
  372. package/dist/node_modules/next/dist/lib/framework/boundary-constants.js.map +0 -1
  373. package/dist/node_modules/next/dist/lib/route-pattern-normalizer.js +0 -112
  374. package/dist/node_modules/next/dist/lib/route-pattern-normalizer.js.map +0 -1
  375. package/dist/node_modules/next/dist/lib/scheduler.js +0 -71
  376. package/dist/node_modules/next/dist/lib/scheduler.js.map +0 -1
  377. package/dist/node_modules/next/dist/server/app-render/action-async-storage-instance.js +0 -28
  378. package/dist/node_modules/next/dist/server/app-render/action-async-storage-instance.js.map +0 -1
  379. package/dist/node_modules/next/dist/server/app-render/action-async-storage.external.js +0 -27
  380. package/dist/node_modules/next/dist/server/app-render/action-async-storage.external.js.map +0 -1
  381. package/dist/node_modules/next/dist/server/app-render/async-local-storage.js +0 -84
  382. package/dist/node_modules/next/dist/server/app-render/async-local-storage.js.map +0 -1
  383. package/dist/node_modules/next/dist/server/app-render/blocking-route-messages.js +0 -177
  384. package/dist/node_modules/next/dist/server/app-render/blocking-route-messages.js.map +0 -1
  385. package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.js +0 -1168
  386. package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.js.map +0 -1
  387. package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +0 -39
  388. package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js.map +0 -1
  389. package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +0 -47
  390. package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js.map +0 -1
  391. package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +0 -427
  392. package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js.map +0 -1
  393. package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +0 -42
  394. package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js.map +0 -1
  395. package/dist/node_modules/next/dist/server/app-render/staged-rendering.js +0 -331
  396. package/dist/node_modules/next/dist/server/app-render/staged-rendering.js.map +0 -1
  397. package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.js +0 -28
  398. package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.js.map +0 -1
  399. package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.js +0 -27
  400. package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.js.map +0 -1
  401. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +0 -28
  402. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js.map +0 -1
  403. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +0 -211
  404. package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js.map +0 -1
  405. package/dist/node_modules/next/dist/server/dynamic-rendering-utils.js +0 -269
  406. package/dist/node_modules/next/dist/server/dynamic-rendering-utils.js.map +0 -1
  407. package/dist/node_modules/next/dist/server/lib/router-utils/is-postpone.js +0 -29
  408. package/dist/node_modules/next/dist/server/lib/router-utils/is-postpone.js.map +0 -1
  409. package/dist/node_modules/next/dist/server/runtime-reacts.external.js +0 -53
  410. package/dist/node_modules/next/dist/server/runtime-reacts.external.js.map +0 -1
  411. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +0 -303
  412. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/headers.js.map +0 -1
  413. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +0 -43
  414. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js.map +0 -1
  415. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +0 -233
  416. package/dist/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js.map +0 -1
  417. package/dist/node_modules/next/dist/server/web/spec-extension/cookies.js +0 -38
  418. package/dist/node_modules/next/dist/server/web/spec-extension/cookies.js.map +0 -1
  419. package/dist/node_modules/next/dist/shared/lib/action-revalidation-kind.js +0 -39
  420. package/dist/node_modules/next/dist/shared/lib/action-revalidation-kind.js.map +0 -1
  421. package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +0 -58
  422. package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js.map +0 -1
  423. package/dist/node_modules/next/dist/shared/lib/deployment-id.js +0 -70
  424. package/dist/node_modules/next/dist/shared/lib/deployment-id.js.map +0 -1
  425. package/dist/node_modules/next/dist/shared/lib/escape-regexp.js +0 -34
  426. package/dist/node_modules/next/dist/shared/lib/escape-regexp.js.map +0 -1
  427. package/dist/node_modules/next/dist/shared/lib/find-closest-quality.js +0 -32
  428. package/dist/node_modules/next/dist/shared/lib/find-closest-quality.js.map +0 -1
  429. package/dist/node_modules/next/dist/shared/lib/get-img-props.js +0 -614
  430. package/dist/node_modules/next/dist/shared/lib/get-img-props.js.map +0 -1
  431. package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +0 -33
  432. package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js.map +0 -1
  433. package/dist/node_modules/next/dist/shared/lib/head.js +0 -178
  434. package/dist/node_modules/next/dist/shared/lib/head.js.map +0 -1
  435. package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +0 -67
  436. package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js.map +0 -1
  437. package/dist/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +0 -38
  438. package/dist/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js.map +0 -1
  439. package/dist/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +0 -67
  440. package/dist/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js.map +0 -1
  441. package/dist/node_modules/next/dist/shared/lib/image-blur-svg.js +0 -37
  442. package/dist/node_modules/next/dist/shared/lib/image-blur-svg.js.map +0 -1
  443. package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +0 -35
  444. package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js.map +0 -1
  445. package/dist/node_modules/next/dist/shared/lib/image-config.js +0 -86
  446. package/dist/node_modules/next/dist/shared/lib/image-config.js.map +0 -1
  447. package/dist/node_modules/next/dist/shared/lib/image-external.js +0 -60
  448. package/dist/node_modules/next/dist/shared/lib/image-external.js.map +0 -1
  449. package/dist/node_modules/next/dist/shared/lib/image-loader.js +0 -135
  450. package/dist/node_modules/next/dist/shared/lib/image-loader.js.map +0 -1
  451. package/dist/node_modules/next/dist/shared/lib/instant-messages.js +0 -52
  452. package/dist/node_modules/next/dist/shared/lib/instant-messages.js.map +0 -1
  453. package/dist/node_modules/next/dist/shared/lib/invariant-error.js +0 -36
  454. package/dist/node_modules/next/dist/shared/lib/invariant-error.js.map +0 -1
  455. package/dist/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +0 -45
  456. package/dist/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js.map +0 -1
  457. package/dist/node_modules/next/dist/shared/lib/match-local-pattern.js +0 -56
  458. package/dist/node_modules/next/dist/shared/lib/match-local-pattern.js.map +0 -1
  459. package/dist/node_modules/next/dist/shared/lib/match-remote-pattern.js +0 -73
  460. package/dist/node_modules/next/dist/shared/lib/match-remote-pattern.js.map +0 -1
  461. package/dist/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +0 -33
  462. package/dist/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js.map +0 -1
  463. package/dist/node_modules/next/dist/shared/lib/promise-with-resolvers.js +0 -39
  464. package/dist/node_modules/next/dist/shared/lib/promise-with-resolvers.js.map +0 -1
  465. package/dist/node_modules/next/dist/shared/lib/router/routes/app.js +0 -167
  466. package/dist/node_modules/next/dist/shared/lib/router/routes/app.js.map +0 -1
  467. package/dist/node_modules/next/dist/shared/lib/router/utils/add-locale.js +0 -43
  468. package/dist/node_modules/next/dist/shared/lib/router/utils/add-locale.js.map +0 -1
  469. package/dist/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +0 -34
  470. package/dist/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js.map +0 -1
  471. package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js +0 -72
  472. package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js.map +0 -1
  473. package/dist/node_modules/next/dist/shared/lib/router/utils/format-url.js +0 -100
  474. package/dist/node_modules/next/dist/shared/lib/router/utils/format-url.js.map +0 -1
  475. package/dist/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +0 -184
  476. package/dist/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js.map +0 -1
  477. package/dist/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +0 -91
  478. package/dist/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js.map +0 -1
  479. package/dist/node_modules/next/dist/shared/lib/router/utils/index.js +0 -40
  480. package/dist/node_modules/next/dist/shared/lib/router/utils/index.js.map +0 -1
  481. package/dist/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +0 -46
  482. package/dist/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js.map +0 -1
  483. package/dist/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +0 -116
  484. package/dist/node_modules/next/dist/shared/lib/router/utils/interception-routes.js.map +0 -1
  485. package/dist/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js +0 -68
  486. package/dist/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js.map +0 -1
  487. package/dist/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +0 -40
  488. package/dist/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js.map +0 -1
  489. package/dist/node_modules/next/dist/shared/lib/router/utils/is-local-url.js +0 -41
  490. package/dist/node_modules/next/dist/shared/lib/router/utils/is-local-url.js.map +0 -1
  491. package/dist/node_modules/next/dist/shared/lib/router/utils/omit.js +0 -34
  492. package/dist/node_modules/next/dist/shared/lib/router/utils/omit.js.map +0 -1
  493. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +0 -44
  494. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js.map +0 -1
  495. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-path.js +0 -48
  496. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-path.js.map +0 -1
  497. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +0 -58
  498. package/dist/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js.map +0 -1
  499. package/dist/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +0 -34
  500. package/dist/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js.map +0 -1
  501. package/dist/node_modules/next/dist/shared/lib/router/utils/querystring.js +0 -87
  502. package/dist/node_modules/next/dist/shared/lib/router/utils/querystring.js.map +0 -1
  503. package/dist/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +0 -37
  504. package/dist/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js.map +0 -1
  505. package/dist/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +0 -129
  506. package/dist/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js.map +0 -1
  507. package/dist/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +0 -124
  508. package/dist/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js.map +0 -1
  509. package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +0 -60
  510. package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.js.map +0 -1
  511. package/dist/node_modules/next/dist/shared/lib/router/utils/route-regex.js +0 -269
  512. package/dist/node_modules/next/dist/shared/lib/router/utils/route-regex.js.map +0 -1
  513. package/dist/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +0 -253
  514. package/dist/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js.map +0 -1
  515. package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +0 -33
  516. package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.js.map +0 -1
  517. package/dist/node_modules/next/dist/shared/lib/segment.js +0 -104
  518. package/dist/node_modules/next/dist/shared/lib/segment.js.map +0 -1
  519. package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +0 -46
  520. package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js.map +0 -1
  521. package/dist/node_modules/next/dist/shared/lib/side-effect.js +0 -77
  522. package/dist/node_modules/next/dist/shared/lib/side-effect.js.map +0 -1
  523. package/dist/node_modules/next/dist/shared/lib/utils/error-once.js +0 -35
  524. package/dist/node_modules/next/dist/shared/lib/utils/error-once.js.map +0 -1
  525. package/dist/node_modules/next/dist/shared/lib/utils/reflect-utils.js +0 -72
  526. package/dist/node_modules/next/dist/shared/lib/utils/reflect-utils.js.map +0 -1
  527. package/dist/node_modules/next/dist/shared/lib/utils/warn-once.js +0 -35
  528. package/dist/node_modules/next/dist/shared/lib/utils/warn-once.js.map +0 -1
  529. package/dist/node_modules/next/dist/shared/lib/utils.js +0 -210
  530. package/dist/node_modules/next/dist/shared/lib/utils.js.map +0 -1
  531. package/dist/node_modules/next/image.js +0 -14
  532. package/dist/node_modules/next/image.js.map +0 -1
  533. package/dist/node_modules/next/link.js +0 -14
  534. package/dist/node_modules/next/link.js.map +0 -1
  535. package/dist/node_modules/next/navigation.js +0 -14
  536. package/dist/node_modules/next/navigation.js.map +0 -1
  537. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -364
  538. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
  539. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -45
  540. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +0 -1
  541. package/dist/node_modules/react/jsx-runtime.js +0 -20
  542. package/dist/node_modules/react/jsx-runtime.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
3
  import { ChevronDownIcon } from 'lucide-react';
4
4
  import { cn } from '../../utils.js';
5
5
 
6
6
  function Accordion({ ...props }) {
7
- return jsxRuntimeExports.jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
7
+ return jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
8
8
  }
9
9
  function AccordionItem({ className, ...props }) {
10
- return (jsxRuntimeExports.jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn('border-b last:border-b-0', className), ...props }));
10
+ return (jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn('border-b last:border-b-0', className), ...props }));
11
11
  }
12
12
  function AccordionTrigger({ className, children, ...props }) {
13
- return (jsxRuntimeExports.jsx(AccordionPrimitive.Header, { className: "flex", children: jsxRuntimeExports.jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn('focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180', className), ...props, children: [children, jsxRuntimeExports.jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })] }) }));
13
+ return (jsx(AccordionPrimitive.Header, { className: "flex", children: jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn('focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180', className), ...props, children: [children, jsx(ChevronDownIcon, { className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" })] }) }));
14
14
  }
15
15
  function AccordionContent({ className, children, ...props }) {
16
- return (jsxRuntimeExports.jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm", ...props, children: jsxRuntimeExports.jsx("div", { className: cn('pt-0 pb-4', className), children: children }) }));
16
+ return (jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm", ...props, children: jsx("div", { className: cn('pt-0 pb-4', className), children: children }) }));
17
17
  }
18
18
 
19
19
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sources":["../../../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AAMA,SAAS,SAAS,CAAC,EACjB,GAAG,KAAK,EAC6C,EAAA;IACrD,OAAOA,qBAAA,CAAC,kBAAkB,CAAC,IAAI,iBAAW,WAAW,EAAA,GAAK,KAAK,EAAA,CAAI;AACrE;AAEA,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C,EAAA;IACrD,QACEA,sBAAC,kBAAkB,CAAC,IAAI,EAAA,EAAA,WAAA,EACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAChD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD,EAAA;AACxD,IAAA,QACEA,qBAAA,CAAC,kBAAkB,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EACzCC,sBAAA,CAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACX,4SAA4S,EAC5S,SAAS,CACV,KACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,qBAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAC,6GAA6G,GAAG,CAAA,EAAA,CAChH,EAAA,CACH;AAEhC;AAEA,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD,EAAA;AACxD,IAAA,QACEA,qBAAA,CAAC,kBAAkB,CAAC,OAAO,EAAA,EAAA,WAAA,EACf,mBAAmB,EAC7B,SAAS,EAAC,2GAA2G,EAAA,GACjH,KAAK,EAAA,QAAA,EAETA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAO,EAAA,CACjC;AAEjC;;;;"}
1
+ {"version":3,"file":"accordion.js","sources":["../../../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AAMA,SAAS,SAAS,CAAC,EACjB,GAAG,KAAK,EAC6C,EAAA;IACrD,OAAOA,GAAA,CAAC,kBAAkB,CAAC,IAAI,iBAAW,WAAW,EAAA,GAAK,KAAK,EAAA,CAAI;AACrE;AAEA,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C,EAAA;IACrD,QACEA,IAAC,kBAAkB,CAAC,IAAI,EAAA,EAAA,WAAA,EACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAChD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD,EAAA;AACxD,IAAA,QACEA,GAAA,CAAC,kBAAkB,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EACzCC,IAAA,CAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACX,4SAA4S,EAC5S,SAAS,CACV,KACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAC,6GAA6G,GAAG,CAAA,EAAA,CAChH,EAAA,CACH;AAEhC;AAEA,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD,EAAA;AACxD,IAAA,QACEA,GAAA,CAAC,kBAAkB,CAAC,OAAO,EAAA,EAAA,WAAA,EACf,mBAAmB,EAC7B,SAAS,EAAC,2GAA2G,EAAA,GACjH,KAAK,EAAA,QAAA,EAETA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAO,EAAA,CACjC;AAEjC;;;;"}
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  import type { LucideIcon } from 'lucide-react';
2
3
  export interface NavItem {
3
4
  href: string;
@@ -16,6 +17,12 @@ interface AppHeaderProps {
16
17
  profileHref?: string;
17
18
  userAvatarUrl?: string | null;
18
19
  accountNav?: NavItem[];
20
+ /** Overrides the hardcoded "Partners" brand text. */
21
+ brand?: string;
22
+ /** Overrides the hardcoded "/betterinternship-logo.png" logo path. */
23
+ logoPath?: string;
24
+ /** Extra controls rendered next to the nav (desktop) and inside the drawer (mobile). */
25
+ actions?: ReactNode;
19
26
  }
20
- export declare function AppHeader({ portal, homeHref, nav, userPrimary, logout: logoutFn, postLogoutPath, profileHref, userAvatarUrl, accountNav, }: AppHeaderProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function AppHeader({ portal, homeHref, nav, userPrimary, userSecondary, logout: logoutFn, postLogoutPath, profileHref, userAvatarUrl, accountNav, brand, logoPath, actions, }: AppHeaderProps): import("react/jsx-runtime").JSX.Element;
21
28
  export {};
@@ -1,7 +1,7 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
2
- import Link from '../../_virtual/link.js';
3
- import Image from '../../_virtual/image.js';
4
- import { n as navigationExports } from '../../_virtual/navigation.js';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import Link from 'next/link';
3
+ import Image from 'next/image';
4
+ import { usePathname, useRouter } from 'next/navigation';
5
5
  import { useQueryClient, useMutation } from '@tanstack/react-query';
6
6
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem } from './dropdown-menu.js';
7
7
  import { Button } from './button.js';
@@ -26,9 +26,9 @@ function labelIcon(label) {
26
26
  };
27
27
  return map[label] ?? Handshake;
28
28
  }
29
- function AppHeader({ portal, homeHref, nav, userPrimary, logout: logoutFn, postLogoutPath, profileHref, userAvatarUrl, accountNav = [], }) {
30
- const pathname = navigationExports.usePathname() ?? '';
31
- const router = navigationExports.useRouter();
29
+ function AppHeader({ portal, homeHref, nav, userPrimary, userSecondary, logout: logoutFn, postLogoutPath, profileHref, userAvatarUrl, accountNav = [], brand = 'Partners', logoPath = '/betterinternship-logo.png', actions, }) {
30
+ const pathname = usePathname() ?? '';
31
+ const router = useRouter();
32
32
  const queryClient = useQueryClient();
33
33
  const [isDrawerOpen, setIsDrawerOpen] = useState(false);
34
34
  useEffect(() => {
@@ -48,24 +48,24 @@ function AppHeader({ portal, homeHref, nav, userPrimary, logout: logoutFn, postL
48
48
  },
49
49
  });
50
50
  const isActive = (href) => pathname === href || pathname.startsWith(`${href}/`);
51
- return (jsxRuntimeExports.jsxs("header", { className: "bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur", children: [jsxRuntimeExports.jsxs("div", { className: "mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8", children: [jsxRuntimeExports.jsx(Link, { href: homeHref, className: "block flex-shrink-0 border-none text-black! outline-none focus:outline-none", children: jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Image, { src: "/betterinternship-logo.png", alt: "", width: 25, height: 25, className: "flex-none" }), jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [jsxRuntimeExports.jsx("h1", { className: "font-display text-lg font-bold text-gray-900", children: "Partners" }), jsxRuntimeExports.jsx("span", { className: "mx-2.5 text-gray-300", "aria-hidden": "true", children: "|" }), jsxRuntimeExports.jsx("span", { className: "font-display text-gray-500", children: portal === 'Platform Admin' ? portal : `${portal} Portal` })] })] }) }), jsxRuntimeExports.jsxs("div", { className: "hidden flex-1 items-center justify-end gap-2 md:flex", children: [nav.map((item) => {
51
+ return (jsxs("header", { className: "bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur", children: [jsxs("div", { className: "mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8", children: [jsx(Link, { href: homeHref, className: "block flex-shrink-0 border-none text-black! outline-none focus:outline-none", children: jsxs("div", { className: "flex items-center gap-2", children: [jsx(Image, { src: logoPath, alt: "", width: 25, height: 25, className: "flex-none" }), jsxs("div", { className: "flex items-center", children: [jsx("h1", { className: "font-display text-lg font-bold text-gray-900", children: brand }), jsx("span", { className: "mx-2.5 text-gray-300", "aria-hidden": "true", children: "|" }), jsx("span", { className: "font-display text-gray-500", children: portal === 'Platform Admin' ? portal : `${portal} Portal` })] })] }) }), jsxs("div", { className: "hidden flex-1 items-center justify-end gap-2 md:flex", children: [nav.map((item) => {
52
52
  const Icon = item.icon ?? labelIcon(item.label);
53
- return (jsxRuntimeExports.jsxs(Button, { variant: "ghost", className: cn('relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1', isActive(item.href)
53
+ return (jsxs(Button, { variant: "ghost", className: cn('relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1', isActive(item.href)
54
54
  ? 'text-primary'
55
- : 'opacity-80 hover:bg-gray-100 hover:opacity-100'), onClick: () => router.push(item.href), children: [jsxRuntimeExports.jsx(Icon, { className: "!h-6 !w-6", strokeWidth: 1.7 }), jsxRuntimeExports.jsx("span", { className: "text-xs", children: item.label }), !!item.badge && (jsxRuntimeExports.jsx("span", { className: "absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: item.badge }))] }, item.href));
56
- }), jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: jsxRuntimeExports.jsxs(Button, { variant: "ghost", className: cn('group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1', (profileHref && isActive(profileHref)) ||
55
+ : 'opacity-80 hover:bg-gray-100 hover:opacity-100'), onClick: () => router.push(item.href), children: [jsx(Icon, { className: "!h-6 !w-6", strokeWidth: 1.7 }), jsx("span", { className: "text-xs", children: item.label }), !!item.badge && (jsx("span", { className: "absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: item.badge }))] }, item.href));
56
+ }), actions, jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs(Button, { variant: "ghost", className: cn('group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1', (profileHref && isActive(profileHref)) ||
57
57
  accountNav.some((item) => isActive(item.href))
58
58
  ? 'text-primary'
59
- : 'opacity-80 hover:bg-gray-100 hover:opacity-100'), children: [jsxRuntimeExports.jsx("div", { className: "flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100", children: userAvatarUrl ? (jsxRuntimeExports.jsx("img", { src: userAvatarUrl, alt: "", className: "h-full w-full object-contain" })) : (jsxRuntimeExports.jsx(UserRound, { className: "h-5 w-5 text-gray-500" })) }), jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-0.5", children: [jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Account" }), jsxRuntimeExports.jsx(ChevronDown, { className: "!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180" })] })] }) }), jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", className: "w-max min-w-44", children: [userPrimary && (jsxRuntimeExports.jsx("div", { className: "px-2 py-1.5", children: jsxRuntimeExports.jsx("div", { className: "text-center text-sm font-medium", children: userPrimary }) })), jsxRuntimeExports.jsx(DropdownMenuSeparator, {}), profileHref && (jsxRuntimeExports.jsx(DropdownMenuItem, { asChild: true, children: jsxRuntimeExports.jsxs(Link, { href: profileHref, children: [jsxRuntimeExports.jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
59
+ : 'opacity-80 hover:bg-gray-100 hover:opacity-100'), children: [jsx("div", { className: "flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100", children: userAvatarUrl ? (jsx("img", { src: userAvatarUrl, alt: "", className: "h-full w-full object-contain" })) : (jsx(UserRound, { className: "h-5 w-5 text-gray-500" })) }), jsxs("div", { className: "flex items-center gap-0.5", children: [jsx("span", { className: "text-xs", children: "Account" }), jsx(ChevronDown, { className: "!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180" })] })] }) }), jsxs(DropdownMenuContent, { align: "end", className: "w-max min-w-44", children: [userPrimary && (jsxs("div", { className: "px-2 py-1.5", children: [jsx("div", { className: "text-center text-sm font-medium", children: userPrimary }), userSecondary && (jsx("div", { className: "text-muted-foreground text-center text-xs", children: userSecondary }))] })), jsx(DropdownMenuSeparator, {}), profileHref && (jsx(DropdownMenuItem, { asChild: true, children: jsxs(Link, { href: profileHref, children: [jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
60
60
  const Icon = item.icon ?? labelIcon(item.label);
61
- return (jsxRuntimeExports.jsx(DropdownMenuItem, { asChild: true, children: jsxRuntimeExports.jsxs(Link, { href: item.href, children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
62
- }), (profileHref || accountNav.length > 0) && (jsxRuntimeExports.jsx(DropdownMenuSeparator, {})), jsxRuntimeExports.jsxs(DropdownMenuItem, { variant: "destructive", disabled: logout.isPending, onClick: () => logout.mutate(), children: [jsxRuntimeExports.jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] })] }), jsxRuntimeExports.jsx("button", { type: "button", "aria-label": isDrawerOpen ? 'Close menu' : 'Open menu', className: "inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden", onClick: () => setIsDrawerOpen(!isDrawerOpen), children: isDrawerOpen ? (jsxRuntimeExports.jsx(X, { className: "h-5 w-5" })) : (jsxRuntimeExports.jsx(Menu, { className: "h-5 w-5" })) })] }), isDrawerOpen && (jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-[30] duration-200 md:hidden", onClick: () => setIsDrawerOpen(false) })), jsxRuntimeExports.jsx("div", { className: cn('fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden', 'transition-transform duration-250 ease-out', isDrawerOpen ? 'translate-x-0' : 'translate-x-full'), role: "dialog", "aria-modal": "true", "aria-label": "Mobile menu", children: jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-col", children: [jsxRuntimeExports.jsxs("div", { className: "mt-1 flex items-center justify-between border-b px-4 py-3", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Image, { src: "/betterinternship-logo.png", alt: "", width: 25, height: 25, className: "h-6 w-6 rounded object-contain" }), jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold", children: "Partners" }), jsxRuntimeExports.jsx("span", { className: "rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none", children: portal })] }), jsxRuntimeExports.jsx("button", { type: "button", "aria-label": "Close menu", className: "inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100", onClick: () => setIsDrawerOpen(false), children: jsxRuntimeExports.jsx(X, { className: "h-5 w-5" }) })] }), jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto p-4", children: [userPrimary && (jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 pb-2", children: [jsxRuntimeExports.jsx(UserRound, { className: "h-5 w-5 text-gray-500" }), jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-gray-900", children: userPrimary })] })), jsxRuntimeExports.jsx(Separator, { className: "my-4" }), jsxRuntimeExports.jsx("nav", { className: "space-y-1", children: nav.map((item) => {
61
+ return (jsx(DropdownMenuItem, { asChild: true, children: jsxs(Link, { href: item.href, children: [jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
62
+ }), (profileHref || accountNav.length > 0) && (jsx(DropdownMenuSeparator, {})), jsxs(DropdownMenuItem, { variant: "destructive", disabled: logout.isPending, onClick: () => logout.mutate(), children: [jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] })] }), jsx("button", { type: "button", "aria-label": isDrawerOpen ? 'Close menu' : 'Open menu', className: "inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden", onClick: () => setIsDrawerOpen(!isDrawerOpen), children: isDrawerOpen ? (jsx(X, { className: "h-5 w-5" })) : (jsx(Menu, { className: "h-5 w-5" })) })] }), isDrawerOpen && (jsx("div", { className: "fixed inset-0 z-[30] duration-200 md:hidden", onClick: () => setIsDrawerOpen(false) })), jsx("div", { className: cn('fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden', 'transition-transform duration-250 ease-out', isDrawerOpen ? 'translate-x-0' : 'translate-x-full'), role: "dialog", "aria-modal": "true", "aria-label": "Mobile menu", children: jsxs("div", { className: "flex h-full flex-col", children: [jsxs("div", { className: "mt-1 flex items-center justify-between border-b px-4 py-3", children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx(Image, { src: logoPath, alt: "", width: 25, height: 25, className: "h-6 w-6 rounded object-contain" }), jsx("span", { className: "text-sm font-semibold", children: brand }), jsx("span", { className: "rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none", children: portal })] }), jsx("button", { type: "button", "aria-label": "Close menu", className: "inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100", onClick: () => setIsDrawerOpen(false), children: jsx(X, { className: "h-5 w-5" }) })] }), jsxs("div", { className: "flex-1 overflow-y-auto p-4", children: [userPrimary && (jsxs("div", { className: "flex items-center gap-2 pb-2", children: [jsx(UserRound, { className: "h-5 w-5 text-gray-500" }), jsx("span", { className: "text-sm font-semibold text-gray-900", children: userPrimary })] })), jsx(Separator, { className: "my-4" }), actions && jsx("div", { className: "mb-2", children: actions }), jsx("nav", { className: "space-y-1", children: nav.map((item) => {
63
63
  const Icon = item.icon ?? labelIcon(item.label);
64
- return (jsxRuntimeExports.jsx(Link, { href: item.href, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4 text-gray-500" }), jsxRuntimeExports.jsx("span", { children: item.label }), !!item.badge && (jsxRuntimeExports.jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: "!" }))] }), jsxRuntimeExports.jsx(ChevronRight, { className: "h-4 w-4 text-gray-300" })] }) }, item.href));
65
- }) })] }), jsxRuntimeExports.jsxs("div", { className: "mt-auto border-t px-4 py-3 space-y-1", children: [profileHref && (jsxRuntimeExports.jsx(Link, { href: profileHref, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsxRuntimeExports.jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
64
+ return (jsx(Link, { href: item.href, className: "block w-full", children: jsxs("button", { className: "flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50", children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx(Icon, { className: "h-4 w-4 text-gray-500" }), jsx("span", { children: item.label }), !!item.badge && (jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: "!" }))] }), jsx(ChevronRight, { className: "h-4 w-4 text-gray-300" })] }) }, item.href));
65
+ }) })] }), jsxs("div", { className: "mt-auto border-t px-4 py-3 space-y-1", children: [profileHref && (jsx(Link, { href: profileHref, className: "block w-full", children: jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
66
66
  const Icon = item.icon ?? labelIcon(item.label);
67
- return (jsxRuntimeExports.jsx(Link, { href: item.href, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
68
- }), jsxRuntimeExports.jsxs("button", { onClick: () => logout.mutate(), disabled: logout.isPending, className: "flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50", children: [jsxRuntimeExports.jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] }) })] }));
67
+ return (jsx(Link, { href: item.href, className: "block w-full", children: jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
68
+ }), jsxs("button", { onClick: () => logout.mutate(), disabled: logout.isPending, className: "flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50", children: [jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] }) })] }));
69
69
  }
70
70
 
71
71
  export { AppHeader };
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.js","sources":["../../../src/components/ui/app-header.tsx"],"sourcesContent":["import Link from 'next/link';\nimport Image from 'next/image';\nimport { usePathname, useRouter } from 'next/navigation';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n} from '@/components/ui/dropdown-menu';\nimport { Button } from '@/components/ui/button';\nimport { Separator } from '@/components/ui/separator';\nimport { cn } from '@/utils';\nimport {\n LogOut,\n Menu,\n X,\n UserRound,\n ChevronDown,\n ChevronRight,\n Handshake,\n Mail,\n History,\n FileText,\n Users,\n LayoutDashboard,\n FileSignature,\n GraduationCap,\n Building2,\n SearchCheck,\n} from 'lucide-react';\nimport { useState, useEffect } from 'react';\nimport type { LucideIcon } from 'lucide-react';\n\nexport interface NavItem {\n href: string;\n label: string;\n badge?: number;\n icon?: LucideIcon;\n}\n\ninterface AppHeaderProps {\n portal: string;\n homeHref: string;\n nav: NavItem[];\n userPrimary?: string;\n userSecondary?: string;\n logout: () => Promise<unknown>;\n postLogoutPath: string;\n profileHref?: string;\n userAvatarUrl?: string | null;\n accountNav?: NavItem[];\n}\n\nfunction labelIcon(label: string): LucideIcon {\n const map: Record<string, LucideIcon> = {\n Partners: Handshake,\n Invites: Mail,\n Invitations: Mail,\n Accounts: Users,\n 'Activity Log': History,\n 'MOA Templates': FileText,\n Universities: GraduationCap,\n Companies: Building2,\n 'Company Reviews': SearchCheck,\n 'Request MOA': FileSignature,\n Dashboard: LayoutDashboard,\n };\n return map[label] ?? Handshake;\n}\n\nexport function AppHeader({\n portal,\n homeHref,\n nav,\n userPrimary,\n logout: logoutFn,\n postLogoutPath,\n profileHref,\n userAvatarUrl,\n accountNav = [],\n}: AppHeaderProps) {\n const pathname = usePathname() ?? '';\n const router = useRouter();\n const queryClient = useQueryClient();\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\n\n useEffect(() => {\n setIsDrawerOpen(false);\n }, [pathname]);\n\n useEffect(() => {\n document.body.style.overflow = isDrawerOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isDrawerOpen]);\n\n const logout = useMutation({\n mutationFn: logoutFn,\n onSettled: () => {\n queryClient.clear();\n router.replace(postLogoutPath);\n },\n });\n\n const isActive = (href: string) =>\n pathname === href || pathname.startsWith(`${href}/`);\n\n return (\n <header className=\"bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur\">\n <div className=\"mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8\">\n {/* Brand */}\n <Link\n href={homeHref}\n className=\"block flex-shrink-0 border-none text-black! outline-none focus:outline-none\"\n >\n <div className=\"flex items-center gap-2\">\n <Image\n src=\"/betterinternship-logo.png\"\n alt=\"\"\n width={25}\n height={25}\n className=\"flex-none\"\n />\n <div className=\"flex items-center\">\n <h1 className=\"font-display text-lg font-bold text-gray-900\">\n Partners\n </h1>\n <span className=\"mx-2.5 text-gray-300\" aria-hidden=\"true\">\n |\n </span>\n <span className=\"font-display text-gray-500\">\n {portal === 'Platform Admin' ? portal : `${portal} Portal`}\n </span>\n </div>\n </div>\n </Link>\n\n {/* Desktop right side: nav buttons + user */}\n <div className=\"hidden flex-1 items-center justify-end gap-2 md:flex\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Button\n key={item.href}\n variant=\"ghost\"\n className={cn(\n 'relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1',\n isActive(item.href)\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n onClick={() => router.push(item.href)}\n >\n <Icon className=\"!h-6 !w-6\" strokeWidth={1.7} />\n <span className=\"text-xs\">{item.label}</span>\n {!!item.badge && (\n <span className=\"absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n {item.badge}\n </span>\n )}\n </Button>\n );\n })}\n\n {/* User dropdown */}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n 'group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1',\n (profileHref && isActive(profileHref)) ||\n accountNav.some((item) => isActive(item.href))\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n >\n <div className=\"flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100\">\n {userAvatarUrl ? (\n <img\n src={userAvatarUrl}\n alt=\"\"\n className=\"h-full w-full object-contain\"\n />\n ) : (\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n )}\n </div>\n <div className=\"flex items-center gap-0.5\">\n <span className=\"text-xs\">Account</span>\n <ChevronDown className=\"!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180\" />\n </div>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-max min-w-44\">\n {userPrimary && (\n <div className=\"px-2 py-1.5\">\n <div className=\"text-center text-sm font-medium\">\n {userPrimary}\n </div>\n </div>\n )}\n <DropdownMenuSeparator />\n {profileHref && (\n <DropdownMenuItem asChild>\n <Link href={profileHref}>\n <UserRound className=\"h-4 w-4\" />\n Profile\n </Link>\n </DropdownMenuItem>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <DropdownMenuItem key={item.href} asChild>\n <Link href={item.href}>\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </Link>\n </DropdownMenuItem>\n );\n })}\n {(profileHref || accountNav.length > 0) && (\n <DropdownMenuSeparator />\n )}\n <DropdownMenuItem\n variant=\"destructive\"\n disabled={logout.isPending}\n onClick={() => logout.mutate()}\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n\n {/* Mobile hamburger */}\n <button\n type=\"button\"\n aria-label={isDrawerOpen ? 'Close menu' : 'Open menu'}\n className=\"inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden\"\n onClick={() => setIsDrawerOpen(!isDrawerOpen)}\n >\n {isDrawerOpen ? (\n <X className=\"h-5 w-5\" />\n ) : (\n <Menu className=\"h-5 w-5\" />\n )}\n </button>\n </div>\n\n {/* Mobile right drawer */}\n {isDrawerOpen && (\n <div\n className=\"fixed inset-0 z-[30] duration-200 md:hidden\"\n onClick={() => setIsDrawerOpen(false)}\n />\n )}\n\n <div\n className={cn(\n 'fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden',\n 'transition-transform duration-250 ease-out',\n isDrawerOpen ? 'translate-x-0' : 'translate-x-full',\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Mobile menu\"\n >\n <div className=\"flex h-full flex-col\">\n <div className=\"mt-1 flex items-center justify-between border-b px-4 py-3\">\n <div className=\"flex items-center gap-2\">\n <Image\n src=\"/betterinternship-logo.png\"\n alt=\"\"\n width={25}\n height={25}\n className=\"h-6 w-6 rounded object-contain\"\n />\n <span className=\"text-sm font-semibold\">Partners</span>\n <span className=\"rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none\">\n {portal}\n </span>\n </div>\n <button\n type=\"button\"\n aria-label=\"Close menu\"\n className=\"inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100\"\n onClick={() => setIsDrawerOpen(false)}\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"flex-1 overflow-y-auto p-4\">\n {userPrimary && (\n <div className=\"flex items-center gap-2 pb-2\">\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n <span className=\"text-sm font-semibold text-gray-900\">\n {userPrimary}\n </span>\n </div>\n )}\n\n <Separator className=\"my-4\" />\n\n <nav className=\"space-y-1\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link\n key={item.href}\n href={item.href}\n className=\"block w-full\"\n >\n <button className=\"flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50\">\n <div className=\"flex items-center gap-2\">\n <Icon className=\"h-4 w-4 text-gray-500\" />\n <span>{item.label}</span>\n {!!item.badge && (\n <span className=\"inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n !\n </span>\n )}\n </div>\n <ChevronRight className=\"h-4 w-4 text-gray-300\" />\n </button>\n </Link>\n );\n })}\n </nav>\n </div>\n\n <div className=\"mt-auto border-t px-4 py-3 space-y-1\">\n {profileHref && (\n <Link href={profileHref} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <UserRound className=\"h-4 w-4\" />\n Profile\n </button>\n </Link>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link key={item.href} href={item.href} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </button>\n </Link>\n );\n })}\n <button\n onClick={() => logout.mutate()}\n disabled={logout.isPending}\n className=\"flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50\"\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </button>\n </div>\n </div>\n </div>\n </header>\n );\n}\n"],"names":["usePathname","useRouter","_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"app-header.js","sources":["../../../src/components/ui/app-header.tsx"],"sourcesContent":["import Link from 'next/link';\nimport Image from 'next/image';\nimport { usePathname, useRouter } from 'next/navigation';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n} from '@/components/ui/dropdown-menu';\nimport { Button } from '@/components/ui/button';\nimport { Separator } from '@/components/ui/separator';\nimport { cn } from '@/utils';\nimport {\n LogOut,\n Menu,\n X,\n UserRound,\n ChevronDown,\n ChevronRight,\n Handshake,\n Mail,\n History,\n FileText,\n Users,\n LayoutDashboard,\n FileSignature,\n GraduationCap,\n Building2,\n SearchCheck,\n} from 'lucide-react';\nimport { useState, useEffect } from 'react';\nimport type { ReactNode } from 'react';\nimport type { LucideIcon } from 'lucide-react';\n\nexport interface NavItem {\n href: string;\n label: string;\n badge?: number;\n icon?: LucideIcon;\n}\n\ninterface AppHeaderProps {\n portal: string;\n homeHref: string;\n nav: NavItem[];\n userPrimary?: string;\n userSecondary?: string;\n logout: () => Promise<unknown>;\n postLogoutPath: string;\n profileHref?: string;\n userAvatarUrl?: string | null;\n accountNav?: NavItem[];\n /** Overrides the hardcoded \"Partners\" brand text. */\n brand?: string;\n /** Overrides the hardcoded \"/betterinternship-logo.png\" logo path. */\n logoPath?: string;\n /** Extra controls rendered next to the nav (desktop) and inside the drawer (mobile). */\n actions?: ReactNode;\n}\n\nfunction labelIcon(label: string): LucideIcon {\n const map: Record<string, LucideIcon> = {\n Partners: Handshake,\n Invites: Mail,\n Invitations: Mail,\n Accounts: Users,\n 'Activity Log': History,\n 'MOA Templates': FileText,\n Universities: GraduationCap,\n Companies: Building2,\n 'Company Reviews': SearchCheck,\n 'Request MOA': FileSignature,\n Dashboard: LayoutDashboard,\n };\n return map[label] ?? Handshake;\n}\n\nexport function AppHeader({\n portal,\n homeHref,\n nav,\n userPrimary,\n userSecondary,\n logout: logoutFn,\n postLogoutPath,\n profileHref,\n userAvatarUrl,\n accountNav = [],\n brand = 'Partners',\n logoPath = '/betterinternship-logo.png',\n actions,\n}: AppHeaderProps) {\n const pathname = usePathname() ?? '';\n const router = useRouter();\n const queryClient = useQueryClient();\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\n\n useEffect(() => {\n setIsDrawerOpen(false);\n }, [pathname]);\n\n useEffect(() => {\n document.body.style.overflow = isDrawerOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isDrawerOpen]);\n\n const logout = useMutation({\n mutationFn: logoutFn,\n onSettled: () => {\n queryClient.clear();\n router.replace(postLogoutPath);\n },\n });\n\n const isActive = (href: string) =>\n pathname === href || pathname.startsWith(`${href}/`);\n\n return (\n <header className=\"bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur\">\n <div className=\"mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8\">\n {/* Brand */}\n <Link\n href={homeHref}\n className=\"block flex-shrink-0 border-none text-black! outline-none focus:outline-none\"\n >\n <div className=\"flex items-center gap-2\">\n <Image\n src={logoPath}\n alt=\"\"\n width={25}\n height={25}\n className=\"flex-none\"\n />\n <div className=\"flex items-center\">\n <h1 className=\"font-display text-lg font-bold text-gray-900\">\n {brand}\n </h1>\n <span className=\"mx-2.5 text-gray-300\" aria-hidden=\"true\">\n |\n </span>\n <span className=\"font-display text-gray-500\">\n {portal === 'Platform Admin' ? portal : `${portal} Portal`}\n </span>\n </div>\n </div>\n </Link>\n\n {/* Desktop right side: nav buttons + user */}\n <div className=\"hidden flex-1 items-center justify-end gap-2 md:flex\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Button\n key={item.href}\n variant=\"ghost\"\n className={cn(\n 'relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1',\n isActive(item.href)\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n onClick={() => router.push(item.href)}\n >\n <Icon className=\"!h-6 !w-6\" strokeWidth={1.7} />\n <span className=\"text-xs\">{item.label}</span>\n {!!item.badge && (\n <span className=\"absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n {item.badge}\n </span>\n )}\n </Button>\n );\n })}\n\n {actions}\n\n {/* User dropdown */}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n 'group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1',\n (profileHref && isActive(profileHref)) ||\n accountNav.some((item) => isActive(item.href))\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n >\n <div className=\"flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100\">\n {userAvatarUrl ? (\n <img\n src={userAvatarUrl}\n alt=\"\"\n className=\"h-full w-full object-contain\"\n />\n ) : (\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n )}\n </div>\n <div className=\"flex items-center gap-0.5\">\n <span className=\"text-xs\">Account</span>\n <ChevronDown className=\"!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180\" />\n </div>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-max min-w-44\">\n {userPrimary && (\n <div className=\"px-2 py-1.5\">\n <div className=\"text-center text-sm font-medium\">\n {userPrimary}\n </div>\n {userSecondary && (\n <div className=\"text-muted-foreground text-center text-xs\">\n {userSecondary}\n </div>\n )}\n </div>\n )}\n <DropdownMenuSeparator />\n {profileHref && (\n <DropdownMenuItem asChild>\n <Link href={profileHref}>\n <UserRound className=\"h-4 w-4\" />\n Profile\n </Link>\n </DropdownMenuItem>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <DropdownMenuItem key={item.href} asChild>\n <Link href={item.href}>\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </Link>\n </DropdownMenuItem>\n );\n })}\n {(profileHref || accountNav.length > 0) && (\n <DropdownMenuSeparator />\n )}\n <DropdownMenuItem\n variant=\"destructive\"\n disabled={logout.isPending}\n onClick={() => logout.mutate()}\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n\n {/* Mobile hamburger */}\n <button\n type=\"button\"\n aria-label={isDrawerOpen ? 'Close menu' : 'Open menu'}\n className=\"inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden\"\n onClick={() => setIsDrawerOpen(!isDrawerOpen)}\n >\n {isDrawerOpen ? (\n <X className=\"h-5 w-5\" />\n ) : (\n <Menu className=\"h-5 w-5\" />\n )}\n </button>\n </div>\n\n {/* Mobile right drawer */}\n {isDrawerOpen && (\n <div\n className=\"fixed inset-0 z-[30] duration-200 md:hidden\"\n onClick={() => setIsDrawerOpen(false)}\n />\n )}\n\n <div\n className={cn(\n 'fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden',\n 'transition-transform duration-250 ease-out',\n isDrawerOpen ? 'translate-x-0' : 'translate-x-full',\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Mobile menu\"\n >\n <div className=\"flex h-full flex-col\">\n <div className=\"mt-1 flex items-center justify-between border-b px-4 py-3\">\n <div className=\"flex items-center gap-2\">\n <Image\n src={logoPath}\n alt=\"\"\n width={25}\n height={25}\n className=\"h-6 w-6 rounded object-contain\"\n />\n <span className=\"text-sm font-semibold\">{brand}</span>\n <span className=\"rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none\">\n {portal}\n </span>\n </div>\n <button\n type=\"button\"\n aria-label=\"Close menu\"\n className=\"inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100\"\n onClick={() => setIsDrawerOpen(false)}\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"flex-1 overflow-y-auto p-4\">\n {userPrimary && (\n <div className=\"flex items-center gap-2 pb-2\">\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n <span className=\"text-sm font-semibold text-gray-900\">\n {userPrimary}\n </span>\n </div>\n )}\n\n <Separator className=\"my-4\" />\n\n {actions && <div className=\"mb-2\">{actions}</div>}\n\n <nav className=\"space-y-1\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link\n key={item.href}\n href={item.href}\n className=\"block w-full\"\n >\n <button className=\"flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50\">\n <div className=\"flex items-center gap-2\">\n <Icon className=\"h-4 w-4 text-gray-500\" />\n <span>{item.label}</span>\n {!!item.badge && (\n <span className=\"inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n !\n </span>\n )}\n </div>\n <ChevronRight className=\"h-4 w-4 text-gray-300\" />\n </button>\n </Link>\n );\n })}\n </nav>\n </div>\n\n <div className=\"mt-auto border-t px-4 py-3 space-y-1\">\n {profileHref && (\n <Link href={profileHref} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <UserRound className=\"h-4 w-4\" />\n Profile\n </button>\n </Link>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link key={item.href} href={item.href} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </button>\n </Link>\n );\n })}\n <button\n onClick={() => logout.mutate()}\n disabled={logout.isPending}\n className=\"flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50\"\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </button>\n </div>\n </div>\n </div>\n </header>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
3
  import { cn } from '../../utils.js';
4
4
 
5
5
  function Avatar({ className, ...props }) {
6
- return (jsxRuntimeExports.jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className), ...props }));
6
+ return (jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className), ...props }));
7
7
  }
8
8
  function AvatarImage({ className, ...props }) {
9
- return (jsxRuntimeExports.jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn('aspect-square size-full', className), ...props }));
9
+ return (jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn('aspect-square size-full', className), ...props }));
10
10
  }
11
11
  function AvatarFallback({ className, ...props }) {
12
- return (jsxRuntimeExports.jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn('bg-muted flex size-full items-center justify-center rounded-full', className), ...props }));
12
+ return (jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn('bg-muted flex size-full items-center justify-center rounded-full', className), ...props }));
13
13
  }
14
14
 
15
15
  export { Avatar, AvatarFallback, AvatarImage };
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../../src/components/ui/avatar.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from '@/utils';\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: 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(\n 'bg-muted flex size-full items-center justify-center rounded-full',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"names":["_jsx"],"mappings":";;;;AAKA,SAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EAC0C,EAAA;IAClD,QACEA,sBAAC,eAAe,CAAC,IAAI,EAAA,EAAA,WAAA,EACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C,EAAA;IACnD,QACEA,sBAAC,eAAe,CAAC,KAAK,EAAA,EAAA,WAAA,EACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAC/C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EAC8C,EAAA;IACtD,QACEA,sBAAC,eAAe,CAAC,QAAQ,EAAA,EAAA,WAAA,EACb,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;;;;"}
1
+ {"version":3,"file":"avatar.js","sources":["../../../src/components/ui/avatar.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\n\nimport { cn } from '@/utils';\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: 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(\n 'bg-muted flex size-full items-center justify-center rounded-full',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"names":["_jsx"],"mappings":";;;;AAKA,SAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EAC0C,EAAA;IAClD,QACEA,IAAC,eAAe,CAAC,IAAI,EAAA,EAAA,WAAA,EACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C,EAAA;IACnD,QACEA,IAAC,eAAe,CAAC,KAAK,EAAA,EAAA,WAAA,EACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAC/C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EAC8C,EAAA;IACtD,QACEA,IAAC,eAAe,CAAC,QAAQ,EAAA,EAAA,WAAA,EACb,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { cva } from '../../node_modules/class-variance-authority/dist/index.js';
3
3
  import { cn } from '../../utils.js';
4
4
  import { BooleanCheckIcon } from './icons.js';
@@ -102,11 +102,11 @@ const badgeVariants = cva([
102
102
  },
103
103
  });
104
104
  function Badge({ className, variant, type, strength, ...props }) {
105
- return (jsxRuntimeExports.jsx("div", { className: cn(badgeVariants({ variant, type, strength }), className), ...props }));
105
+ return (jsx("div", { className: cn(badgeVariants({ variant, type, strength }), className), ...props }));
106
106
  }
107
107
  Badge.displayName = 'Badge';
108
108
  function BoolBadge({ state, onValue, offValue, onScheme = 'supportive', offScheme = 'accent', className = '', ...props }) {
109
- return (jsxRuntimeExports.jsxs(Badge, { variant: "solid", type: state ? onScheme : offScheme, ...props, className: cn('pointer-events-none rounded-[0.33em]', className), children: [jsxRuntimeExports.jsx(BooleanCheckIcon, { checked: state }), state ? onValue : offValue] }));
109
+ return (jsxs(Badge, { variant: "solid", type: state ? onScheme : offScheme, ...props, className: cn('pointer-events-none rounded-[0.33em]', className), children: [jsx(BooleanCheckIcon, { checked: state }), state ? onValue : offValue] }));
110
110
  }
111
111
 
112
112
  export { Badge, BoolBadge };
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/utils';\nimport { BooleanCheckIcon } from './icons';\n\nconst badgeVariants = cva(\n [\n 'border',\n 'cursor-default',\n 'font-semibold',\n 'inline-flex',\n 'items-center',\n 'px-[0.75em]',\n 'py-[0.25em]',\n 'rounded-[0.33em]',\n 'select-none',\n 'text-xs',\n 'transition-colors',\n 'whitespace-nowrap',\n ],\n {\n variants: {\n variant: {\n outline: ['bg-transparent', 'border-opacity-70'],\n solid: ['border-transparent'],\n },\n type: {\n default: [],\n primary: [],\n accent: [],\n supportive: [],\n warning: [],\n destructive: [],\n },\n strength: {\n default: ['opacity-100'],\n medium: ['opacity-80'],\n light: ['opacity-50'],\n invisible: ['opacity-0'],\n },\n },\n compoundVariants: [\n {\n variant: 'outline',\n type: 'default',\n class: 'border-gray-400 text-gray-600',\n },\n {\n variant: 'outline',\n type: 'primary',\n class: 'border-primary/80 text-primary',\n },\n {\n variant: 'outline',\n type: 'accent',\n class: 'border-accent/80 text-accent',\n },\n {\n variant: 'outline',\n type: 'supportive',\n class: 'border-supportive/80 text-supportive',\n },\n {\n variant: 'outline',\n type: 'warning',\n class: 'border-warning/80 text-warning',\n },\n {\n variant: 'outline',\n type: 'destructive',\n class: 'border-destructive/80 text-destructive',\n },\n { variant: 'solid', type: 'default', class: 'bg-gray-100 text-gray-700' },\n {\n variant: 'solid',\n type: 'primary',\n class: 'bg-primary text-primary-foreground',\n },\n {\n variant: 'solid',\n type: 'accent',\n class: 'bg-accent text-accent-foreground',\n },\n {\n variant: 'solid',\n type: 'supportive',\n class: 'bg-supportive text-supportive-foreground',\n },\n {\n variant: 'solid',\n type: 'warning',\n class: 'bg-warning text-warning-foreground',\n },\n {\n variant: 'solid',\n type: 'destructive',\n class: 'bg-destructive text-destructive-foreground',\n },\n ],\n defaultVariants: {\n variant: 'outline',\n type: 'default',\n strength: 'default',\n },\n },\n);\n\nexport interface BadgeProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nexport function Badge({\n className,\n variant,\n type,\n strength,\n ...props\n}: BadgeProps) {\n return (\n <div\n className={cn(badgeVariants({ variant, type, strength }), className)}\n {...props}\n />\n );\n}\nBadge.displayName = 'Badge';\n\nexport function BoolBadge({\n state,\n onValue,\n offValue,\n onScheme = 'supportive',\n offScheme = 'accent',\n className = '',\n ...props\n}: {\n state: boolean | null | undefined;\n onValue: string;\n offValue: string;\n onScheme?: 'default' | 'primary' | 'accent' | 'supportive' | 'destructive';\n offScheme?: 'default' | 'primary' | 'accent' | 'supportive' | 'destructive';\n className?: string;\n}) {\n return (\n <Badge\n variant=\"solid\"\n type={state ? onScheme : offScheme}\n {...props}\n className={cn('pointer-events-none rounded-[0.33em]', className)}\n >\n <BooleanCheckIcon checked={state} />\n {state ? onValue : offValue}\n </Badge>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"badge.js","sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/utils';\nimport { BooleanCheckIcon } from './icons';\n\nconst badgeVariants = cva(\n [\n 'border',\n 'cursor-default',\n 'font-semibold',\n 'inline-flex',\n 'items-center',\n 'px-[0.75em]',\n 'py-[0.25em]',\n 'rounded-[0.33em]',\n 'select-none',\n 'text-xs',\n 'transition-colors',\n 'whitespace-nowrap',\n ],\n {\n variants: {\n variant: {\n outline: ['bg-transparent', 'border-opacity-70'],\n solid: ['border-transparent'],\n },\n type: {\n default: [],\n primary: [],\n accent: [],\n supportive: [],\n warning: [],\n destructive: [],\n },\n strength: {\n default: ['opacity-100'],\n medium: ['opacity-80'],\n light: ['opacity-50'],\n invisible: ['opacity-0'],\n },\n },\n compoundVariants: [\n {\n variant: 'outline',\n type: 'default',\n class: 'border-gray-400 text-gray-600',\n },\n {\n variant: 'outline',\n type: 'primary',\n class: 'border-primary/80 text-primary',\n },\n {\n variant: 'outline',\n type: 'accent',\n class: 'border-accent/80 text-accent',\n },\n {\n variant: 'outline',\n type: 'supportive',\n class: 'border-supportive/80 text-supportive',\n },\n {\n variant: 'outline',\n type: 'warning',\n class: 'border-warning/80 text-warning',\n },\n {\n variant: 'outline',\n type: 'destructive',\n class: 'border-destructive/80 text-destructive',\n },\n { variant: 'solid', type: 'default', class: 'bg-gray-100 text-gray-700' },\n {\n variant: 'solid',\n type: 'primary',\n class: 'bg-primary text-primary-foreground',\n },\n {\n variant: 'solid',\n type: 'accent',\n class: 'bg-accent text-accent-foreground',\n },\n {\n variant: 'solid',\n type: 'supportive',\n class: 'bg-supportive text-supportive-foreground',\n },\n {\n variant: 'solid',\n type: 'warning',\n class: 'bg-warning text-warning-foreground',\n },\n {\n variant: 'solid',\n type: 'destructive',\n class: 'bg-destructive text-destructive-foreground',\n },\n ],\n defaultVariants: {\n variant: 'outline',\n type: 'default',\n strength: 'default',\n },\n },\n);\n\nexport interface BadgeProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nexport function Badge({\n className,\n variant,\n type,\n strength,\n ...props\n}: BadgeProps) {\n return (\n <div\n className={cn(badgeVariants({ variant, type, strength }), className)}\n {...props}\n />\n );\n}\nBadge.displayName = 'Badge';\n\nexport function BoolBadge({\n state,\n onValue,\n offValue,\n onScheme = 'supportive',\n offScheme = 'accent',\n className = '',\n ...props\n}: {\n state: boolean | null | undefined;\n onValue: string;\n offValue: string;\n onScheme?: 'default' | 'primary' | 'accent' | 'supportive' | 'destructive';\n offScheme?: 'default' | 'primary' | 'accent' | 'supportive' | 'destructive';\n className?: string;\n}) {\n return (\n <Badge\n variant=\"solid\"\n type={state ? onScheme : offScheme}\n {...props}\n className={cn('pointer-events-none rounded-[0.33em]', className)}\n >\n <BooleanCheckIcon checked={state} />\n {state ? onValue : offValue}\n </Badge>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import React__default from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import { cva } from '../../node_modules/class-variance-authority/dist/index.js';
@@ -80,7 +80,7 @@ const buttonVariants = cva([
80
80
  });
81
81
  const Button = React__default.forwardRef(({ className, variant, scheme, size, expandIcon, asChild = false, ...props }, ref) => {
82
82
  const Comp = asChild ? Slot : 'button';
83
- return (jsxRuntimeExports.jsx(Comp, { className: cn(buttonVariants({ variant, scheme, size, expandIcon, className })), ref: ref, ...props }));
83
+ return (jsx(Comp, { className: cn(buttonVariants({ variant, scheme, size, expandIcon, className })), ref: ref, ...props }));
84
84
  });
85
85
  Button.displayName = 'Button';
86
86
 
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/utils';\n\nconst buttonVariants = cva(\n [\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'whitespace-nowrap',\n 'rounded-[0.33em]',\n 'text-sm',\n 'font-medium',\n 'transition-colors',\n 'cursor-pointer',\n 'focus:outline-none',\n 'focus:ring-transparent',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n '[&_svg]:pointer-events-none',\n '[&_svg]:size-4',\n '[&_svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n outline:\n 'border border-gray-300 text-gray-700 bg-background hover:bg-accent',\n ghost: 'hover:bg-accent text-gray-700 hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n scheme: {\n default: '',\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n supportive:\n 'bg-supportive text-supportive-foreground hover:bg-supportive/90',\n destructive:\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n },\n size: {\n default: 'h-8 px-[1em] py-[0.33em]',\n sm: 'h-8 px-3',\n lg: 'h-11 px-8',\n md: 'h-10 px-6',\n icon: 'h-10 w-10',\n xs: 'h-6 px-3 text-xs',\n },\n expandIcon: {\n true: 'max-w-8 gap-0 overflow-hidden px-2 transition-[max-width,padding,gap] duration-200 hover:max-w-48 hover:gap-2 hover:px-3 focus-visible:max-w-48 focus-visible:gap-2 focus-visible:px-3 [&_.button-label]:max-w-0 [&_.button-label]:overflow-hidden [&_.button-label]:opacity-0 [&_.button-label]:transition-[max-width,opacity] [&_.button-label]:duration-200 hover:[&_.button-label]:max-w-40 hover:[&_.button-label]:opacity-100 focus-visible:[&_.button-label]:max-w-40 focus-visible:[&_.button-label]:opacity-100',\n false: '',\n },\n },\n compoundVariants: [\n {\n variant: 'outline',\n scheme: 'primary',\n class:\n 'bg-background border border-primary text-primary hover:bg-blue-50',\n },\n {\n variant: 'outline',\n scheme: 'supportive',\n class:\n 'bg-background border border-supportive text-supportive hover:bg-green-50',\n },\n {\n variant: 'outline',\n scheme: 'destructive',\n class:\n 'bg-background border border-destructive text-destructive hover:bg-red-50',\n },\n {\n variant: 'ghost',\n scheme: 'destructive',\n class:\n 'bg-transparent text-destructive hover:bg-red-50 hover:text-destructive',\n },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'default',\n expandIcon: false,\n },\n },\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, scheme, size, expandIcon, asChild = false, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, scheme, size, expandIcon, className }),\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"names":["React","_jsx"],"mappings":";;;;;;AAMA,MAAM,cAAc,GAAG,GAAG,CACxB;IACE,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,mBAAmB;IACnB,kBAAkB;IAClB,SAAS;IACT,aAAa;IACb,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,8BAA8B;IAC9B,qBAAqB;IACrB,6BAA6B;IAC7B,gBAAgB;IAChB,kBAAkB;CACnB,EACD;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,wDAAwD;AACjE,YAAA,OAAO,EACL,oEAAoE;AACtE,YAAA,KAAK,EAAE,4DAA4D;AACnE,YAAA,IAAI,EAAE,iDAAiD;AACxD,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,OAAO,EAAE,wDAAwD;AACjE,YAAA,UAAU,EACR,iEAAiE;AACnE,YAAA,WAAW,EACT,oEAAoE;AACtE,YAAA,SAAS,EACP,8DAA8D;AACjE,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,EAAE,EAAE,kBAAkB;AACvB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,0fAA0f;AAChgB,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,KAAK,EACH,mEAAmE;AACtE,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,KAAK,EACH,0EAA0E;AAC7E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,KAAK,EACH,0EAA0E;AAC7E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,KAAK,EACH,wEAAwE;AAC3E,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA;AACF,CAAA;AAUH,MAAM,MAAM,GAAGA,cAAK,CAAC,UAAU,CAC7B,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAC3E,GAAG,KACD;IACF,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AACtC,IAAA,QACEC,qBAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAE,EAAE,CACX,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CACjE,EACD,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
1
+ {"version":3,"file":"button.js","sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/utils';\n\nconst buttonVariants = cva(\n [\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'whitespace-nowrap',\n 'rounded-[0.33em]',\n 'text-sm',\n 'font-medium',\n 'transition-colors',\n 'cursor-pointer',\n 'focus:outline-none',\n 'focus:ring-transparent',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n '[&_svg]:pointer-events-none',\n '[&_svg]:size-4',\n '[&_svg]:shrink-0',\n ],\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n outline:\n 'border border-gray-300 text-gray-700 bg-background hover:bg-accent',\n ghost: 'hover:bg-accent text-gray-700 hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n scheme: {\n default: '',\n primary: 'bg-primary text-primary-foreground hover:bg-primary/90',\n supportive:\n 'bg-supportive text-supportive-foreground hover:bg-supportive/90',\n destructive:\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n },\n size: {\n default: 'h-8 px-[1em] py-[0.33em]',\n sm: 'h-8 px-3',\n lg: 'h-11 px-8',\n md: 'h-10 px-6',\n icon: 'h-10 w-10',\n xs: 'h-6 px-3 text-xs',\n },\n expandIcon: {\n true: 'max-w-8 gap-0 overflow-hidden px-2 transition-[max-width,padding,gap] duration-200 hover:max-w-48 hover:gap-2 hover:px-3 focus-visible:max-w-48 focus-visible:gap-2 focus-visible:px-3 [&_.button-label]:max-w-0 [&_.button-label]:overflow-hidden [&_.button-label]:opacity-0 [&_.button-label]:transition-[max-width,opacity] [&_.button-label]:duration-200 hover:[&_.button-label]:max-w-40 hover:[&_.button-label]:opacity-100 focus-visible:[&_.button-label]:max-w-40 focus-visible:[&_.button-label]:opacity-100',\n false: '',\n },\n },\n compoundVariants: [\n {\n variant: 'outline',\n scheme: 'primary',\n class:\n 'bg-background border border-primary text-primary hover:bg-blue-50',\n },\n {\n variant: 'outline',\n scheme: 'supportive',\n class:\n 'bg-background border border-supportive text-supportive hover:bg-green-50',\n },\n {\n variant: 'outline',\n scheme: 'destructive',\n class:\n 'bg-background border border-destructive text-destructive hover:bg-red-50',\n },\n {\n variant: 'ghost',\n scheme: 'destructive',\n class:\n 'bg-transparent text-destructive hover:bg-red-50 hover:text-destructive',\n },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'default',\n expandIcon: false,\n },\n },\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, scheme, size, expandIcon, asChild = false, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, scheme, size, expandIcon, className }),\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"names":["React","_jsx"],"mappings":";;;;;;AAMA,MAAM,cAAc,GAAG,GAAG,CACxB;IACE,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,mBAAmB;IACnB,kBAAkB;IAClB,SAAS;IACT,aAAa;IACb,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,wBAAwB;IACxB,8BAA8B;IAC9B,qBAAqB;IACrB,6BAA6B;IAC7B,gBAAgB;IAChB,kBAAkB;CACnB,EACD;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,wDAAwD;AACjE,YAAA,OAAO,EACL,oEAAoE;AACtE,YAAA,KAAK,EAAE,4DAA4D;AACnE,YAAA,IAAI,EAAE,iDAAiD;AACxD,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,OAAO,EAAE,wDAAwD;AACjE,YAAA,UAAU,EACR,iEAAiE;AACnE,YAAA,WAAW,EACT,oEAAoE;AACtE,YAAA,SAAS,EACP,8DAA8D;AACjE,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE,0BAA0B;AACnC,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,EAAE,EAAE,kBAAkB;AACvB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,0fAA0f;AAChgB,YAAA,KAAK,EAAE,EAAE;AACV,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE;AAChB,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,KAAK,EACH,mEAAmE;AACtE,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,KAAK,EACH,0EAA0E;AAC7E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,KAAK,EACH,0EAA0E;AAC7E,SAAA;AACD,QAAA;AACE,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,KAAK,EACH,wEAAwE;AAC3E,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA;AACF,CAAA;AAUH,MAAM,MAAM,GAAGA,cAAK,CAAC,UAAU,CAC7B,CACE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAC3E,GAAG,KACD;IACF,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AACtC,IAAA,QACEC,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAE,EAAE,CACX,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CACjE,EACD,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACT;AAEN,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -1,26 +1,26 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { cn } from '../../utils.js';
3
3
 
4
4
  function Card({ className, ...props }) {
5
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card", className: cn('bg-card text-card-foreground flex flex-col gap-6 rounded-[0.33em] border border-gray-300 py-4', className), ...props }));
5
+ return (jsx("div", { "data-slot": "card", className: cn('bg-card text-card-foreground flex flex-col gap-6 rounded-[0.33em] border border-gray-300 py-4', className), ...props }));
6
6
  }
7
7
  function CardHeader({ className, ...props }) {
8
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-header", className: cn('@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6', className), ...props }));
8
+ return (jsx("div", { "data-slot": "card-header", className: cn('@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6', className), ...props }));
9
9
  }
10
10
  function CardTitle({ className, ...props }) {
11
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-title", className: cn('leading-none font-semibold', className), ...props }));
11
+ return (jsx("div", { "data-slot": "card-title", className: cn('leading-none font-semibold', className), ...props }));
12
12
  }
13
13
  function CardDescription({ className, ...props }) {
14
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-description", className: cn('text-muted-foreground text-sm', className), ...props }));
14
+ return (jsx("div", { "data-slot": "card-description", className: cn('text-muted-foreground text-sm', className), ...props }));
15
15
  }
16
16
  function CardAction({ className, ...props }) {
17
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-action", className: cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className), ...props }));
17
+ return (jsx("div", { "data-slot": "card-action", className: cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className), ...props }));
18
18
  }
19
19
  function CardContent({ className, ...props }) {
20
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-content", className: cn('px-6', className), ...props }));
20
+ return (jsx("div", { "data-slot": "card-content", className: cn('px-6', className), ...props }));
21
21
  }
22
22
  function CardFooter({ className, ...props }) {
23
- return (jsxRuntimeExports.jsx("div", { "data-slot": "card-footer", className: cn('flex items-center px-6 [.border-t]:pt-6', className), ...props }));
23
+ return (jsx("div", { "data-slot": "card-footer", className: cn('flex items-center px-6 [.border-t]:pt-6', className), ...props }));
24
24
  }
25
25
 
26
26
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../../src/components/ui/card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-[0.33em] border border-gray-300 py-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["_jsx"],"mappings":";;;AAIA,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AAChE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,MAAM,EAChB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,4JAA4J,EAC5J,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACrE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,EAAA,GAClD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AAC3E,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GACrD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACvE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA,GAC5B,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,EAAA,GAC/D,KAAK,EAAA,CACT;AAEN;;;;"}
1
+ {"version":3,"file":"card.js","sources":["../../../src/components/ui/card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-[0.33em] border border-gray-300 py-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["_jsx"],"mappings":";;;AAIA,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AAChE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,MAAM,EAChB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,4JAA4J,EAC5J,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACrE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,EAAA,GAClD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AAC3E,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GACrD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACvE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA,GAC5B,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACtE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,EAAA,GAC/D,KAAK,EAAA,CACT;AAEN;;;;"}
@@ -1,10 +1,10 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
3
  import { CheckIcon } from 'lucide-react';
4
4
  import { cn } from '../../utils.js';
5
5
 
6
6
  function Checkbox({ className, ...props }) {
7
- return (jsxRuntimeExports.jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", onClick: (e) => e.stopPropagation(), className: cn('peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: jsxRuntimeExports.jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "flex items-center justify-center text-current transition-none", children: jsxRuntimeExports.jsx(CheckIcon, { className: "size-3.5" }) }) }));
7
+ return (jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", onClick: (e) => e.stopPropagation(), className: cn('peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "flex items-center justify-center text-current transition-none", children: jsx(CheckIcon, { className: "size-3.5" }) }) }));
8
8
  }
9
9
 
10
10
  export { Checkbox };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../src/components/ui/checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/utils';\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n onClick={(e) => e.stopPropagation()}\n className={cn(\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["_jsx"],"mappings":";;;;;AAMA,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EAC4C,EAAA;IACpD,QACEA,qBAAA,CAAC,iBAAiB,CAAC,IAAI,iBACX,UAAU,EACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EACnC,SAAS,EAAE,EAAE,CACX,4fAA4f,EAC5f,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAETA,qBAAA,CAAC,iBAAiB,CAAC,SAAS,EAAA,EAAA,WAAA,EAChB,oBAAoB,EAC9B,SAAS,EAAC,+DAA+D,EAAA,QAAA,EAEzEA,qBAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,UAAU,EAAA,CAAG,EAAA,CACN,EAAA,CACP;AAE7B;;;;"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../src/components/ui/checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/utils';\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n onClick={(e) => e.stopPropagation()}\n className={cn(\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"names":["_jsx"],"mappings":";;;;;AAMA,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EAC4C,EAAA;IACpD,QACEA,GAAA,CAAC,iBAAiB,CAAC,IAAI,iBACX,UAAU,EACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,EACnC,SAAS,EAAE,EAAE,CACX,4fAA4f,EAC5f,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAETA,GAAA,CAAC,iBAAiB,CAAC,SAAS,EAAA,EAAA,WAAA,EAChB,oBAAoB,EAC9B,SAAS,EAAC,+DAA+D,EAAA,QAAA,EAEzEA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,UAAU,EAAA,CAAG,EAAA,CACN,EAAA,CACP;AAE7B;;;;"}
@@ -1,40 +1,40 @@
1
- import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as DialogPrimitive from '@radix-ui/react-dialog';
3
3
  import { XIcon } from 'lucide-react';
4
4
  import { cn } from '../../utils.js';
5
5
 
6
6
  function Dialog({ ...props }) {
7
- return jsxRuntimeExports.jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
7
+ return jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
8
8
  }
9
9
  function DialogTrigger({ ...props }) {
10
- return jsxRuntimeExports.jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
10
+ return jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
11
11
  }
12
12
  function DialogPortal({ ...props }) {
13
- return jsxRuntimeExports.jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
13
+ return jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
14
14
  }
15
15
  function DialogClose({ ...props }) {
16
- return jsxRuntimeExports.jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
16
+ return jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
17
17
  }
18
18
  function DialogOverlay({ className, ...props }) {
19
- return (jsxRuntimeExports.jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50', className), ...props }));
19
+ return (jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50', className), ...props }));
20
20
  }
21
21
  function DialogContent({ className, children, showCloseButton = true, ...props }) {
22
- return (jsxRuntimeExports.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsxRuntimeExports.jsx(DialogOverlay, {}), jsxRuntimeExports.jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg', className), ...props, children: [children, showCloseButton && (jsxRuntimeExports.jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [jsxRuntimeExports.jsx(XIcon, {}), jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
22
+ return (jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsx(DialogOverlay, {}), jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg', className), ...props, children: [children, showCloseButton && (jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [jsx(XIcon, {}), jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
23
23
  }
24
24
  function DialogHeader({ className, ...props }) {
25
- return (jsxRuntimeExports.jsx("div", { "data-slot": "dialog-header", className: cn('flex flex-col gap-2 text-center sm:text-left', className), ...props }));
25
+ return (jsx("div", { "data-slot": "dialog-header", className: cn('flex flex-col gap-2 text-center sm:text-left', className), ...props }));
26
26
  }
27
27
  function DialogFooter({ className, ...props }) {
28
- return (jsxRuntimeExports.jsx("div", { "data-slot": "dialog-footer", className: cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className), ...props }));
28
+ return (jsx("div", { "data-slot": "dialog-footer", className: cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className), ...props }));
29
29
  }
30
30
  function DialogTitle({ className, ...props }) {
31
- return (jsxRuntimeExports.jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn('text-lg leading-none font-semibold', className), ...props }));
31
+ return (jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn('text-lg leading-none font-semibold', className), ...props }));
32
32
  }
33
33
  function DialogDescription({ className, ...props }) {
34
- return (jsxRuntimeExports.jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn('text-muted-foreground text-sm', className), ...props }));
34
+ return (jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn('text-muted-foreground text-sm', className), ...props }));
35
35
  }
36
36
  function DialogBottomSheet({ className, children, showCloseButton = true, ...props }) {
37
- return (jsxRuntimeExports.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsxRuntimeExports.jsx(DialogOverlay, {}), jsxRuntimeExports.jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom fixed bottom-0 left-0 right-0 z-50 w-full rounded-t-xl border-t shadow-lg duration-300', className), ...props, children: [children, showCloseButton && (jsxRuntimeExports.jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [jsxRuntimeExports.jsx(XIcon, {}), jsxRuntimeExports.jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
37
+ return (jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [jsx(DialogOverlay, {}), jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom fixed bottom-0 left-0 right-0 z-50 w-full rounded-t-xl border-t shadow-lg duration-300', className), ...props, children: [children, showCloseButton && (jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [jsx(XIcon, {}), jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
38
38
  }
39
39
 
40
40
  export { Dialog, DialogBottomSheet, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };