@jarllyng/nostromo 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/dist/base.css +0 -48
  2. package/dist/chunk-2DNQXAMB.cjs +1 -0
  3. package/dist/chunk-2HYJSYQX.js +3 -0
  4. package/dist/chunk-2HYJSYQX.js.map +1 -0
  5. package/dist/chunk-2JQROMCM.js +1 -0
  6. package/dist/chunk-35I2BJC3.js +3 -0
  7. package/dist/chunk-35I2BJC3.js.map +1 -0
  8. package/dist/chunk-35RWQSO2.cjs +3 -0
  9. package/dist/chunk-35RWQSO2.cjs.map +1 -0
  10. package/dist/chunk-3BNGK67W.js +1 -0
  11. package/dist/chunk-3QVQ2TNE.cjs +3 -0
  12. package/dist/chunk-3QVQ2TNE.cjs.map +1 -0
  13. package/dist/chunk-3V3OIZWQ.cjs +1 -0
  14. package/dist/chunk-44HISN45.js +1 -0
  15. package/dist/chunk-4FSJEW7W.cjs +1 -0
  16. package/dist/chunk-55N2IT62.cjs +1 -0
  17. package/dist/chunk-5PVFLXPO.cjs +1 -0
  18. package/dist/{chunk-ZC4HJSII.cjs → chunk-5Z3MYAVM.cjs} +3 -2
  19. package/dist/{chunk-ZC4HJSII.cjs.map → chunk-5Z3MYAVM.cjs.map} +1 -1
  20. package/dist/chunk-6QAYHUNV.js +1 -0
  21. package/dist/chunk-7PPAI3MM.cjs +1 -0
  22. package/dist/chunk-7SPPGTBT.cjs +1 -0
  23. package/dist/chunk-7WEIVLG3.cjs +1 -0
  24. package/dist/chunk-7YFUAGIW.cjs +1 -0
  25. package/dist/chunk-ABA7B5DE.js +1 -0
  26. package/dist/chunk-AC2JBXHQ.js +1 -0
  27. package/dist/chunk-AHRTNKXE.js +1 -0
  28. package/dist/chunk-AVTJE2O2.js +1 -0
  29. package/dist/{chunk-ZQDFYSZB.cjs → chunk-AYEM2M4H.cjs} +3 -2
  30. package/dist/{chunk-ZQDFYSZB.cjs.map → chunk-AYEM2M4H.cjs.map} +1 -1
  31. package/dist/chunk-BL2TM4YT.js +3 -0
  32. package/dist/chunk-BL2TM4YT.js.map +1 -0
  33. package/dist/chunk-BYV75TDY.cjs +1 -0
  34. package/dist/{chunk-BSUHBLZO.cjs → chunk-BZ5ZCZJX.cjs} +3 -2
  35. package/dist/{chunk-BSUHBLZO.cjs.map → chunk-BZ5ZCZJX.cjs.map} +1 -1
  36. package/dist/chunk-BZF3ZOAN.js +1 -0
  37. package/dist/chunk-C7HZAQBX.cjs +3 -0
  38. package/dist/chunk-C7HZAQBX.cjs.map +1 -0
  39. package/dist/chunk-CEMOHO3Z.js +1 -0
  40. package/dist/chunk-COXN6XBA.js +1 -0
  41. package/dist/chunk-DNTPD3PJ.js +3 -0
  42. package/dist/chunk-DNTPD3PJ.js.map +1 -0
  43. package/dist/chunk-EFCNLYYW.cjs +1 -0
  44. package/dist/chunk-EVRQYWZ3.cjs +1 -0
  45. package/dist/chunk-FUENXWR7.cjs +1 -0
  46. package/dist/chunk-G35BR7SK.cjs +1 -0
  47. package/dist/chunk-HD3TMQPR.js +1 -0
  48. package/dist/{chunk-TGPWW7FC.js → chunk-HRJXPCGF.js} +3 -2
  49. package/dist/{chunk-TGPWW7FC.js.map → chunk-HRJXPCGF.js.map} +1 -1
  50. package/dist/chunk-HWZTMVQV.cjs +1 -0
  51. package/dist/chunk-IOX4WPJL.cjs +1 -0
  52. package/dist/chunk-ITRGJNWL.cjs +1 -0
  53. package/dist/chunk-J4VRJVTO.cjs +1 -0
  54. package/dist/chunk-JCETHQ55.cjs +3 -0
  55. package/dist/chunk-JCETHQ55.cjs.map +1 -0
  56. package/dist/chunk-JEHIMQQZ.js +1 -0
  57. package/dist/chunk-JUOCEYUF.cjs +1 -0
  58. package/dist/chunk-K2JCGDU7.cjs +1 -0
  59. package/dist/chunk-LR4VUFOQ.js +1 -0
  60. package/dist/chunk-LXQT7FH6.cjs +1 -0
  61. package/dist/chunk-LYVCB45L.js +1 -0
  62. package/dist/chunk-MDXW6IRM.cjs +3 -0
  63. package/dist/chunk-MDXW6IRM.cjs.map +1 -0
  64. package/dist/chunk-MLJZU63I.cjs +1 -0
  65. package/dist/chunk-MLSE5XSB.cjs +1 -0
  66. package/dist/chunk-MOPCE5RA.js +3 -0
  67. package/dist/chunk-MOPCE5RA.js.map +1 -0
  68. package/dist/chunk-MVCGR7JQ.js +1 -0
  69. package/dist/chunk-MY2KMTUS.js +3 -0
  70. package/dist/chunk-MY2KMTUS.js.map +1 -0
  71. package/dist/chunk-NBX6FKCA.cjs +3 -0
  72. package/dist/chunk-NBX6FKCA.cjs.map +1 -0
  73. package/dist/chunk-NC27D5Y3.cjs +3 -0
  74. package/dist/chunk-NC27D5Y3.cjs.map +1 -0
  75. package/dist/chunk-NLD4R74T.js +1 -0
  76. package/dist/chunk-NPSIDFOF.cjs +3 -0
  77. package/dist/chunk-NPSIDFOF.cjs.map +1 -0
  78. package/dist/chunk-OEN63W3G.cjs +1 -0
  79. package/dist/chunk-OUWOPYAX.js +1 -0
  80. package/dist/chunk-PMNNV4ML.cjs +1 -0
  81. package/dist/chunk-Q6QMSAJR.js +1 -0
  82. package/dist/chunk-QBAURT3I.js +1 -0
  83. package/dist/chunk-QKM5LPRW.js +3 -0
  84. package/dist/chunk-QKM5LPRW.js.map +1 -0
  85. package/dist/chunk-RC2THAIA.js +1 -0
  86. package/dist/chunk-SVWQWRPZ.js +3 -0
  87. package/dist/chunk-SVWQWRPZ.js.map +1 -0
  88. package/dist/chunk-UIEGBT4T.js +3 -0
  89. package/dist/chunk-UIEGBT4T.js.map +1 -0
  90. package/dist/chunk-UL6MF7ES.js +1 -0
  91. package/dist/{chunk-4WFEVNXW.cjs → chunk-V45EOCAD.cjs} +3 -2
  92. package/dist/chunk-V45EOCAD.cjs.map +1 -0
  93. package/dist/chunk-V77N662N.cjs +1 -0
  94. package/dist/chunk-VD6S2PE4.js +1 -0
  95. package/dist/chunk-VNDL67OG.cjs +3 -0
  96. package/dist/chunk-VNDL67OG.cjs.map +1 -0
  97. package/dist/chunk-WK6LNC2E.cjs +3 -0
  98. package/dist/chunk-WK6LNC2E.cjs.map +1 -0
  99. package/dist/{chunk-M5IBD3KV.js → chunk-WO3KCAN6.js} +3 -2
  100. package/dist/{chunk-M5IBD3KV.js.map → chunk-WO3KCAN6.js.map} +1 -1
  101. package/dist/chunk-WW2DDHCI.js +1 -0
  102. package/dist/{chunk-7W456HZL.js → chunk-XJJJEWSU.js} +3 -2
  103. package/dist/{chunk-7W456HZL.js.map → chunk-XJJJEWSU.js.map} +1 -1
  104. package/dist/chunk-XLZJ6HBL.js +3 -0
  105. package/dist/chunk-XLZJ6HBL.js.map +1 -0
  106. package/dist/chunk-XPIBRXTW.cjs +1 -0
  107. package/dist/chunk-XQUZ7DUN.js +1 -0
  108. package/dist/chunk-XRVHMGMD.js +3 -0
  109. package/dist/chunk-XRVHMGMD.js.map +1 -0
  110. package/dist/chunk-YNSODGYK.js +1 -0
  111. package/dist/chunk-ZEJAFIOC.js +1 -0
  112. package/dist/components/core/accordion.cjs +1 -0
  113. package/dist/components/core/accordion.js +1 -0
  114. package/dist/components/core/alert.cjs +1 -0
  115. package/dist/components/core/alert.d.cts +1 -1
  116. package/dist/components/core/alert.d.ts +1 -1
  117. package/dist/components/core/alert.js +1 -0
  118. package/dist/components/core/avatar.cjs +1 -0
  119. package/dist/components/core/avatar.js +1 -0
  120. package/dist/components/core/badge.cjs +1 -0
  121. package/dist/components/core/badge.d.cts +2 -2
  122. package/dist/components/core/badge.d.ts +2 -2
  123. package/dist/components/core/badge.js +1 -0
  124. package/dist/components/core/breadcrumb.cjs +2 -1
  125. package/dist/components/core/breadcrumb.d.cts +10 -4
  126. package/dist/components/core/breadcrumb.d.ts +10 -4
  127. package/dist/components/core/breadcrumb.js +2 -1
  128. package/dist/components/core/button.cjs +1 -0
  129. package/dist/components/core/button.d.cts +2 -2
  130. package/dist/components/core/button.d.ts +2 -2
  131. package/dist/components/core/button.js +1 -0
  132. package/dist/components/core/calendar.cjs +2 -1
  133. package/dist/components/core/calendar.js +2 -1
  134. package/dist/components/core/card.cjs +1 -0
  135. package/dist/components/core/card.js +1 -0
  136. package/dist/components/core/charts-lazy.cjs +2 -1
  137. package/dist/components/core/charts-lazy.js +2 -1
  138. package/dist/components/core/charts.cjs +2 -1
  139. package/dist/components/core/charts.js +2 -1
  140. package/dist/components/core/checkbox.cjs +2 -1
  141. package/dist/components/core/checkbox.d.cts +1 -1
  142. package/dist/components/core/checkbox.d.ts +1 -1
  143. package/dist/components/core/checkbox.js +2 -1
  144. package/dist/components/core/data-table.cjs +2 -1
  145. package/dist/components/core/data-table.d.cts +2 -2
  146. package/dist/components/core/data-table.d.ts +2 -2
  147. package/dist/components/core/data-table.js +2 -1
  148. package/dist/components/core/dialog.cjs +2 -1
  149. package/dist/components/core/dialog.d.cts +21 -3
  150. package/dist/components/core/dialog.d.ts +21 -3
  151. package/dist/components/core/dialog.js +2 -1
  152. package/dist/components/core/error-boundary.cjs +1 -0
  153. package/dist/components/core/error-boundary.d.cts +1 -1
  154. package/dist/components/core/error-boundary.d.ts +1 -1
  155. package/dist/components/core/error-boundary.js +1 -0
  156. package/dist/components/core/error-message.cjs +1 -0
  157. package/dist/components/core/error-message.d.cts +1 -1
  158. package/dist/components/core/error-message.d.ts +1 -1
  159. package/dist/components/core/error-message.js +1 -0
  160. package/dist/components/core/helper-text.cjs +1 -0
  161. package/dist/components/core/helper-text.d.cts +1 -1
  162. package/dist/components/core/helper-text.d.ts +1 -1
  163. package/dist/components/core/helper-text.js +1 -0
  164. package/dist/components/core/icon.cjs +2 -1
  165. package/dist/components/core/icon.d.cts +3 -3
  166. package/dist/components/core/icon.d.ts +3 -3
  167. package/dist/components/core/icon.js +2 -1
  168. package/dist/components/core/input.cjs +1 -0
  169. package/dist/components/core/input.d.cts +1 -1
  170. package/dist/components/core/input.d.ts +1 -1
  171. package/dist/components/core/input.js +1 -0
  172. package/dist/components/core/label.cjs +1 -0
  173. package/dist/components/core/label.d.cts +1 -1
  174. package/dist/components/core/label.d.ts +1 -1
  175. package/dist/components/core/label.js +1 -0
  176. package/dist/components/core/pagination.cjs +1 -0
  177. package/dist/components/core/pagination.d.cts +1 -1
  178. package/dist/components/core/pagination.d.ts +1 -1
  179. package/dist/components/core/pagination.js +1 -0
  180. package/dist/components/core/progress.cjs +1 -0
  181. package/dist/components/core/progress.d.cts +3 -3
  182. package/dist/components/core/progress.d.ts +3 -3
  183. package/dist/components/core/progress.js +1 -0
  184. package/dist/components/core/radio-group.cjs +1 -0
  185. package/dist/components/core/radio-group.d.cts +1 -1
  186. package/dist/components/core/radio-group.d.ts +1 -1
  187. package/dist/components/core/radio-group.js +1 -0
  188. package/dist/components/core/select.cjs +1 -0
  189. package/dist/components/core/select.d.cts +3 -3
  190. package/dist/components/core/select.d.ts +3 -3
  191. package/dist/components/core/select.js +1 -0
  192. package/dist/components/core/separator.cjs +2 -1
  193. package/dist/components/core/separator.js +2 -1
  194. package/dist/components/core/skeleton.cjs +2 -1
  195. package/dist/components/core/skeleton.d.cts +1 -1
  196. package/dist/components/core/skeleton.d.ts +1 -1
  197. package/dist/components/core/skeleton.js +2 -1
  198. package/dist/components/core/switch.cjs +1 -0
  199. package/dist/components/core/switch.d.cts +1 -1
  200. package/dist/components/core/switch.d.ts +1 -1
  201. package/dist/components/core/switch.js +1 -0
  202. package/dist/components/core/table.cjs +2 -1
  203. package/dist/components/core/table.d.cts +11 -1
  204. package/dist/components/core/table.d.ts +11 -1
  205. package/dist/components/core/table.js +2 -1
  206. package/dist/components/core/tabs.cjs +1 -0
  207. package/dist/components/core/tabs.js +1 -0
  208. package/dist/components/core/textarea.cjs +2 -1
  209. package/dist/components/core/textarea.d.cts +1 -1
  210. package/dist/components/core/textarea.d.ts +1 -1
  211. package/dist/components/core/textarea.js +2 -1
  212. package/dist/components/core/toast.cjs +2 -1
  213. package/dist/components/core/toast.d.cts +2 -2
  214. package/dist/components/core/toast.d.ts +2 -2
  215. package/dist/components/core/toast.js +2 -1
  216. package/dist/components/core/tooltip.cjs +2 -1
  217. package/dist/components/core/tooltip.d.cts +2 -2
  218. package/dist/components/core/tooltip.d.ts +2 -2
  219. package/dist/components/core/tooltip.js +2 -1
  220. package/dist/components/marketing/features.cjs +1 -0
  221. package/dist/components/marketing/features.d.cts +2 -2
  222. package/dist/components/marketing/features.d.ts +2 -2
  223. package/dist/components/marketing/features.js +1 -0
  224. package/dist/components/marketing/gallery.cjs +1 -0
  225. package/dist/components/marketing/gallery.d.cts +1 -1
  226. package/dist/components/marketing/gallery.d.ts +1 -1
  227. package/dist/components/marketing/gallery.js +1 -0
  228. package/dist/components/marketing/hero.cjs +1 -0
  229. package/dist/components/marketing/hero.js +1 -0
  230. package/dist/components/marketing/logo-wall.cjs +1 -0
  231. package/dist/components/marketing/logo-wall.js +1 -0
  232. package/dist/components/marketing/pricing.cjs +1 -0
  233. package/dist/components/marketing/pricing.d.cts +1 -1
  234. package/dist/components/marketing/pricing.d.ts +1 -1
  235. package/dist/components/marketing/pricing.js +1 -0
  236. package/dist/components/marketing/testimonials.cjs +1 -0
  237. package/dist/components/marketing/testimonials.d.cts +1 -1
  238. package/dist/components/marketing/testimonials.d.ts +1 -1
  239. package/dist/components/marketing/testimonials.js +1 -0
  240. package/dist/index.cjs +2 -1
  241. package/dist/index.cjs.map +1 -1
  242. package/dist/index.css +1 -1
  243. package/dist/index.css.map +1 -1
  244. package/dist/index.d.cts +3 -3
  245. package/dist/index.d.ts +3 -3
  246. package/dist/index.js +2 -1
  247. package/dist/index.js.map +1 -1
  248. package/dist/lib/lazy.cjs +1 -0
  249. package/dist/lib/lazy.d.cts +3 -3
  250. package/dist/lib/lazy.d.ts +3 -3
  251. package/dist/lib/lazy.js +1 -0
  252. package/dist/lib/performance.cjs +1 -0
  253. package/dist/lib/performance.js +1 -0
  254. package/dist/themes/lv-426.css +48 -52
  255. package/dist/themes/mother.css +52 -58
  256. package/dist/themes/nostromo.css +35 -30
  257. package/dist/themes/sulaco.css +47 -51
  258. package/dist/tokens.css +1 -1
  259. package/package.json +4 -3
  260. package/dist/chunk-4PN7OGLX.cjs +0 -2
  261. package/dist/chunk-4PN7OGLX.cjs.map +0 -1
  262. package/dist/chunk-4TYVEXRA.cjs +0 -2
  263. package/dist/chunk-4TYVEXRA.cjs.map +0 -1
  264. package/dist/chunk-4WFEVNXW.cjs.map +0 -1
  265. package/dist/chunk-B2BWBKZA.cjs +0 -2
  266. package/dist/chunk-B2BWBKZA.cjs.map +0 -1
  267. package/dist/chunk-CVOSWGQZ.js +0 -2
  268. package/dist/chunk-CVOSWGQZ.js.map +0 -1
  269. package/dist/chunk-EGQ2Q37R.cjs +0 -2
  270. package/dist/chunk-EGQ2Q37R.cjs.map +0 -1
  271. package/dist/chunk-EIXD3Y4R.js +0 -2
  272. package/dist/chunk-EIXD3Y4R.js.map +0 -1
  273. package/dist/chunk-G5ZSOVJY.cjs +0 -2
  274. package/dist/chunk-G5ZSOVJY.cjs.map +0 -1
  275. package/dist/chunk-G6TR5RGR.js +0 -2
  276. package/dist/chunk-G6TR5RGR.js.map +0 -1
  277. package/dist/chunk-GUJB555L.js +0 -2
  278. package/dist/chunk-GUJB555L.js.map +0 -1
  279. package/dist/chunk-JZROH43C.js +0 -2
  280. package/dist/chunk-JZROH43C.js.map +0 -1
  281. package/dist/chunk-MRZOLUSF.js +0 -2
  282. package/dist/chunk-MRZOLUSF.js.map +0 -1
  283. package/dist/chunk-OZ3RIKZO.cjs +0 -2
  284. package/dist/chunk-OZ3RIKZO.cjs.map +0 -1
  285. package/dist/chunk-PEYPRWZP.js +0 -2
  286. package/dist/chunk-PEYPRWZP.js.map +0 -1
  287. package/dist/chunk-PVHTEE5T.cjs +0 -2
  288. package/dist/chunk-PVHTEE5T.cjs.map +0 -1
  289. package/dist/chunk-QF5CRDZI.js +0 -2
  290. package/dist/chunk-QF5CRDZI.js.map +0 -1
  291. package/dist/chunk-RPRISB7O.cjs +0 -2
  292. package/dist/chunk-RPRISB7O.cjs.map +0 -1
  293. package/dist/chunk-SD4IIQ2I.cjs +0 -2
  294. package/dist/chunk-SD4IIQ2I.cjs.map +0 -1
  295. package/dist/chunk-SLGMKBST.js +0 -2
  296. package/dist/chunk-SLGMKBST.js.map +0 -1
  297. package/dist/chunk-TJFZAMBB.js +0 -2
  298. package/dist/chunk-TJFZAMBB.js.map +0 -1
  299. package/dist/chunk-VXMDVKAD.js +0 -2
  300. package/dist/chunk-VXMDVKAD.js.map +0 -1
  301. package/dist/chunk-ZYP2PDSX.cjs +0 -2
  302. package/dist/chunk-ZYP2PDSX.cjs.map +0 -1
package/dist/base.css CHANGED
@@ -262,51 +262,3 @@ h6 {
262
262
  justify-content: center;
263
263
  flex-wrap: wrap;
264
264
  }
265
-
266
- /* Dark Mode Support */
267
- @media (prefers-color-scheme: dark) {
268
- body {
269
- color: hsl(var(--nostromo-color-neutral-50));
270
- background-color: hsl(var(--nostromo-color-neutral-900));
271
- }
272
-
273
- h1,
274
- h2,
275
- h3,
276
- h4,
277
- h5,
278
- h6 {
279
- color: hsl(var(--nostromo-color-neutral-50));
280
- }
281
-
282
- .hero-title {
283
- color: hsl(var(--nostromo-color-neutral-50));
284
- }
285
-
286
- .hero-subtitle {
287
- color: hsl(var(--nostromo-color-neutral-400));
288
- }
289
- }
290
-
291
- /* Manual Dark Mode */
292
- [data-color-scheme="dark"] {
293
- color: hsl(var(--nostromo-color-neutral-50));
294
- background-color: hsl(var(--nostromo-color-neutral-900));
295
- }
296
-
297
- [data-color-scheme="dark"] h1,
298
- [data-color-scheme="dark"] h2,
299
- [data-color-scheme="dark"] h3,
300
- [data-color-scheme="dark"] h4,
301
- [data-color-scheme="dark"] h5,
302
- [data-color-scheme="dark"] h6 {
303
- color: hsl(var(--nostromo-color-neutral-50));
304
- }
305
-
306
- [data-color-scheme="dark"] .hero-title {
307
- color: hsl(var(--nostromo-color-neutral-50));
308
- }
309
-
310
- [data-color-scheme="dark"] .hero-subtitle {
311
- color: hsl(var(--nostromo-color-neutral-400));
312
- }
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var f=classVarianceAuthority.cva("relative overflow-hidden bg-gradient-to-br from-background to-muted/20",{variants:{size:{sm:"py-16 md:py-20",md:"py-20 md:py-28",lg:"py-24 md:py-32",xl:"py-32 md:py-40"},variant:{default:"text-foreground",muted:"text-muted-foreground",accent:"text-accent-foreground bg-accent/10"}},defaultVariants:{size:"md",variant:"default"}}),u=classVarianceAuthority.cva("container mx-auto px-4 text-center",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{align:"center"}}),V=classVarianceAuthority.cva("font-bold tracking-tight",{variants:{size:{sm:"text-3xl md:text-4xl lg:text-5xl",md:"text-4xl md:text-5xl lg:text-6xl",lg:"text-5xl md:text-6xl lg:text-7xl",xl:"text-6xl md:text-7xl lg:text-8xl"}},defaultVariants:{size:"md"}}),b=classVarianceAuthority.cva("mt-4 text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto",{variants:{size:{sm:"text-base md:text-lg",md:"text-lg md:text-xl",lg:"text-xl md:text-2xl"}},defaultVariants:{size:"md"}}),z=({title:l,subtitle:r,cta:i,className:o,size:x,variant:d,contentAlign:m,titleSize:g,subtitleSize:c,backgroundImage:n,overlay:s=false,...p})=>t__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a(f({size:x,variant:d}),o),style:n?{backgroundImage:`url(${n})`}:void 0,...p},s&&t__default.default.createElement("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm"}),t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(u({align:m}),s&&"relative z-10")},t__default.default.createElement("h1",{className:chunkITRGJNWL_cjs.a(V({size:g}))},l),r&&t__default.default.createElement("p",{className:chunkITRGJNWL_cjs.a(b({size:c}))},r),i&&t__default.default.createElement("div",{className:"mt-8 flex flex-col sm:flex-row gap-4 justify-center items-center"},i)));exports.a=z;//# sourceMappingURL=chunk-2DNQXAMB.cjs.map
2
3
  //# sourceMappingURL=chunk-2DNQXAMB.cjs.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var M=cva("flex min-h-[80px] w-full rounded-md border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200",{variants:{variant:{default:"border-border focus-visible:ring-ring focus-visible:ring-offset-background",error:"border-destructive focus-visible:ring-destructive focus-visible:ring-offset-background",success:"border-success focus-visible:ring-success focus-visible:ring-offset-background"},size:{sm:"min-h-[60px] px-2 py-1 text-xs",default:"min-h-[80px] px-3 py-2 text-sm",lg:"min-h-[120px] px-4 py-3 text-base"}},defaultVariants:{variant:"default",size:"default"}}),H=e.forwardRef(({className:x,label:d,helperText:o,error:n,required:f,variant:p,size:m,autoResize:l=true,id:g,...c},t)=>{let v=e.useId(),s=g||v,b=o?`${s}-helper`:void 0,T=n?`${s}-error`:void 0,R=n?"error":p||"default",a$1=e.useRef(null),h=e.useMemo(()=>r=>{a$1.current=r,typeof t=="function"?t(r):t&&(t.current=r);},[t]),u=e.useCallback(()=>{a$1.current&&l&&(a$1.current.style.height="auto",a$1.current.style.height=`${a$1.current.scrollHeight}px`);},[l]);e.useEffect(()=>{u();},[u]);let y=r=>{u(),c.onInput&&c.onInput(r);};return e.createElement("div",{className:"space-y-2"},d&&e.createElement("label",{htmlFor:s,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d,f&&e.createElement("span",{className:"text-error-500 ml-1"},"*")),e.createElement("textarea",{ref:h,id:s,className:a(M({variant:R,size:m}),l&&"resize-none",x),"aria-describedby":a(b,T)||void 0,"aria-invalid":n,"aria-required":f,onInput:y,...c}),o&&e.createElement("p",{id:b,className:a("text-sm text-muted-foreground",n&&"text-destructive")},o))});H.displayName="Textarea";export{M as a,H as b};//# sourceMappingURL=chunk-2HYJSYQX.js.map
3
+ //# sourceMappingURL=chunk-2HYJSYQX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/textarea.tsx"],"names":["textareaVariants","cva","Textarea","className","label","helperText","error","required","variant","size","autoResize","id","props","ref","generatedId","textareaId","helperTextId","errorId","textareaVariant","textareaRef","combinedRef","node","adjustHeight","handleInput","event","cn"],"mappings":"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","file":"chunk-2HYJSYQX.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst textareaVariants = cva(\n \"flex min-h-[80px] w-full rounded-md border border-border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200\",\n {\n variants: {\n variant: {\n default:\n \"border-border focus-visible:ring-ring focus-visible:ring-offset-background\",\n error:\n \"border-destructive focus-visible:ring-destructive focus-visible:ring-offset-background\",\n success:\n \"border-success focus-visible:ring-success focus-visible:ring-offset-background\",\n },\n size: {\n sm: \"min-h-[60px] px-2 py-1 text-xs\",\n default: \"min-h-[80px] px-3 py-2 text-sm\",\n lg: \"min-h-[120px] px-4 py-3 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface TextareaProps\n extends\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n VariantProps<typeof textareaVariants> {\n label?: string;\n helperText?: string;\n error?: boolean;\n required?: boolean;\n autoResize?: boolean;\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n className,\n label,\n helperText,\n error,\n required,\n variant,\n size,\n autoResize = true,\n id,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const textareaId = id || generatedId;\n const helperTextId = helperText ? `${textareaId}-helper` : undefined;\n const errorId = error ? `${textareaId}-error` : undefined;\n\n const textareaVariant = error ? \"error\" : variant || \"default\";\n\n // Auto-resize functionality\n const textareaRef = React.useRef<HTMLTextAreaElement>(null);\n const combinedRef = React.useMemo(() => {\n return (node: HTMLTextAreaElement | null) => {\n (\n textareaRef as React.MutableRefObject<HTMLTextAreaElement | null>\n ).current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLTextAreaElement | null>).current =\n node;\n }\n };\n }, [ref]);\n\n const adjustHeight = React.useCallback(() => {\n if (textareaRef.current && autoResize) {\n textareaRef.current.style.height = \"auto\";\n textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;\n }\n }, [autoResize]);\n\n React.useEffect(() => {\n adjustHeight();\n }, [adjustHeight]);\n\n // Derived from the prop rather than named outright: @types/react 18 declares\n // onInput as FormEvent and 19 as InputEvent, so spelling either one out\n // breaks the build against the other. This tracks whichever is installed.\n const handleInput = (\n event: Parameters<\n NonNullable<React.ComponentProps<\"textarea\">[\"onInput\"]>\n >[0],\n ) => {\n adjustHeight();\n if (props.onInput) {\n props.onInput(event);\n }\n };\n\n return (\n <div className=\"space-y-2\">\n {label && (\n <label\n htmlFor={textareaId}\n className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n {required && <span className=\"text-error-500 ml-1\">*</span>}\n </label>\n )}\n <textarea\n ref={combinedRef}\n id={textareaId}\n className={cn(\n textareaVariants({ variant: textareaVariant, size }),\n autoResize && \"resize-none\",\n className,\n )}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n aria-required={required}\n onInput={handleInput}\n {...props}\n />\n {helperText && (\n <p\n id={helperTextId}\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-destructive\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea, textareaVariants };\n"]}
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  import {b}from'./chunk-AVTJE2O2.js';import {a}from'./chunk-AC2JBXHQ.js';import e,{useState,useCallback}from'react';import {cva}from'class-variance-authority';var S=cva("grid gap-4",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4",5:"grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5",6:"grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6"},spacing:{sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"}},defaultVariants:{columns:3,spacing:"md"}}),q=cva("relative overflow-hidden rounded-lg bg-muted/50 transition-all duration-300 hover:scale-105 hover:shadow-lg",{variants:{aspectRatio:{square:"aspect-square",video:"aspect-video",portrait:"aspect-[3/4]",landscape:"aspect-[4/3]",wide:"aspect-[16/9]"},hover:{none:"",scale:"hover:scale-105",zoom:"hover:scale-110",lift:"hover:-translate-y-2"}},defaultVariants:{aspectRatio:"square",hover:"scale"}}),A=cva("fixed inset-0 z-50 flex items-center justify-center bg-black/90 backdrop-blur-sm",{variants:{animation:{fade:"animate-in fade-in duration-300",slide:"animate-in slide-in-from-bottom duration-300",zoom:"animate-in zoom-in duration-300"}},defaultVariants:{animation:"fade"}}),B=({images:a$1,className:y,itemClassName:k,columns:w=3,spacing:N="md",showLightbox:g=true,lightboxAnimation:I="fade",onImageClick:v,itemHover:V="scale",itemAspectRatio:C="square",showThumbnails:z=false,thumbnailSize:D="md",...P})=>{let[l,r]=useState(null),[i,n]=useState(-1),f=useCallback((t,s)=>{g&&(r(t),n(s)),v?.(t,s);},[g,v]),d=useCallback(()=>{r(null),n(-1);},[]),b$1=useCallback(()=>{if(i>0){let t=i-1;r(a$1[t]||null),n(t);}},[i,a$1]),p=useCallback(()=>{if(i<a$1.length-1){let t=i+1;r(a$1[t]||null),n(t);}},[i,a$1]),G=useCallback(t=>{t.key==="Escape"?d():t.key==="ArrowLeft"?b$1():t.key==="ArrowRight"&&p();},[d,b$1,p]);return e.createElement(e.Fragment,null,e.createElement("div",{className:a(S({columns:w,spacing:N}),y),...P},a$1.map((t,s)=>e.createElement("div",{key:t.id||s,className:a(q({aspectRatio:C,hover:V}),k),role:"button",tabIndex:0,onClick:()=>f(t,s),onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),f(t,s));},"aria-label":`View image ${s+1}: ${t.alt}`},e.createElement("img",{src:z&&t.thumbnail?t.thumbnail:t.src,alt:t.alt,className:"w-full h-full object-cover",loading:"lazy"}),(t.title||t.description)&&e.createElement("div",{className:"absolute inset-0 bg-black/50 opacity-0 hover:opacity-100 transition-opacity duration-300 flex items-end"},e.createElement("div",{className:"p-4 text-white"},t.title&&e.createElement("h3",{className:"font-semibold text-sm sm:text-base"},t.title),t.description&&e.createElement("p",{className:"text-xs sm:text-sm text-white/80 mt-1"},t.description)))))),l&&g&&e.createElement("div",{className:a(A({animation:I})),onClick:d,onKeyDown:G,tabIndex:-1,role:"dialog","aria-modal":"true","aria-labelledby":"lightbox-title"},e.createElement("div",{className:"relative max-w-4xl max-h-[90vh] mx-4",onClick:t=>t.stopPropagation()},e.createElement("img",{src:l.src,alt:l.alt,className:"max-w-full max-h-full object-contain rounded-lg",id:"lightbox-title"}),(l.title||l.description)&&e.createElement("div",{className:"absolute bottom-0 left-0 right-0 bg-black/80 text-white p-4 rounded-b-lg"},l.title&&e.createElement("h3",{className:"font-semibold text-lg mb-2"},l.title),l.description&&e.createElement("p",{className:"text-sm text-white/80"},l.description)),a$1.length>1&&e.createElement(e.Fragment,null,i>0&&e.createElement(b,{variant:"ghost",size:"sm",className:"absolute left-4 top-1/2 -translate-y-1/2 bg-black/50 hover:bg-black/70 text-white",onClick:b$1,"aria-label":"Previous image"},"\u2190"),i<a$1.length-1&&e.createElement(b,{variant:"ghost",size:"sm",className:"absolute right-4 top-1/2 -translate-y-1/2 bg-black/50 hover:bg-black/70 text-white",onClick:p,"aria-label":"Next image"},"\u2192")),e.createElement(b,{variant:"ghost",size:"sm",className:"absolute top-4 right-4 bg-black/50 hover:bg-black/70 text-white",onClick:d,"aria-label":"Close lightbox"},"\u2715"),a$1.length>1&&e.createElement("div",{className:"absolute top-4 left-4 bg-black/50 text-white px-3 py-1 rounded-full text-sm"},i+1," / ",a$1.length))))},F=B;export{B as a,F as b};//# sourceMappingURL=chunk-2JQROMCM.js.map
2
3
  //# sourceMappingURL=chunk-2JQROMCM.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import {b}from'./chunk-AVTJE2O2.js';import {a as a$1}from'./chunk-AC2JBXHQ.js';import a,{useState,useRef,useMemo,useEffect}from'react';import*as v from'@radix-ui/react-popover';import {cva}from'class-variance-authority';import {format,getDay,startOfMonth,getDaysInMonth,isSameDay,isWithinInterval,startOfDay,endOfDay,isBefore,isAfter}from'date-fns';var ye=cva("inline-block rounded-lg border bg-background shadow-lg",{variants:{variant:{default:"border-border bg-card",outline:"border-2 border-border",ghost:"border-transparent bg-transparent shadow-none"},size:{sm:"p-2",md:"p-3",lg:"p-4"}},defaultVariants:{variant:"default",size:"md"}}),we=cva("flex items-center justify-center rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-muted text-foreground",selected:"bg-primary text-primary-foreground hover:bg-primary/90 font-semibold",range:"bg-primary/10 text-primary hover:bg-primary/20 font-medium",today:"border-2 border-primary text-foreground font-semibold",outside:"text-muted-foreground",disabled:"text-muted-foreground/50 cursor-not-allowed"},size:{sm:"h-7 w-7 text-xs",md:"h-9 w-9 text-sm",lg:"h-11 w-11 text-base"}},defaultVariants:{variant:"default",size:"md"}}),W=n=>getDaysInMonth(n),xe=(n,o)=>{let s=getDay(startOfMonth(n));return o===1?s===0?6:s-1:s},h=(n,o)=>!n||!o?false:isSameDay(n,o),Ce=(n,o,s)=>!o&&!s?false:o&&s?isWithinInterval(startOfDay(n),{start:startOfDay(o),end:endOfDay(s)}):o?!isBefore(startOfDay(n),startOfDay(o)):s?!isAfter(startOfDay(n),endOfDay(s)):false,_=(n,o,s,I,N)=>!!(o&&isBefore(startOfDay(n),startOfDay(o))||s&&isAfter(startOfDay(n),endOfDay(s))||I?.some(Y=>h(Y,n))||N?.includes(getDay(n))),x=(n,o="en-US")=>n?format(n,"MMM d, yyyy"):"",ke=(n,o,s="en-US")=>!n&&!o?"":n&&o?`${x(n,s)} - ${x(o,s)}`:n?x(n,s):o?x(o,s):"",Fe=(n,o="en-US")=>n.length===0?"":n.length===1?x(n[0],o):`${n.length} dates selected`,Ne=a.forwardRef(({mode:n="single",value:o,defaultValue:s,onChange:I,minDate:N,maxDate:Y,disabledDates:A,disabledDays:H,locale:y="en-US",placeholder:X,label:V,error:L,helperText:U,className:Z,inputClassName:R,calendarClassName:ee,variant:te,size:K,showOutsideDays:C=true,firstDayOfWeek:P=1,...ne},re)=>{let[k,F]=useState(false),[i,c]=useState(new Date),[p,D]=useState(null),ae=useRef(null),$=useRef(new Map),[oe,se]=useState(s),j=o!==void 0,l=j?o:oe;a.useLayoutEffect(()=>{if(k&&!p){let e=new Date;e.setHours(0,0,0,0),D(e);}},[k,p]);let w=e=>{j||se(e),I?.(e);},z=e=>{if(!_(e,N,Y,A,H)){if(n==="single")w(e),F(false);else if(n==="range"){let r=l;if(!r?.from||r.from&&r.to)w({from:e});else {let t=r.from,d=e;d<t?w({from:d,to:t}):w({from:t,to:d}),F(false);}}else if(n==="multiple"){let r=l||[],t=r.findIndex(d=>h(d,e));t>=0?w(r.filter((d,u)=>u!==t)):w([...r,e]);}}},ie=useMemo(()=>{if(!l)return "";if(n==="single")return x(l,y);if(n==="range"){let e=l;return ke(e.from,e.to,y)}else return Fe(l,y)},[l,n,y]),le=useMemo(()=>{let e=[],r=new Date;r.setHours(0,0,0,0);let t=xe(i,P),d=W(i);if(C&&t>0){let u=new Date(i.getFullYear(),i.getMonth()-1),g=W(u);for(let m=g-t+1;m<=g;m++){let f=new Date(u.getFullYear(),u.getMonth(),m);e.push({date:f,isCurrentMonth:false,isToday:h(f,r)});}}for(let u=1;u<=d;u++){let g=new Date(i.getFullYear(),i.getMonth(),u);e.push({date:g,isCurrentMonth:true,isToday:h(g,r)});}if(C){let u=42-e.length,g=new Date(i.getFullYear(),i.getMonth()+1);for(let m=1;m<=u;m++){let f=new Date(g.getFullYear(),g.getMonth(),m);e.push({date:f,isCurrentMonth:false,isToday:h(f,r)});}}return e},[i,C,P]),ue=()=>{c(new Date(i.getFullYear(),i.getMonth()-1,1));},de=()=>{c(new Date(i.getFullYear(),i.getMonth()+1,1));},fe=()=>{let e=new Date;c(e),D(e);},ge=(e,r)=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),z(r);return}if(e.key==="ArrowRight"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()+1),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowLeft"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-1),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowDown"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()+7),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="ArrowUp"){e.preventDefault();let t=new Date(r);t.setDate(t.getDate()-7),D(t),t.getMonth()!==i.getMonth()&&c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Home"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth(),1);D(t);return}if(e.key==="End"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()+1,0);D(t);return}if(e.key==="PageUp"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()-1,r.getDate());D(t),c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="PageDown"){e.preventDefault();let t=new Date(r.getFullYear(),r.getMonth()+1,r.getDate());D(t),c(new Date(t.getFullYear(),t.getMonth(),1));return}if(e.key==="Escape"){e.preventDefault(),F(false);return}};useEffect(()=>{if(p&&k){let e=`${p.getFullYear()}-${p.getMonth()}-${p.getDate()}`,r=$.current.get(e);r&&r.focus();}},[p,k]);let ce=useMemo(()=>{let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return P===1?[...e.slice(1),e[0]]:e},[P]),De=i.toLocaleDateString(y,{month:"long",year:"numeric"});return a.createElement("div",{ref:re,className:a$1("w-full",Z),...ne},a.createElement(v.Root,{open:k,onOpenChange:F},a.createElement("div",{className:"space-y-2"},V&&a.createElement("label",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},V),a.createElement(v.Trigger,{asChild:true},a.createElement("button",{type:"button",className:a$1("flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background","placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 text-left",L?"border-error-500 shadow-sm hover:border-error-600 focus-visible:ring-error-500/20 focus-visible:border-error-500":"border-border shadow-sm hover:border-primary focus-visible:ring-ring/20 focus-visible:border-primary","h-10",R),onClick:()=>F(true),"aria-label":V||"Open calendar","aria-invalid":L},ie||a.createElement("span",{className:"text-muted-foreground"},X||"Select date..."))),U&&a.createElement("p",{className:a$1("text-sm text-muted-foreground",L&&"text-error-600")},U)),a.createElement(v.Portal,null,a.createElement(v.Content,{className:a$1("z-50 w-auto rounded-lg border bg-popover p-4 shadow-lg","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),sideOffset:5,align:"start"},a.createElement("div",{ref:ae,className:a$1(ye({variant:te,size:K}),ee),role:"application","aria-label":"Calendar"},a.createElement("div",{className:"flex items-center justify-between mb-4"},a.createElement("div",{className:"flex items-center gap-2"},a.createElement(b,{variant:"ghost",size:"sm",onClick:ue,"aria-label":"Previous month"},a.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),a.createElement("h3",{className:"text-sm font-semibold text-popover-foreground","data-testid":"calendar-month-year"},De),a.createElement(b,{variant:"ghost",size:"sm",onClick:de,"aria-label":"Next month"},a.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})))),a.createElement(b,{variant:"ghost",size:"sm",onClick:fe,className:"text-xs"},"Today")),a.createElement("div",{className:"grid grid-cols-7 gap-1 mb-2"},ce.map(e=>a.createElement("div",{key:e,className:"text-center text-xs font-medium text-muted-foreground"},e))),a.createElement("div",{className:"grid grid-cols-7 gap-1"},le.map((e,r)=>{let t=n==="single"?h(e.date,l):n==="range"?Ce(e.date,l?.from,l?.to):l?.some(f=>h(f,e.date)),d=_(e.date,N,Y,A,H),u=n==="range"&&l?.from&&!l?.to&&e.date>=l.from,g=`${e.date.getFullYear()}-${e.date.getMonth()}-${e.date.getDate()}`,m=p&&h(e.date,p);return a.createElement("button",{key:`${e.date.getTime()}-${r}`,ref:f=>{f?$.current.set(g,f):$.current.delete(g);},type:"button",onClick:()=>{C&&!e.isCurrentMonth&&c(new Date(e.date.getFullYear(),e.date.getMonth(),1)),z(e.date);},onKeyDown:f=>ge(f,e.date),disabled:d||(C?false:!e.isCurrentMonth),className:a$1(we({variant:t?"selected":u?"range":e.isToday?"today":e.isCurrentMonth?d?"disabled":"default":"outside",size:K}),!e.isCurrentMonth&&"opacity-50",m&&"ring-2 ring-brand-500 ring-offset-2 z-10"),"aria-label":e.date.toLocaleDateString(y,{weekday:"long",year:"numeric",month:"long",day:"numeric"}),"aria-selected":t,"aria-disabled":d,tabIndex:m?0:-1},e.date.getDate())})),n==="range"&&l?.from&&!l?.to&&a.createElement("div",{className:"mt-4 pt-4 border-t border-border"},a.createElement("p",{className:"text-xs text-muted-foreground text-center"},"Select end date")))))))});Ne.displayName="Calendar";export{ye as a,we as b,Ne as c};//# sourceMappingURL=chunk-35I2BJC3.js.map
3
+ //# sourceMappingURL=chunk-35I2BJC3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/calendar.tsx"],"names":["calendarVariants","cva","calendarDayVariants","getDaysInMonth","date","dateFnsGetDaysInMonth","getFirstDayOfMonth","firstDayOfWeek","firstDay","getDay","startOfMonth","isSameDay","date1","date2","dateFnsIsSameDay","isDateInRange","from","to","isWithinInterval","startOfDay","endOfDay","isBefore","isAfter","isDateDisabled","minDate","maxDate","disabledDates","disabledDays","d","formatDate","_locale","dateFnsFormat","formatDateRange","locale","formatMultipleDates","dates","Calendar","React","mode","value","defaultValue","onChange","placeholder","label","error","helperText","className","inputClassName","calendarClassName","variant","size","showOutsideDays","props","ref","open","setOpen","useState","currentMonth","setCurrentMonth","focusedDate","setFocusedDate","calendarRef","useRef","dayButtonRefs","internalValue","setInternalValue","isControlled","calendarValue","today","handleValueChange","newValue","handleDateClick","rangeValue","multipleValue","dateIndex","_","i","displayValue","useMemo","range","calendarDays","days","daysInMonth","prevMonth","daysInPrevMonth","remainingDays","nextMonth","goToPreviousMonth","goToNextMonth","goToToday","handleKeyDown","nextDate","prevDate","lastDay","useEffect","dateKey","button","dayNames","names","monthYearDisplay","cn","Button","day","index","isSelected","isDisabled","isInRange","isFocused","el","e"],"mappings":"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","file":"chunk-35I2BJC3.js","sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n getDaysInMonth as dateFnsGetDaysInMonth,\n startOfMonth,\n getDay,\n isSameDay as dateFnsIsSameDay,\n isWithinInterval,\n isBefore,\n isAfter,\n format as dateFnsFormat,\n startOfDay,\n endOfDay,\n} from \"date-fns\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"./button\";\n\n// Calendar variants\nconst calendarVariants = cva(\n \"inline-block rounded-lg border bg-background shadow-lg\",\n {\n variants: {\n variant: {\n default: \"border-border bg-card\",\n outline: \"border-2 border-border\",\n ghost: \"border-transparent bg-transparent shadow-none\",\n },\n size: {\n sm: \"p-2\",\n md: \"p-3\",\n lg: \"p-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nconst calendarDayVariants = cva(\n \"flex items-center justify-center rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"hover:bg-muted text-foreground\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary/90 font-semibold\",\n range: \"bg-primary/10 text-primary hover:bg-primary/20 font-medium\",\n today: \"border-2 border-primary text-foreground font-semibold\",\n outside: \"text-muted-foreground\",\n disabled: \"text-muted-foreground/50 cursor-not-allowed\",\n },\n size: {\n sm: \"h-7 w-7 text-xs\",\n md: \"h-9 w-9 text-sm\",\n lg: \"h-11 w-11 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport type CalendarMode = \"single\" | \"range\" | \"multiple\";\n\nexport interface CalendarProps extends VariantProps<typeof calendarVariants> {\n mode?: CalendarMode;\n value?: Date | Date[] | { from?: Date; to?: Date };\n defaultValue?: Date | Date[] | { from?: Date; to?: Date };\n onChange?: (\n value: Date | Date[] | { from?: Date; to?: Date } | undefined,\n ) => void;\n minDate?: Date;\n maxDate?: Date;\n disabledDates?: Date[];\n disabledDays?: number[]; // 0 = Sunday, 1 = Monday, etc.\n locale?: string;\n placeholder?: string;\n label?: string;\n error?: boolean;\n helperText?: string;\n className?: string;\n inputClassName?: string;\n calendarClassName?: string;\n showOutsideDays?: boolean;\n firstDayOfWeek?: 0 | 1; // 0 = Sunday, 1 = Monday\n}\n\n// Helper functions using date-fns for robust date manipulation\nconst getDaysInMonth = (date: Date): number => {\n return dateFnsGetDaysInMonth(date);\n};\n\nconst getFirstDayOfMonth = (date: Date, firstDayOfWeek: 0 | 1): number => {\n // Use date-fns getDay for consistent day-of-week calculation\n const firstDay = getDay(startOfMonth(date));\n // Convert Sunday (0) to Monday-first (6) if needed\n // Sunday = 0, Monday = 1, ..., Saturday = 6\n // For Monday-first: Sunday becomes 6, Monday becomes 0, etc.\n return firstDayOfWeek === 1 ? (firstDay === 0 ? 6 : firstDay - 1) : firstDay;\n};\n\nconst isSameDay = (\n date1: Date | undefined,\n date2: Date | undefined,\n): boolean => {\n if (!date1 || !date2) return false;\n return dateFnsIsSameDay(date1, date2);\n};\n\nconst isDateInRange = (date: Date, from?: Date, to?: Date): boolean => {\n if (!from && !to) return false;\n if (from && to) {\n // Use date-fns isWithinInterval for proper date range checking\n return isWithinInterval(startOfDay(date), {\n start: startOfDay(from),\n end: endOfDay(to),\n });\n }\n if (from) return !isBefore(startOfDay(date), startOfDay(from));\n if (to) return !isAfter(startOfDay(date), endOfDay(to));\n return false;\n};\n\nconst isDateDisabled = (\n date: Date,\n minDate?: Date,\n maxDate?: Date,\n disabledDates?: Date[],\n disabledDays?: number[],\n): boolean => {\n if (minDate && isBefore(startOfDay(date), startOfDay(minDate))) return true;\n if (maxDate && isAfter(startOfDay(date), endOfDay(maxDate))) return true;\n if (disabledDates?.some((d) => isSameDay(d, date))) return true;\n if (disabledDays?.includes(getDay(date))) return true;\n return false;\n};\n\nconst formatDate = (\n date: Date | undefined,\n _locale: string = \"en-US\",\n): string => {\n if (!date) return \"\";\n // Use date-fns format for consistent formatting\n // Note: date-fns uses locale objects, but we'll use a simple format for now\n // For full locale support, import locale from 'date-fns/locale'\n // Locale parameter is kept for API compatibility but not yet used\n return dateFnsFormat(date, \"MMM d, yyyy\");\n};\n\nconst formatDateRange = (\n from?: Date,\n to?: Date,\n locale: string = \"en-US\",\n): string => {\n if (!from && !to) return \"\";\n if (from && to) {\n return `${formatDate(from, locale)} - ${formatDate(to, locale)}`;\n }\n if (from) return formatDate(from, locale);\n if (to) return formatDate(to, locale);\n return \"\";\n};\n\nconst formatMultipleDates = (\n dates: Date[],\n _locale: string = \"en-US\",\n): string => {\n if (dates.length === 0) return \"\";\n if (dates.length === 1) return formatDate(dates[0], _locale);\n return `${dates.length} dates selected`;\n};\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(\n (\n {\n mode = \"single\",\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n disabledDates,\n disabledDays,\n locale = \"en-US\",\n placeholder,\n label,\n error,\n helperText,\n className,\n inputClassName,\n calendarClassName,\n variant,\n size,\n showOutsideDays = true,\n firstDayOfWeek = 1,\n ...props\n },\n ref,\n ) => {\n const [open, setOpen] = useState(false);\n const [currentMonth, setCurrentMonth] = useState(new Date());\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const dayButtonRefs = useRef<Map<string, HTMLButtonElement>>(new Map());\n\n // Controlled vs uncontrolled\n const [internalValue, setInternalValue] = useState<\n Date | Date[] | { from?: Date; to?: Date } | undefined\n >(defaultValue);\n\n const isControlled = value !== undefined;\n const calendarValue = isControlled ? value : internalValue;\n\n // Set focused date when calendar opens\n React.useLayoutEffect(() => {\n if (open && !focusedDate) {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n setFocusedDate(today);\n }\n }, [open, focusedDate]);\n\n // Handle value changes\n const handleValueChange = (\n newValue: Date | Date[] | { from?: Date; to?: Date } | undefined,\n ) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n };\n\n // Handle date selection\n const handleDateClick = (date: Date) => {\n if (isDateDisabled(date, minDate, maxDate, disabledDates, disabledDays)) {\n return;\n }\n\n if (mode === \"single\") {\n handleValueChange(date);\n setOpen(false);\n } else if (mode === \"range\") {\n const rangeValue = calendarValue as\n { from?: Date; to?: Date } | undefined;\n if (!rangeValue?.from || (rangeValue.from && rangeValue.to)) {\n // Start new range\n handleValueChange({ from: date });\n } else {\n // Complete range\n const from = rangeValue.from;\n const to = date;\n if (to < from) {\n handleValueChange({ from: to, to: from });\n } else {\n handleValueChange({ from, to });\n }\n setOpen(false);\n }\n } else if (mode === \"multiple\") {\n const multipleValue = (calendarValue as Date[]) || [];\n const dateIndex = multipleValue.findIndex((d) => isSameDay(d, date));\n if (dateIndex >= 0) {\n // Remove date\n handleValueChange(multipleValue.filter((_, i) => i !== dateIndex));\n } else {\n // Add date\n handleValueChange([...multipleValue, date]);\n }\n }\n };\n\n // Get display value\n const displayValue = useMemo(() => {\n if (!calendarValue) return \"\";\n\n if (mode === \"single\") {\n return formatDate(calendarValue as Date, locale);\n } else if (mode === \"range\") {\n const range = calendarValue as { from?: Date; to?: Date };\n return formatDateRange(range.from, range.to, locale);\n } else {\n return formatMultipleDates(calendarValue as Date[], locale);\n }\n }, [calendarValue, mode, locale]);\n\n // Generate calendar days\n const calendarDays = useMemo(() => {\n const days: Array<{\n date: Date;\n isCurrentMonth: boolean;\n isToday: boolean;\n }> = [];\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const firstDay = getFirstDayOfMonth(currentMonth, firstDayOfWeek);\n const daysInMonth = getDaysInMonth(currentMonth);\n\n // Previous month days\n if (showOutsideDays && firstDay > 0) {\n const prevMonth = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth() - 1,\n );\n const daysInPrevMonth = getDaysInMonth(prevMonth);\n for (\n let i = daysInPrevMonth - firstDay + 1;\n i <= daysInPrevMonth;\n i++\n ) {\n const date = new Date(\n prevMonth.getFullYear(),\n prevMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: false,\n isToday: isSameDay(date, today),\n });\n }\n }\n\n // Current month days\n for (let i = 1; i <= daysInMonth; i++) {\n const date = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: true,\n isToday: isSameDay(date, today),\n });\n }\n\n // Next month days\n if (showOutsideDays) {\n const remainingDays = 42 - days.length; // 6 weeks * 7 days\n const nextMonth = new Date(\n currentMonth.getFullYear(),\n currentMonth.getMonth() + 1,\n );\n for (let i = 1; i <= remainingDays; i++) {\n const date = new Date(\n nextMonth.getFullYear(),\n nextMonth.getMonth(),\n i,\n );\n days.push({\n date,\n isCurrentMonth: false,\n isToday: isSameDay(date, today),\n });\n }\n }\n\n return days;\n }, [currentMonth, showOutsideDays, firstDayOfWeek]);\n\n // Navigate months\n const goToPreviousMonth = () => {\n setCurrentMonth(\n new Date(currentMonth.getFullYear(), currentMonth.getMonth() - 1, 1),\n );\n };\n\n const goToNextMonth = () => {\n setCurrentMonth(\n new Date(currentMonth.getFullYear(), currentMonth.getMonth() + 1, 1),\n );\n };\n\n const goToToday = () => {\n const today = new Date();\n setCurrentMonth(today);\n setFocusedDate(today);\n };\n\n // Keyboard navigation\n const handleKeyDown = (e: React.KeyboardEvent, date: Date) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleDateClick(date);\n return;\n }\n\n if (e.key === \"ArrowRight\") {\n e.preventDefault();\n const nextDate = new Date(date);\n nextDate.setDate(nextDate.getDate() + 1);\n setFocusedDate(nextDate);\n // Update month if needed\n if (nextDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(nextDate.getFullYear(), nextDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n const prevDate = new Date(date);\n prevDate.setDate(prevDate.getDate() - 1);\n setFocusedDate(prevDate);\n // Update month if needed\n if (prevDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(prevDate.getFullYear(), prevDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const nextDate = new Date(date);\n nextDate.setDate(nextDate.getDate() + 7);\n setFocusedDate(nextDate);\n // Update month if needed\n if (nextDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(nextDate.getFullYear(), nextDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const prevDate = new Date(date);\n prevDate.setDate(prevDate.getDate() - 7);\n setFocusedDate(prevDate);\n // Update month if needed\n if (prevDate.getMonth() !== currentMonth.getMonth()) {\n setCurrentMonth(\n new Date(prevDate.getFullYear(), prevDate.getMonth(), 1),\n );\n }\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n const firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\n setFocusedDate(firstDay);\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\n setFocusedDate(lastDay);\n return;\n }\n\n if (e.key === \"PageUp\") {\n e.preventDefault();\n const prevMonth = new Date(\n date.getFullYear(),\n date.getMonth() - 1,\n date.getDate(),\n );\n setFocusedDate(prevMonth);\n setCurrentMonth(\n new Date(prevMonth.getFullYear(), prevMonth.getMonth(), 1),\n );\n return;\n }\n\n if (e.key === \"PageDown\") {\n e.preventDefault();\n const nextMonth = new Date(\n date.getFullYear(),\n date.getMonth() + 1,\n date.getDate(),\n );\n setFocusedDate(nextMonth);\n setCurrentMonth(\n new Date(nextMonth.getFullYear(), nextMonth.getMonth(), 1),\n );\n return;\n }\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n return;\n }\n };\n\n // Focus management\n useEffect(() => {\n if (focusedDate && open) {\n const dateKey = `${focusedDate.getFullYear()}-${focusedDate.getMonth()}-${focusedDate.getDate()}`;\n const button = dayButtonRefs.current.get(dateKey);\n if (button) {\n button.focus();\n }\n }\n }, [focusedDate, open]);\n\n // Day names\n const dayNames = useMemo(() => {\n const names = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n if (firstDayOfWeek === 1) {\n return [...names.slice(1), names[0]];\n }\n return names;\n }, [firstDayOfWeek]);\n\n // Month/year display\n const monthYearDisplay = currentMonth.toLocaleDateString(locale, {\n month: \"long\",\n year: \"numeric\",\n });\n\n return (\n <div ref={ref} className={cn(\"w-full\", className)} {...props}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div className=\"space-y-2\">\n {label && (\n <label className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n {label}\n </label>\n )}\n <Popover.Trigger asChild>\n <button\n type=\"button\"\n className={cn(\n \"flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background\",\n \"placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\",\n \"disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 text-left\",\n error\n ? \"border-error-500 shadow-sm hover:border-error-600 focus-visible:ring-error-500/20 focus-visible:border-error-500\"\n : \"border-border shadow-sm hover:border-primary focus-visible:ring-ring/20 focus-visible:border-primary\",\n \"h-10\",\n inputClassName,\n )}\n // No onFocus handler here. Radix returns focus to the trigger\n // when the popover closes, so opening on focus meant selecting a\n // date closed it and immediately reopened it - the flicker. It\n // also popped the calendar open when tabbing past the field.\n onClick={() => setOpen(true)}\n aria-label={label || \"Open calendar\"}\n aria-invalid={error}\n >\n {displayValue || (\n <span className=\"text-muted-foreground\">\n {placeholder || \"Select date...\"}\n </span>\n )}\n </button>\n </Popover.Trigger>\n {helperText && (\n <p\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-error-600\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n\n <Popover.Portal>\n <Popover.Content\n className={cn(\n \"z-50 w-auto rounded-lg border bg-popover p-4 shadow-lg\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n )}\n sideOffset={5}\n align=\"start\"\n >\n <div\n ref={calendarRef}\n className={cn(\n calendarVariants({ variant, size }),\n calendarClassName,\n )}\n role=\"application\"\n aria-label=\"Calendar\"\n >\n {/* Header */}\n <div className=\"flex items-center justify-between mb-4\">\n <div className=\"flex items-center gap-2\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToPreviousMonth}\n aria-label=\"Previous month\"\n >\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 19l-7-7 7-7\"\n />\n </svg>\n </Button>\n\n <h3\n className=\"text-sm font-semibold text-popover-foreground\"\n data-testid=\"calendar-month-year\"\n >\n {monthYearDisplay}\n </h3>\n\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToNextMonth}\n aria-label=\"Next month\"\n >\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </Button>\n </div>\n\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={goToToday}\n className=\"text-xs\"\n >\n Today\n </Button>\n </div>\n\n {/* Day names */}\n <div className=\"grid grid-cols-7 gap-1 mb-2\">\n {dayNames.map((day) => (\n <div\n key={day}\n className=\"text-center text-xs font-medium text-muted-foreground\"\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar grid */}\n <div className=\"grid grid-cols-7 gap-1\">\n {calendarDays.map((day, index) => {\n const isSelected =\n mode === \"single\"\n ? isSameDay(day.date, calendarValue as Date | undefined)\n : mode === \"range\"\n ? isDateInRange(\n day.date,\n (calendarValue as { from?: Date; to?: Date })\n ?.from,\n (calendarValue as { from?: Date; to?: Date })?.to,\n )\n : (calendarValue as Date[])?.some((d) =>\n isSameDay(d, day.date),\n );\n\n const isDisabled = isDateDisabled(\n day.date,\n minDate,\n maxDate,\n disabledDates,\n disabledDays,\n );\n\n const isInRange =\n mode === \"range\" &&\n (calendarValue as { from?: Date; to?: Date })?.from &&\n !(calendarValue as { from?: Date; to?: Date })?.to &&\n day.date >=\n (calendarValue as { from?: Date; to?: Date }).from!;\n\n const dateKey = `${day.date.getFullYear()}-${day.date.getMonth()}-${day.date.getDate()}`;\n const isFocused =\n focusedDate && isSameDay(day.date, focusedDate);\n\n return (\n <button\n key={`${day.date.getTime()}-${index}`}\n ref={(el) => {\n if (el) {\n dayButtonRefs.current.set(dateKey, el);\n } else {\n dayButtonRefs.current.delete(dateKey);\n }\n }}\n type=\"button\"\n onClick={() => {\n if (showOutsideDays && !day.isCurrentMonth) {\n // Navigate to the month of the clicked date\n setCurrentMonth(\n new Date(\n day.date.getFullYear(),\n day.date.getMonth(),\n 1,\n ),\n );\n // Synchronously: React batches both updates into one\n // render. Deferring the selection by a tick showed the\n // new month first and selected a frame later, which\n // read as a flash.\n handleDateClick(day.date);\n } else {\n handleDateClick(day.date);\n }\n }}\n onKeyDown={(e) => handleKeyDown(e, day.date)}\n disabled={\n isDisabled ||\n (showOutsideDays ? false : !day.isCurrentMonth)\n }\n className={cn(\n calendarDayVariants({\n variant: isSelected\n ? \"selected\"\n : isInRange\n ? \"range\"\n : day.isToday\n ? \"today\"\n : !day.isCurrentMonth\n ? \"outside\"\n : isDisabled\n ? \"disabled\"\n : \"default\",\n size,\n }),\n !day.isCurrentMonth && \"opacity-50\",\n isFocused &&\n \"ring-2 ring-brand-500 ring-offset-2 z-10\",\n )}\n aria-label={day.date.toLocaleDateString(locale, {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n })}\n aria-selected={isSelected}\n aria-disabled={isDisabled}\n tabIndex={isFocused ? 0 : -1}\n >\n {day.date.getDate()}\n </button>\n );\n })}\n </div>\n\n {/* Footer for range mode */}\n {mode === \"range\" &&\n (calendarValue as { from?: Date; to?: Date })?.from &&\n !(calendarValue as { from?: Date; to?: Date })?.to && (\n <div className=\"mt-4 pt-4 border-t border-border\">\n <p className=\"text-xs text-muted-foreground text-center\">\n Select end date\n </p>\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n </div>\n );\n },\n);\n\nCalendar.displayName = \"Calendar\";\n\nexport { calendarVariants, calendarDayVariants };\n"]}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ 'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority'),phosphorReact=require('phosphor-react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var x=classVarianceAuthority.cva("flex items-center space-x-1 text-sm text-muted-foreground",{variants:{variant:{default:"text-muted-foreground",compact:"text-xs"},separator:{default:"",slash:"",arrow:"",dot:""}},defaultVariants:{variant:"default",separator:"default"}}),y=classVarianceAuthority.cva("flex items-center",{variants:{variant:{default:"",current:"text-foreground font-medium",link:"hover:text-foreground transition-colors"}},defaultVariants:{variant:"default"}}),g=classVarianceAuthority.cva("flex-shrink-0 text-muted-foreground",{variants:{variant:{default:"mx-1",compact:"mx-0.5"}},defaultVariants:{variant:"default"}}),E=e__namespace.forwardRef(({className:a,variant:r,separator:t="default",items:l,showHome:d=false,homeHref:N="/",onItemClick:f,children:L,...p},b)=>{let h=()=>{switch(t){case "slash":return "/";case "arrow":return "\u2192";case "dot":return "\u2022";default:return e__namespace.createElement(phosphorReact.CaretRight,{className:"h-4 w-4"})}},B=(n,o)=>{f&&f(n,o);},v=(n,o,i)=>{let c=n.current||i,m=e__namespace.createElement("span",{className:chunkITRGJNWL_cjs.a(y({variant:c?"current":n.href?"link":"default"}))},n.label);return n.href&&!c?e__namespace.createElement("a",{href:n.href,className:"hover:text-foreground transition-colors",onClick:()=>B(n,o)},m):n.href&&c?e__namespace.createElement("a",{href:n.href,"aria-current":"page","aria-disabled":"true",tabIndex:-1,className:"hover:text-foreground transition-colors pointer-events-none"},m):e__namespace.createElement("span",{"aria-current":c?"page":void 0,className:c?"text-foreground font-medium":""},m)};return l?e__namespace.createElement("nav",{ref:b,"aria-label":"Breadcrumb",className:chunkITRGJNWL_cjs.a(x({variant:r,separator:t}),a),...p},e__namespace.createElement("ol",{className:"flex items-center space-x-1"},d&&e__namespace.createElement(e__namespace.Fragment,null,e__namespace.createElement("li",null,e__namespace.createElement("a",{href:N,className:"hover:text-foreground transition-colors","aria-label":"Home"},e__namespace.createElement(phosphorReact.House,{className:"h-4 w-4"}))),e__namespace.createElement("li",null,e__namespace.createElement("span",{role:"presentation","aria-hidden":"true",className:chunkITRGJNWL_cjs.a(g({variant:r}))},h()))),l.map((n,o)=>{let i=o===l.length-1;return e__namespace.createElement("li",{key:o,className:"flex items-center"},v(n,o,i),!i&&e__namespace.createElement("span",{role:"presentation","aria-hidden":"true",className:chunkITRGJNWL_cjs.a(g({variant:r}))},h()))}))):e__namespace.createElement("nav",{ref:b,"aria-label":"Breadcrumb",className:chunkITRGJNWL_cjs.a(x({variant:r,separator:t}),a),...p},L)});E.displayName="Breadcrumb";var M=e__namespace.forwardRef(({className:a,...r},t)=>e__namespace.createElement("ol",{ref:t,className:chunkITRGJNWL_cjs.a("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",a),...r}));M.displayName="BreadcrumbList";var w=e__namespace.forwardRef(({className:a,...r},t)=>e__namespace.createElement("li",{ref:t,className:chunkITRGJNWL_cjs.a("inline-flex items-center gap-1.5",a),...r}));w.displayName="BreadcrumbItem";var T=e__namespace.forwardRef(({asChild:a,className:r,...t},l)=>e__namespace.createElement(a?e__namespace.Fragment:"a",{ref:l,className:chunkITRGJNWL_cjs.a("transition-colors hover:text-foreground",r),...t}));T.displayName="BreadcrumbLink";var k=e__namespace.forwardRef(({className:a,...r},t)=>e__namespace.createElement("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:chunkITRGJNWL_cjs.a("font-normal text-foreground",a),...r}));k.displayName="BreadcrumbPage";var C=({children:a,className:r,...t})=>e__namespace.createElement("li",{role:"presentation","aria-hidden":"true",className:chunkITRGJNWL_cjs.a("[&>svg]:size-3.5",r),...t},a);C.displayName="BreadcrumbSeparator";var V=({className:a,...r})=>e__namespace.createElement("span",{role:"presentation","aria-hidden":"true",className:chunkITRGJNWL_cjs.a("flex h-9 w-9 items-center justify-center",a),...r},e__namespace.createElement("span",{className:"sr-only"},"More"),e__namespace.createElement("span",null,"\u22EF"));V.displayName="BreadcrumbEllipsis";exports.a=x;exports.b=y;exports.c=g;exports.d=E;exports.e=M;exports.f=w;exports.g=T;exports.h=k;exports.i=C;exports.j=V;//# sourceMappingURL=chunk-35RWQSO2.cjs.map
3
+ //# sourceMappingURL=chunk-35RWQSO2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/breadcrumb.tsx"],"names":["breadcrumbVariants","cva","breadcrumbItemVariants","breadcrumbSeparatorVariants","Breadcrumb","e","className","variant","separator","items","showHome","homeHref","onItemClick","children","props","ref","getSeparator","CaretRight","handleItemClick","item","index","renderItem","isLast","isCurrent","itemContent","cn","House","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","asChild","BreadcrumbPage","BreadcrumbSeparator","BreadcrumbEllipsis"],"mappings":"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","file":"chunk-35RWQSO2.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { CaretRight, House } from \"phosphor-react\";\n\nconst breadcrumbVariants = cva(\n \"flex items-center space-x-1 text-sm text-muted-foreground\",\n {\n variants: {\n variant: {\n default: \"text-muted-foreground\",\n compact: \"text-xs\",\n },\n separator: {\n default: \"\",\n slash: \"\",\n arrow: \"\",\n dot: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n separator: \"default\",\n },\n },\n);\n\nconst breadcrumbItemVariants = cva(\"flex items-center\", {\n variants: {\n variant: {\n default: \"\",\n current: \"text-foreground font-medium\",\n link: \"hover:text-foreground transition-colors\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\nconst breadcrumbSeparatorVariants = cva(\"flex-shrink-0 text-muted-foreground\", {\n variants: {\n variant: {\n default: \"mx-1\",\n compact: \"mx-0.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\nexport interface BreadcrumbEntry {\n label: string;\n href?: string;\n current?: boolean;\n}\n\nexport interface BreadcrumbProps\n extends\n React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof breadcrumbVariants> {\n /**\n * Data-driven mode. Omit it to compose `BreadcrumbList` / `BreadcrumbItem` /\n * `BreadcrumbLink` as children instead - those sub-components were exported\n * from the start but `items` was required, so the composable form every\n * example used threw on `items.map`.\n */\n items?: BreadcrumbEntry[];\n separator?: \"default\" | \"slash\" | \"arrow\" | \"dot\";\n showHome?: boolean;\n homeHref?: string;\n onItemClick?: (item: BreadcrumbEntry, index: number) => void;\n}\n\nconst Breadcrumb = React.forwardRef<HTMLElement, BreadcrumbProps>(\n (\n {\n className,\n variant,\n separator = \"default\",\n items,\n showHome = false,\n homeHref = \"/\",\n onItemClick,\n children,\n ...props\n },\n ref,\n ) => {\n const getSeparator = () => {\n switch (separator) {\n case \"slash\":\n return \"/\";\n case \"arrow\":\n return \"→\";\n case \"dot\":\n return \"•\";\n default:\n return <CaretRight className=\"h-4 w-4\" />;\n }\n };\n\n const handleItemClick = (item: BreadcrumbEntry, index: number) => {\n if (onItemClick) {\n onItemClick(item, index);\n }\n };\n\n const renderItem = (\n item: BreadcrumbEntry,\n index: number,\n isLast: boolean,\n ) => {\n const isCurrent = item.current || isLast;\n const itemContent = (\n <span\n className={cn(\n breadcrumbItemVariants({\n variant: isCurrent ? \"current\" : item.href ? \"link\" : \"default\",\n }),\n )}\n >\n {item.label}\n </span>\n );\n\n if (item.href && !isCurrent) {\n return (\n <a\n href={item.href}\n className=\"hover:text-foreground transition-colors\"\n onClick={() => handleItemClick(item, index)}\n >\n {itemContent}\n </a>\n );\n }\n\n if (item.href && isCurrent) {\n return (\n <a\n href={item.href}\n aria-current=\"page\"\n aria-disabled=\"true\"\n tabIndex={-1}\n className=\"hover:text-foreground transition-colors pointer-events-none\"\n >\n {itemContent}\n </a>\n );\n }\n\n return (\n <span\n aria-current={isCurrent ? \"page\" : undefined}\n className={isCurrent ? \"text-foreground font-medium\" : \"\"}\n >\n {itemContent}\n </span>\n );\n };\n\n // Composable mode: the caller supplies the structure, so render it as-is.\n if (!items) {\n return (\n <nav\n ref={ref}\n aria-label=\"Breadcrumb\"\n className={cn(breadcrumbVariants({ variant, separator }), className)}\n {...props}\n >\n {children}\n </nav>\n );\n }\n\n return (\n <nav\n ref={ref}\n aria-label=\"Breadcrumb\"\n className={cn(breadcrumbVariants({ variant, separator }), className)}\n {...props}\n >\n <ol className=\"flex items-center space-x-1\">\n {showHome && (\n <>\n <li>\n <a\n href={homeHref}\n className=\"hover:text-foreground transition-colors\"\n aria-label=\"Home\"\n >\n <House className=\"h-4 w-4\" />\n </a>\n </li>\n <li>\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(breadcrumbSeparatorVariants({ variant }))}\n >\n {getSeparator()}\n </span>\n </li>\n </>\n )}\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n return (\n <li key={index} className=\"flex items-center\">\n {renderItem(item, index, isLast)}\n {!isLast && (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(breadcrumbSeparatorVariants({ variant }))}\n >\n {getSeparator()}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n },\n);\nBreadcrumb.displayName = \"Breadcrumb\";\n\n// Individual components for more flexibility\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.HTMLAttributes<HTMLOListElement>\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n));\nBreadcrumbList.displayName = \"BreadcrumbList\";\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.HTMLAttributes<HTMLLIElement>\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n));\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.AnchorHTMLAttributes<HTMLAnchorElement> & {\n asChild?: boolean;\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? React.Fragment : \"a\";\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n );\n});\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.HTMLAttributes<HTMLSpanElement>\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n));\nBreadcrumbPage.displayName = \"BreadcrumbPage\";\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children}\n </li>\n);\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <span className=\"sr-only\">More</span>\n <span>⋯</span>\n </span>\n);\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n breadcrumbVariants,\n breadcrumbItemVariants,\n breadcrumbSeparatorVariants,\n};\n"]}
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  import*as n from'react';function p(r,o={}){let{enabled:e=typeof window<"u"&&window.location?.hostname==="localhost",logToConsole:t=true,onMetric:a,threshold:i=0}=o,c=n.useRef(0),u=n.useId(),m=n.useRef(`${r}-render-${u}`);return n.useEffect(()=>{if(!e||typeof window>"u"||!window.performance)return;c.current+=1;let s=`${m.current}-${c.current}`;return performance.mark(`${s}-start`),()=>{performance.mark(`${s}-end`);try{performance.measure(`${s}-measure`,`${s}-start`,`${s}-end`);let f=performance.getEntriesByName(`${s}-measure`)[0],l=f?f.duration:0;if(performance.clearMarks(`${s}-start`),performance.clearMarks(`${s}-end`),performance.clearMeasures(`${s}-measure`),l>i){let d={renderTime:l,componentName:r,timestamp:Date.now()};a?.(d);}}catch{}}}),{renderCount:c.current,isMonitoring:e}}function w(r,o,e){let t=n.forwardRef((a,i)=>{let c=o||r.displayName||r.name||"Unknown";p(c,e);let u=n.useCallback(m=>{typeof i=="function"?i(m):i&&"current"in i&&(i.current=m);},[i]);return n.createElement(r,{...a,ref:u})});return t.displayName=`withPerformanceMonitoring(${r.displayName||r.name})`,t}function T(){let[r,o]=n.useState(null);return n.useEffect(()=>{if(typeof window>"u"||window.location?.hostname!=="localhost"||typeof window>"u"||!("memory"in performance))return;let e=()=>{let a=performance.memory;a&&o({usedJSHeapSize:a.usedJSHeapSize,totalJSHeapSize:a.totalJSHeapSize,jsHeapSizeLimit:a.jsHeapSizeLimit});};e();let t=setInterval(e,5e3);return ()=>clearInterval(t)},[]),r}var b={debounce:(r,o)=>{let e;return (...t)=>{clearTimeout(e),e=setTimeout(()=>r(...t),o);}},throttle:(r,o)=>{let e;return (...t)=>{e||(r(...t),e=true,setTimeout(()=>e=false,o));}},memoize:r=>{let o=new Map;return((...e)=>{let t=JSON.stringify(e);if(o.has(t))return o.get(t);let a=r(...e);return o.set(t,a),a})}};export{p as a,w as b,T as c,b as d};//# sourceMappingURL=chunk-3BNGK67W.js.map
2
3
  //# sourceMappingURL=chunk-3BNGK67W.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ 'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var e__default=/*#__PURE__*/_interopDefault(e);var c=classVarianceAuthority.cva("animate-pulse rounded-md bg-neutral-200",{variants:{variant:{default:"bg-neutral-200",light:"bg-muted/50",dark:"bg-muted",primary:"bg-primary/10",success:"bg-success-200",warning:"bg-warning-200",error:"bg-error-200"},size:{xs:"h-2",sm:"h-3",md:"h-4",lg:"h-6",xl:"h-8","2xl":"h-12","3xl":"h-16"},shape:{rectangle:"rounded-md",circle:"rounded-full",square:"rounded-lg",pill:"rounded-full"},animation:{pulse:"animate-pulse",wave:"animate-wave",none:"animate-none"}},defaultVariants:{variant:"default",size:"md",shape:"rectangle",animation:"pulse"}}),N=e__default.default.forwardRef(({className:n,children:s,width:a,height:r,variant:t="default",size:o="md",shape:i="rectangle",animation:d="pulse",loading:u=true,...f},h)=>{if(!u&&s)return e__default.default.createElement(e__default.default.Fragment,null,s);let p={width:a||void 0,height:r||void 0};return e__default.default.createElement("div",{ref:h,className:chunkITRGJNWL_cjs.a(c({variant:t,size:o,shape:i,animation:d}),n),style:p,"aria-label":"Loading content",role:"status",...f})});N.displayName="Skeleton";var l=chunk7SPPGTBT_cjs.a(N),k=e__default.default.forwardRef(({className:n,lines:s=3,lastLineWidth:a="75%",spacing:r="md",variant:t="default",animation:o="pulse",loading:i=true,...d},u)=>i?e__default.default.createElement("div",{ref:u,className:chunkITRGJNWL_cjs.a("space-y-2",{none:"space-y-0",sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}[r],n),"aria-label":"Loading text content",role:"status",...d},Array.from({length:s},(h,p)=>e__default.default.createElement("div",{key:p,className:chunkITRGJNWL_cjs.a(c({variant:t,animation:o}),"h-4 rounded-md",p===s-1&&"w-3/4"),style:{width:p===s-1?a:"100%"}}))):null);k.displayName="SkeletonText";var v=e__default.default.forwardRef(({className:n,size:s="md",variant:a="default",animation:r="pulse",loading:t=true,...o},i)=>{if(!t)return null;let d={xs:"h-6 w-6",sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16","2xl":"h-20 w-20"};return e__default.default.createElement("div",{ref:i,className:chunkITRGJNWL_cjs.a(c({variant:a,animation:r}),"rounded-full",d[s],n),"aria-label":"Loading avatar",role:"status",...o})});v.displayName="SkeletonAvatar";var g=e__default.default.forwardRef(({className:n,size:s="md",variant:a="default",animation:r="pulse",loading:t=true,...o},i)=>{if(!t)return null;let d={sm:"h-8 px-3",md:"h-10 px-4",lg:"h-12 px-6"},u={default:"bg-neutral-200",primary:"bg-primary/10",secondary:"bg-secondary",outline:"bg-muted/50 border border-border",ghost:"bg-muted/50"},f=a||"default";return e__default.default.createElement("div",{ref:i,className:chunkITRGJNWL_cjs.a(c({animation:r}),"rounded-md",d[s],u[f],n),"aria-label":"Loading button",role:"status",...o})});g.displayName="SkeletonButton";var y=e__default.default.forwardRef(({className:n,showAvatar:s=true,showActions:a=true,variant:r="default",animation:t="pulse",loading:o=true,...i},d)=>o?e__default.default.createElement("div",{ref:d,className:chunkITRGJNWL_cjs.a("p-6 border border-border rounded-lg bg-card",n),"aria-label":"Loading card content",role:"status",...i},e__default.default.createElement("div",{className:"space-y-4"},e__default.default.createElement("div",{className:"flex items-center space-x-3"},s&&e__default.default.createElement(v,{size:"md",variant:r,animation:t}),e__default.default.createElement("div",{className:"flex-1 space-y-2"},e__default.default.createElement(l,{className:"h-4 w-3/4",variant:r,animation:t}),e__default.default.createElement(l,{className:"h-3 w-1/2",variant:r,animation:t}))),e__default.default.createElement("div",{className:"space-y-2"},e__default.default.createElement(l,{className:"h-4 w-full",variant:r,animation:t}),e__default.default.createElement(l,{className:"h-4 w-5/6",variant:r,animation:t}),e__default.default.createElement(l,{className:"h-4 w-4/5",variant:r,animation:t})),a&&e__default.default.createElement("div",{className:"flex space-x-2 pt-4"},e__default.default.createElement(g,{size:"sm",animation:t}),e__default.default.createElement(g,{size:"sm",animation:t})))):null);y.displayName="SkeletonCard";var S=e__default.default.forwardRef(({className:n,variant:s="default",animation:a="pulse",loading:r=true,...t},o)=>r?e__default.default.createElement("div",{ref:o,className:chunkITRGJNWL_cjs.a("space-y-3",n),"aria-label":"Loading table content",role:"status",...t},e__default.default.createElement("div",{className:"grid grid-cols-4 gap-4"},e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a})),Array.from({length:5},(i,d)=>e__default.default.createElement("div",{key:d,className:"grid grid-cols-4 gap-4"},e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a}),e__default.default.createElement(l,{className:"h-4",variant:s,animation:a})))):null);S.displayName="SkeletonTable";var w=e__default.default.forwardRef(({className:n,items:s=5,variant:a="default",animation:r="pulse",loading:t=true,...o},i)=>t?e__default.default.createElement("div",{ref:i,className:chunkITRGJNWL_cjs.a("space-y-3",n),"aria-label":"Loading list content",role:"status",...o},Array.from({length:s},(d,u)=>e__default.default.createElement("div",{key:u,className:"flex items-center space-x-3"},e__default.default.createElement(v,{size:"sm",variant:a,animation:r}),e__default.default.createElement("div",{className:"flex-1 space-y-2"},e__default.default.createElement(l,{className:"h-4 w-3/4",variant:a,animation:r}),e__default.default.createElement(l,{className:"h-3 w-1/2",variant:a,animation:r}))))):null);w.displayName="SkeletonList";exports.a=c;exports.b=l;exports.c=k;exports.d=v;exports.e=g;exports.f=y;exports.g=S;exports.h=w;//# sourceMappingURL=chunk-3QVQ2TNE.cjs.map
3
+ //# sourceMappingURL=chunk-3QVQ2TNE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/skeleton.tsx"],"names":["skeletonVariants","cva","SkeletonComponent","React","className","children","width","height","variant","size","shape","animation","loading","props","ref","style","cn","Skeleton","memo","SkeletonText","lines","lastLineWidth","spacing","_","index","SkeletonAvatar","sizeClasses","SkeletonButton","variantClasses","finalVariant","SkeletonCard","showAvatar","showActions","SkeletonTable","SkeletonList","items"],"mappings":"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","file":"chunk-3QVQ2TNE.cjs","sourcesContent":["import React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\n// Skeleton variants\nconst skeletonVariants = cva(\"animate-pulse rounded-md bg-neutral-200\", {\n variants: {\n variant: {\n default: \"bg-neutral-200\",\n light: \"bg-muted/50\",\n dark: \"bg-muted\",\n primary: \"bg-primary/10\",\n success: \"bg-success-200\",\n warning: \"bg-warning-200\",\n error: \"bg-error-200\",\n },\n size: {\n xs: \"h-2\",\n sm: \"h-3\",\n md: \"h-4\",\n lg: \"h-6\",\n xl: \"h-8\",\n \"2xl\": \"h-12\",\n \"3xl\": \"h-16\",\n },\n shape: {\n rectangle: \"rounded-md\",\n circle: \"rounded-full\",\n square: \"rounded-lg\",\n pill: \"rounded-full\",\n },\n animation: {\n pulse: \"animate-pulse\",\n wave: \"animate-wave\",\n none: \"animate-none\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n shape: \"rectangle\",\n animation: \"pulse\",\n },\n});\n\n// Types\nexport interface SkeletonProps extends VariantProps<typeof skeletonVariants> {\n className?: string;\n children?: React.ReactNode;\n width?: string | number;\n height?: string | number;\n lines?: number;\n spacing?: \"none\" | \"sm\" | \"md\" | \"lg\";\n loading?: boolean;\n}\n\nexport interface SkeletonTextProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n lines?: number;\n lastLineWidth?: string | number;\n}\n\nexport interface SkeletonAvatarProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\";\n}\n\nexport interface SkeletonButtonProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\" | \"variant\"\n> {\n size?: \"sm\" | \"md\" | \"lg\";\n variant?: \"default\" | \"primary\" | \"secondary\" | \"outline\" | \"ghost\";\n}\n\nexport interface SkeletonCardProps extends Omit<\n SkeletonProps,\n \"shape\" | \"size\"\n> {\n showAvatar?: boolean;\n showActions?: boolean;\n}\n\n// Main Skeleton Component\nconst SkeletonComponent = React.forwardRef<HTMLDivElement, SkeletonProps>(\n (\n {\n className,\n children,\n width,\n height,\n variant = \"default\",\n size = \"md\",\n shape = \"rectangle\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading && children) {\n return <>{children}</>;\n }\n\n const style = {\n width: width || undefined,\n height: height || undefined,\n };\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ variant, size, shape, animation }),\n className,\n )}\n style={style}\n aria-label=\"Loading content\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonComponent.displayName = \"Skeleton\";\n\n// Memoize Skeleton for performance optimization\nexport const Skeleton = memo(SkeletonComponent) as typeof SkeletonComponent;\n\n// Skeleton Text Component\nexport const SkeletonText = React.forwardRef<HTMLDivElement, SkeletonTextProps>(\n (\n {\n className,\n lines = 3,\n lastLineWidth = \"75%\",\n spacing = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const spacingClasses = {\n none: \"space-y-0\",\n sm: \"space-y-1\",\n md: \"space-y-2\",\n lg: \"space-y-3\",\n };\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-2\", spacingClasses[spacing], className)}\n aria-label=\"Loading text content\"\n role=\"status\"\n {...props}\n >\n {Array.from({ length: lines }, (_, index) => (\n <div\n key={index}\n className={cn(\n skeletonVariants({ variant, animation }),\n \"h-4 rounded-md\",\n index === lines - 1 && \"w-3/4\",\n )}\n style={{\n width: index === lines - 1 ? lastLineWidth : \"100%\",\n }}\n />\n ))}\n </div>\n );\n },\n);\n\nSkeletonText.displayName = \"SkeletonText\";\n\n// Skeleton Avatar Component\nexport const SkeletonAvatar = React.forwardRef<\n HTMLDivElement,\n SkeletonAvatarProps\n>(\n (\n {\n className,\n size = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const sizeClasses = {\n xs: \"h-6 w-6\",\n sm: \"h-8 w-8\",\n md: \"h-10 w-10\",\n lg: \"h-12 w-12\",\n xl: \"h-16 w-16\",\n \"2xl\": \"h-20 w-20\",\n };\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ variant, animation }),\n \"rounded-full\",\n sizeClasses[size],\n className,\n )}\n aria-label=\"Loading avatar\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonAvatar.displayName = \"SkeletonAvatar\";\n\n// Skeleton Button Component\nexport const SkeletonButton = React.forwardRef<\n HTMLDivElement,\n SkeletonButtonProps\n>(\n (\n {\n className,\n size = \"md\",\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n const sizeClasses = {\n sm: \"h-8 px-3\",\n md: \"h-10 px-4\",\n lg: \"h-12 px-6\",\n };\n\n const variantClasses = {\n default: \"bg-neutral-200\",\n primary: \"bg-primary/10\",\n secondary: \"bg-secondary\",\n outline: \"bg-muted/50 border border-border\",\n ghost: \"bg-muted/50\",\n };\n\n const finalVariant = variant || \"default\";\n\n return (\n <div\n ref={ref}\n className={cn(\n skeletonVariants({ animation }),\n \"rounded-md\",\n sizeClasses[size],\n variantClasses[finalVariant],\n className,\n )}\n aria-label=\"Loading button\"\n role=\"status\"\n {...props}\n />\n );\n },\n);\n\nSkeletonButton.displayName = \"SkeletonButton\";\n\n// Skeleton Card Component\nexport const SkeletonCard = React.forwardRef<HTMLDivElement, SkeletonCardProps>(\n (\n {\n className,\n showAvatar = true,\n showActions = true,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"p-6 border border-border rounded-lg bg-card\", className)}\n aria-label=\"Loading card content\"\n role=\"status\"\n {...props}\n >\n <div className=\"space-y-4\">\n {/* Header with avatar and title */}\n <div className=\"flex items-center space-x-3\">\n {showAvatar && (\n <SkeletonAvatar\n size=\"md\"\n variant={variant}\n animation={animation}\n />\n )}\n <div className=\"flex-1 space-y-2\">\n <Skeleton\n className=\"h-4 w-3/4\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-3 w-1/2\"\n variant={variant}\n animation={animation}\n />\n </div>\n </div>\n\n {/* Content */}\n <div className=\"space-y-2\">\n <Skeleton\n className=\"h-4 w-full\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-4 w-5/6\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-4 w-4/5\"\n variant={variant}\n animation={animation}\n />\n </div>\n\n {/* Actions */}\n {showActions && (\n <div className=\"flex space-x-2 pt-4\">\n <SkeletonButton size=\"sm\" animation={animation} />\n <SkeletonButton size=\"sm\" animation={animation} />\n </div>\n )}\n </div>\n </div>\n );\n },\n);\n\nSkeletonCard.displayName = \"SkeletonCard\";\n\n// Skeleton Table Component\nexport const SkeletonTable = React.forwardRef<HTMLDivElement, SkeletonProps>(\n (\n {\n className,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-3\", className)}\n aria-label=\"Loading table content\"\n role=\"status\"\n {...props}\n >\n {/* Header */}\n <div className=\"grid grid-cols-4 gap-4\">\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n </div>\n\n {/* Rows */}\n {Array.from({ length: 5 }, (_, index) => (\n <div key={index} className=\"grid grid-cols-4 gap-4\">\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n <Skeleton className=\"h-4\" variant={variant} animation={animation} />\n </div>\n ))}\n </div>\n );\n },\n);\n\nSkeletonTable.displayName = \"SkeletonTable\";\n\n// Skeleton List Component\nexport const SkeletonList = React.forwardRef<\n HTMLDivElement,\n SkeletonProps & { items?: number }\n>(\n (\n {\n className,\n items = 5,\n variant = \"default\",\n animation = \"pulse\",\n loading = true,\n ...props\n },\n ref,\n ) => {\n if (!loading) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\"space-y-3\", className)}\n aria-label=\"Loading list content\"\n role=\"status\"\n {...props}\n >\n {Array.from({ length: items }, (_, index) => (\n <div key={index} className=\"flex items-center space-x-3\">\n <SkeletonAvatar size=\"sm\" variant={variant} animation={animation} />\n <div className=\"flex-1 space-y-2\">\n <Skeleton\n className=\"h-4 w-3/4\"\n variant={variant}\n animation={animation}\n />\n <Skeleton\n className=\"h-3 w-1/2\"\n variant={variant}\n animation={animation}\n />\n </div>\n </div>\n ))}\n </div>\n );\n },\n);\n\nSkeletonList.displayName = \"SkeletonList\";\n\n// Export variants for external use\nexport { skeletonVariants };\n"]}
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var k=classVarianceAuthority.cva("grid gap-8 items-center",{variants:{columns:{2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-2 sm:grid-cols-3 lg:grid-cols-4",5:"grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5",6:"grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6"},spacing:{sm:"gap-4",md:"gap-6",lg:"gap-8",xl:"gap-12"},alignment:{center:"justify-items-center",start:"justify-items-start",end:"justify-items-end"}},defaultVariants:{columns:4,spacing:"md",alignment:"center"}}),L=classVarianceAuthority.cva("flex items-center justify-center p-4 rounded-lg transition-all duration-300",{variants:{variant:{default:"bg-muted/30 hover:bg-muted/50",ghost:"hover:bg-muted/30",outline:"border border-border hover:border-border/80",filled:"bg-muted hover:bg-muted/80"},hover:{none:"",scale:"hover:scale-105",lift:"hover:-translate-y-1",glow:"hover:shadow-lg hover:shadow-primary/20"},size:{sm:"h-16",md:"h-20",lg:"h-24",xl:"h-28"}},defaultVariants:{variant:"default",hover:"scale",size:"md"}}),P=classVarianceAuthority.cva("max-w-full max-h-full object-contain",{variants:{filter:{none:"",grayscale:"grayscale hover:grayscale-0 transition-all duration-300",opacity:"opacity-60 hover:opacity-100 transition-opacity duration-300",blur:"blur-sm hover:blur-0 transition-all duration-300"}},defaultVariants:{filter:"grayscale"}}),z=({logos:i,title:d="Trusted by",subtitle:l,className:g,itemClassName:c,columns:u=4,spacing:p="md",alignment:f="center",showTitle:h=true,itemVariant:v="default",itemHover:y="scale",itemSize:b="md",imageFilter:x="grayscale",onLogoClick:V,showCount:w=false,maxLogos:r,...N})=>{let s=r?i.slice(0,r):i,m=e=>{e.url&&window.open(e.url,"_blank","noopener,noreferrer"),V?.(e);};return t__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a("py-12 md:py-16",g),...N},h&&t__default.default.createElement("div",{className:"text-center mb-8 md:mb-12"},t__default.default.createElement("h2",{className:"text-2xl md:text-3xl font-bold text-foreground mb-2"},d),l&&t__default.default.createElement("p",{className:"text-muted-foreground text-lg"},l),w&&t__default.default.createElement("p",{className:"text-sm text-muted-foreground mt-2"},s.length," ",s.length===1?"partner":"partners")),t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(k({columns:u,spacing:p,alignment:f}))},s.map((e,I)=>t__default.default.createElement("div",{key:e.id||I,className:chunkITRGJNWL_cjs.a(L({variant:v,hover:y,size:b}),c),role:e.url?"link":"img",tabIndex:e.url?0:void 0,onClick:()=>m(e),onKeyDown:n=>{e.url&&(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),m(e));},"aria-label":e.url?`Visit ${e.name} website`:`Logo of ${e.name}`,title:e.name},t__default.default.createElement("img",{src:e.logo,alt:e.alt||`${e.name} logo`,className:chunkITRGJNWL_cjs.a(P({filter:x})),width:e.width,height:e.height,loading:"lazy"})))),r&&i.length>r&&t__default.default.createElement("div",{className:"text-center mt-8"},t__default.default.createElement("p",{className:"text-sm text-muted-foreground"},"+",i.length-r," more partners")))},$=z;exports.a=z;exports.b=$;//# sourceMappingURL=chunk-3V3OIZWQ.cjs.map
2
3
  //# sourceMappingURL=chunk-3V3OIZWQ.cjs.map
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  import {a}from'./chunk-AC2JBXHQ.js';import r from'react';import {cva}from'class-variance-authority';var f=cva("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),b=cva("grid gap-8",{variants:{columns:{1:"grid-cols-1 max-w-md mx-auto",2:"grid-cols-1 md:grid-cols-2 max-w-4xl mx-auto",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3 max-w-6xl mx-auto",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4 max-w-7xl mx-auto"}},defaultVariants:{columns:3}}),v=cva("relative p-8 rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200",{variants:{variant:{default:"border-border",accent:"border-accent/20 bg-accent/5",popular:"border-primary/20 bg-primary/5 ring-2 ring-primary/10",muted:"border-muted bg-muted/20"}},defaultVariants:{variant:"default"}}),y=cva("absolute -top-3 left-1/2 transform -translate-x-1/2 px-3 py-1 rounded-full text-xs font-medium",{variants:{variant:{default:"bg-primary text-primary-foreground",accent:"bg-accent text-accent-foreground",success:"bg-success-100 text-success-800",warning:"bg-warning-100 text-warning-800"}},defaultVariants:{variant:"default"}}),h=({plans:c,title:s,subtitle:o,columns:l,variant:u,className:g,showYearly:a$1=false,onToggleBilling:m,...p})=>{let x=(t,d="USD")=>new Intl.NumberFormat("en-US",{style:"currency",currency:d,minimumFractionDigits:0}).format(t);return r.createElement("section",{className:a(f({variant:u}),g),...p},r.createElement("div",{className:"container mx-auto px-4"},(s||o)&&r.createElement("div",{className:"text-center mb-12"},s&&r.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},s),o&&r.createElement("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto mb-8"},o),m&&r.createElement("div",{className:"flex items-center justify-center gap-4 mb-8"},r.createElement("span",{className:a("text-sm",!a$1&&"text-foreground font-medium")},"Monthly"),r.createElement("button",{onClick:()=>m(!a$1),className:"relative inline-flex h-6 w-11 items-center rounded-full bg-primary transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2"},r.createElement("span",{className:a("inline-block h-4 w-4 transform rounded-full bg-background transition-transform",a$1?"translate-x-6":"translate-x-1")})),r.createElement("span",{className:a("text-sm",a$1&&"text-foreground font-medium")},"Yearly",r.createElement("span",{className:"ml-1 text-xs text-success-600"},"(Save 20%)")))),r.createElement("div",{className:a(b({columns:l}))},c.map((t,d)=>r.createElement("div",{key:t.id||d,className:a(v({variant:t.popular?"popular":"default"}),t.popular&&"scale-105")},t.badge&&r.createElement("div",{className:a(y({variant:t.badge.variant}))},t.badge.text),r.createElement("div",{className:"text-center mb-6"},r.createElement("h3",{className:"text-2xl font-bold mb-2"},t.name),t.description&&r.createElement("p",{className:"text-muted-foreground text-sm mb-4"},t.description),r.createElement("div",{className:"mb-4"},r.createElement("span",{className:"text-4xl font-bold"},x(a$1&&t.price.yearly?t.price.yearly:t.price.monthly,t.currency)),r.createElement("span",{className:"text-muted-foreground ml-1"},"/",t.period||(a$1?"year":"month")))),r.createElement("ul",{className:"space-y-3 mb-8"},t.features.map(n=>r.createElement("li",{key:n.id,className:"flex items-center gap-3"},r.createElement("span",{className:a("w-5 h-5 rounded-full flex items-center justify-center text-xs",n.included?"bg-success-100 text-success-600":"bg-muted text-muted-foreground")},n.included?"\u2713":"\u2717"),r.createElement("span",{className:a("text-sm",!n.included&&"text-muted-foreground line-through")},n.name)))),r.createElement("button",{className:a("w-full py-3 px-4 rounded-lg font-medium transition-colors",t.popular?"bg-primary text-primary-foreground hover:bg-primary/90":"bg-muted text-muted-foreground hover:bg-muted/80"),onClick:t.cta.onClick},t.cta.text))))))};export{h as a};//# sourceMappingURL=chunk-44HISN45.js.map
2
3
  //# sourceMappingURL=chunk-44HISN45.js.map
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  'use strict';var r=require('react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var n=class extends r__namespace.Component{constructor(e){super(e),this.state={hasError:false,error:void 0,errorInfo:void 0};}static getDerivedStateFromError(e){return {hasError:true,error:e,errorInfo:void 0}}componentDidCatch(e,o){this.props.onError?.(e,o),this.setState({error:e,errorInfo:o});}resetError=()=>{this.setState({hasError:false,error:void 0,errorInfo:void 0});};render(){if(this.state.hasError){if(this.props.fallback){let e=this.props.fallback;return r__namespace.createElement(e,{error:this.state.error,resetError:this.resetError})}return r__namespace.createElement("div",{className:"flex min-h-[200px] flex-col items-center justify-center rounded-lg border border-destructive/20 bg-destructive/5 p-6"},r__namespace.createElement("div",{className:"text-center"},r__namespace.createElement("h2",{className:"text-lg font-semibold text-destructive mb-2"},"Something went wrong"),r__namespace.createElement("p",{className:"text-sm text-muted-foreground mb-4"},"An unexpected error occurred. Please try again."),r__namespace.createElement("button",{onClick:this.resetError,className:"inline-flex items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"},"Try again")),typeof window<"u"&&window.location?.hostname==="localhost"&&this.state.error&&r__namespace.createElement("details",{className:"mt-4 w-full max-w-md"},r__namespace.createElement("summary",{className:"cursor-pointer text-sm font-medium text-muted-foreground"},"Error Details (Development)"),r__namespace.createElement("pre",{className:"mt-2 overflow-auto rounded bg-muted p-2 text-xs text-muted-foreground"},this.state.error.toString(),this.state.errorInfo?.componentStack)))}return this.props.children}};function i(){let[t,e]=r__namespace.useState(null),o=r__namespace.useCallback(()=>{e(null);},[]),s=r__namespace.useCallback(a=>{e(a);},[]);return r__namespace.useEffect(()=>{if(t)throw t},[t]),{captureError:s,resetError:o}}exports.a=n;exports.b=i;//# sourceMappingURL=chunk-4FSJEW7W.cjs.map
2
3
  //# sourceMappingURL=chunk-4FSJEW7W.cjs.map
@@ -1,2 +1,3 @@
1
+ "use client";
1
2
  'use strict';var chunk4FSJEW7W_cjs=require('./chunk-4FSJEW7W.cjs'),e=require('react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);function d({children:r,fallback:t,errorFallback:n}){return e__namespace.createElement(chunk4FSJEW7W_cjs.a,{fallback:n?({error:a,resetError:o})=>a?e__namespace.createElement(n,{error:a,retry:o}):null:void 0},e__namespace.createElement(e__namespace.Suspense,{fallback:t?e__namespace.createElement(t,null):e__namespace.createElement(l,null)},r))}function l(){return e__namespace.createElement("div",{className:"flex items-center justify-center p-4"},e__namespace.createElement("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent"}))}function p(r,t){let n=e__namespace.forwardRef((a,o)=>e__namespace.createElement(d,{fallback:t?.fallback,errorFallback:t?.errorFallback},e__namespace.createElement(r,a)));return n.displayName=`withLazyLoading(${r.displayName||r.name})`,n}function f(r){let[t,n]=e__namespace.useState(false),a=e__namespace.useRef(null);return e__namespace.useEffect(()=>{let o=a.current;if(!o)return;let c=new IntersectionObserver(([s])=>{s?.isIntersecting&&(n(true),c.disconnect());},{rootMargin:r?.rootMargin||"50px",threshold:r?.threshold||.1});return c.observe(o),()=>c.disconnect()},[r?.rootMargin,r?.threshold]),{ref:a,isVisible:t}}function m({children:r,fallback:t,...n}){let{ref:a,isVisible:o}=f(n);return e__namespace.createElement("div",{ref:a},o?r:t||e__namespace.createElement(l,null))}exports.a=d;exports.b=p;exports.c=f;exports.d=m;//# sourceMappingURL=chunk-55N2IT62.cjs.map
2
3
  //# sourceMappingURL=chunk-55N2IT62.cjs.map
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),reactSlot=require('@radix-ui/react-slot'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var e__namespace=/*#__PURE__*/_interopNamespace(e);var C=classVarianceAuthority.cva("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:["bg-primary text-primary-foreground shadow-md hover:bg-primary/90 hover:shadow-lg","active:scale-[0.98] active:shadow-sm","border border-primary/20"],secondary:["bg-secondary text-secondary-foreground border border-border","hover:bg-secondary/80 hover:border-border hover:shadow-sm","active:scale-[0.98]"],outline:["border-2 border-border bg-transparent text-foreground","hover:bg-muted hover:border-primary hover:text-primary","focus-visible:ring-ring/20 focus-visible:border-primary","active:scale-[0.98]"],ghost:["text-foreground hover:bg-muted hover:text-foreground","active:bg-muted/80 active:scale-[0.98]"],destructive:["bg-destructive text-destructive-foreground shadow-md hover:bg-destructive/90 hover:shadow-lg","active:scale-[0.98] active:shadow-sm","border border-destructive/20"],subtle:["bg-muted text-muted-foreground border border-border","hover:bg-muted/80 hover:border-border","active:scale-[0.98]"],link:"text-primary underline-offset-4 hover:underline"},size:{sm:"h-8 px-3 text-xs rounded-sm",default:"h-10 px-4 text-sm rounded-md",lg:"h-11 px-6 text-base rounded-lg",xl:"h-12 px-8 text-lg rounded-lg",icon:"h-10 w-10 rounded-md"},state:{default:"",loading:"cursor-wait",success:"bg-success hover:bg-success-600 text-success-foreground",error:"bg-destructive hover:bg-destructive/90 text-destructive-foreground"}},defaultVariants:{variant:"default",size:"default",state:"default"}}),c=e__namespace.forwardRef(({className:u,variant:l,size:m,state:b="default",loading:t=false,loadingText:s,asChild:a=false,children:r,disabled:v,...f},g)=>{let p=a?reactSlot.Slot:"button",n=v||t,h=t?"loading":b,o=t&&s?s:r,x=a&&o!==r&&e__namespace.isValidElement(r)?e__namespace.cloneElement(r,void 0,o):o;return e__namespace.createElement(p,{className:chunkITRGJNWL_cjs.a(C({variant:l,size:m,state:h,className:u})),ref:g,disabled:n,"aria-disabled":n,...f},t&&e__namespace.createElement("svg",{className:"mr-2 h-4 w-4 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true"},e__namespace.createElement("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e__namespace.createElement("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),e__namespace.createElement(reactSlot.Slottable,null,x))});c.displayName="Button";var E=chunk7SPPGTBT_cjs.a(c);
2
3
  exports.a=C;exports.b=E;//# sourceMappingURL=chunk-5PVFLXPO.cjs.map
3
4
  //# sourceMappingURL=chunk-5PVFLXPO.cjs.map
@@ -1,2 +1,3 @@
1
- 'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var E=classVarianceAuthority.cva("relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all duration-300",{variants:{variant:{default:"border-border bg-card text-card-foreground shadow-lg hover:shadow-xl",success:"border-success-200 bg-success-50 text-success-900 shadow-lg hover:shadow-xl",error:"border-destructive/20 bg-destructive/10 text-destructive shadow-lg hover:shadow-xl",warning:"border-warning-200 bg-warning-50 text-warning-900 shadow-lg hover:shadow-xl",info:"border-info-200 bg-info-50 text-info-900 shadow-lg hover:shadow-xl"},position:{"top-left":"fixed top-4 left-4 z-50","top-center":"fixed top-4 left-1/2 -translate-x-1/2 z-50","top-right":"fixed top-4 right-4 z-50","bottom-left":"fixed bottom-4 left-4 z-50","bottom-center":"fixed bottom-4 left-1/2 -translate-x-1/2 z-50","bottom-right":"fixed bottom-4 right-4 z-50"},animation:{default:"animate-in slide-in-from-right-full duration-300",slide:"animate-in slide-in-from-bottom-4 duration-300",fade:"animate-in fade-in-0 duration-300",scale:"animate-in zoom-in-95 duration-300",none:""}},defaultVariants:{variant:"default",position:"top-right",animation:"default"}}),m=classVarianceAuthority.cva("flex-shrink-0 w-5 h-5 transition-colors duration-200",{variants:{variant:{default:"text-muted-foreground",success:"text-success-600",error:"text-destructive",warning:"text-warning-600",info:"text-info-600"}},defaultVariants:{variant:"default"}}),M=t__default.default.createContext(void 0),I=()=>{let i=t__default.default.useContext(M);if(!i)throw new Error("useToast must be used within a ToastProvider");return i},X=({children:i})=>{let[d,r]=t.useState([]),o=t.useRef(new Map),e=t.useCallback(s=>{let a=o.current.get(s);a&&(clearTimeout(a),o.current.delete(s)),r(f=>f.filter(l=>l.id!==s));},[]),n=t.useRef(e);t.useEffect(()=>{n.current=e;},[e]);let u=t.useCallback(s=>{let a=Math.random().toString(36).substr(2,9),f={...s,id:a};if(r(l=>[...l,f]),s.duration!==0){let l=setTimeout(()=>{n.current(a),o.current.delete(a);},s.duration||5e3);o.current.set(a,l);}return a},[]),c=t.useCallback(()=>{o.current.forEach(s=>clearTimeout(s)),o.current.clear(),r([]);},[]);return t.useEffect(()=>{let s=o.current;return ()=>{s.forEach(a=>clearTimeout(a)),s.clear();}},[]),t__default.default.createElement(M.Provider,{value:{toasts:d,addToast:u,removeToast:e,clearToasts:c}},i,t__default.default.createElement(H,{toasts:d}))},H=({toasts:i})=>{if(i.length===0)return null;let d=i.reduce((r,o)=>{let e=o.position||"top-right";return r[e]||(r[e]=[]),r[e].push(o),r},{});return t__default.default.createElement("div",{className:"fixed inset-0 z-50 pointer-events-none"},Object.entries(d).map(([r,o])=>t__default.default.createElement("div",{key:r,className:"pointer-events-none"},o.map((e,n)=>{let{style:u,...c}=e;return t__default.default.createElement(S,{key:e.id,...c,style:{...u,transform:`translateY(${n*8}px) ${u?.transform||""}`,marginBottom:n<o.length-1?"8px":"0"}})}))))},V=t__default.default.forwardRef(({id:i,title:d,description:r,variant:o="default",position:e="top-right",animation:n="default",duration:u=5e3,onClose:c,action:s,className:a,children:f,appearDelay:l=10,animationMs:g=150,...x},k)=>{let[C,y]=t.useState(l<=0),[T,O]=t.useState(false);t.useEffect(()=>{if(l<=0)return;let b=window.setTimeout(()=>y(true),l);return ()=>clearTimeout(b)},[l]);let h=t.useCallback(()=>{O(true),window.setTimeout(()=>{c?.(),y(false);},g);},[c,g]);t.useEffect(()=>{if(u>0){let b=window.setTimeout(h,u);return ()=>clearTimeout(b)}},[u,h]);let B=()=>{switch(o){case "success":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"}));case "error":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}));case "warning":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"}));case "info":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"}));default:return null}};return C?t__default.default.createElement("div",{ref:k,className:chunkITRGJNWL_cjs.a(E({variant:o,position:e,animation:n}),T?"opacity-0":"opacity-100","pointer-events-auto",a),"data-visible":C?"true":"false","data-leaving":T?"true":"false",style:{transition:`all ${g}ms ease-in-out`,transform:T?"translateX(100%)":x.style?.transform||"translateX(0)",...x.style},...x},t__default.default.createElement("div",{className:"flex items-start space-x-3"},B(),t__default.default.createElement("div",{className:"flex-1 min-w-0"},d&&t__default.default.createElement("div",{className:"text-sm font-medium"},d),r&&t__default.default.createElement("div",{className:"mt-1 text-sm opacity-90"},r),f)),s&&t__default.default.createElement("button",{type:"button",onClick:s.onClick,className:"ml-4 text-sm font-medium underline hover:no-underline focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500"},s.label),t__default.default.createElement("button",{type:"button",onClick:h,className:"absolute top-2 right-2 p-1 rounded-md hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","aria-label":"Close notification"},t__default.default.createElement("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})))):null});V.displayName="Toast";var S=chunk7SPPGTBT_cjs.a(V),A=()=>{let{addToast:i,removeToast:d,clearToasts:r}=I();return {success:(e,n)=>i({variant:"success",title:"Success",description:e,...n}),error:(e,n)=>i({variant:"error",title:"Error",description:e,...n}),warning:(e,n)=>i({variant:"warning",title:"Warning",description:e,...n}),info:(e,n)=>i({variant:"info",title:"Info",description:e,...n}),custom:e=>i(e),dismiss:d,clear:r}};exports.a=E;exports.b=m;exports.c=I;exports.d=X;exports.e=S;exports.f=A;//# sourceMappingURL=chunk-ZC4HJSII.cjs.map
2
- //# sourceMappingURL=chunk-ZC4HJSII.cjs.map
1
+ "use client";
2
+ 'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var E=classVarianceAuthority.cva("relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all duration-300",{variants:{variant:{default:"border-border bg-card text-card-foreground shadow-lg hover:shadow-xl",success:"border-success-200 bg-success-50 text-success-900 shadow-lg hover:shadow-xl",error:"border-destructive/20 bg-destructive/10 text-destructive shadow-lg hover:shadow-xl",warning:"border-warning-200 bg-warning-50 text-warning-900 shadow-lg hover:shadow-xl",info:"border-info-200 bg-info-50 text-info-900 shadow-lg hover:shadow-xl"},position:{"top-left":"fixed top-4 left-4 z-50","top-center":"fixed top-4 left-1/2 -translate-x-1/2 z-50","top-right":"fixed top-4 right-4 z-50","bottom-left":"fixed bottom-4 left-4 z-50","bottom-center":"fixed bottom-4 left-1/2 -translate-x-1/2 z-50","bottom-right":"fixed bottom-4 right-4 z-50"},animation:{default:"animate-in slide-in-from-right-full duration-300",slide:"animate-in slide-in-from-bottom-4 duration-300",fade:"animate-in fade-in-0 duration-300",scale:"animate-in zoom-in-95 duration-300",none:""}},defaultVariants:{variant:"default",position:"top-right",animation:"default"}}),m=classVarianceAuthority.cva("flex-shrink-0 w-5 h-5 transition-colors duration-200",{variants:{variant:{default:"text-muted-foreground",success:"text-success-600",error:"text-destructive",warning:"text-warning-600",info:"text-info-600"}},defaultVariants:{variant:"default"}}),M=t__default.default.createContext(void 0),I=()=>{let i=t__default.default.useContext(M);if(!i)throw new Error("useToast must be used within a ToastProvider");return i},X=({children:i})=>{let[d,r]=t.useState([]),o=t.useRef(new Map),e=t.useCallback(s=>{let a=o.current.get(s);a&&(clearTimeout(a),o.current.delete(s)),r(f=>f.filter(l=>l.id!==s));},[]),n=t.useRef(e);t.useEffect(()=>{n.current=e;},[e]);let u=t.useCallback(s=>{let a=Math.random().toString(36).substr(2,9),f={...s,id:a};if(r(l=>[...l,f]),s.duration!==0){let l=setTimeout(()=>{n.current(a),o.current.delete(a);},s.duration||5e3);o.current.set(a,l);}return a},[]),c=t.useCallback(()=>{o.current.forEach(s=>clearTimeout(s)),o.current.clear(),r([]);},[]);return t.useEffect(()=>{let s=o.current;return ()=>{s.forEach(a=>clearTimeout(a)),s.clear();}},[]),t__default.default.createElement(M.Provider,{value:{toasts:d,addToast:u,removeToast:e,clearToasts:c}},i,t__default.default.createElement(H,{toasts:d}))},H=({toasts:i})=>{if(i.length===0)return null;let d=i.reduce((r,o)=>{let e=o.position||"top-right";return r[e]||(r[e]=[]),r[e].push(o),r},{});return t__default.default.createElement("div",{className:"fixed inset-0 z-50 pointer-events-none"},Object.entries(d).map(([r,o])=>t__default.default.createElement("div",{key:r,className:"pointer-events-none"},o.map((e,n)=>{let{style:u,...c}=e;return t__default.default.createElement(S,{key:e.id,...c,style:{...u,transform:`translateY(${n*8}px) ${u?.transform||""}`,marginBottom:n<o.length-1?"8px":"0"}})}))))},V=t__default.default.forwardRef(({id:i,title:d,description:r,variant:o="default",position:e="top-right",animation:n="default",duration:u=5e3,onClose:c,action:s,className:a,children:f,appearDelay:l=10,animationMs:g=150,...x},k)=>{let[C,y]=t.useState(l<=0),[T,O]=t.useState(false);t.useEffect(()=>{if(l<=0)return;let w=window.setTimeout(()=>y(true),l);return ()=>clearTimeout(w)},[l]);let h=t.useCallback(()=>{O(true),window.setTimeout(()=>{c?.(),y(false);},g);},[c,g]);t.useEffect(()=>{if(u>0){let w=window.setTimeout(h,u);return ()=>clearTimeout(w)}},[u,h]);let B=()=>{switch(o){case "success":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"}));case "error":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}));case "warning":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",clipRule:"evenodd"}));case "info":return t__default.default.createElement("svg",{className:m({variant:o}),fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"}));default:return null}};return C?t__default.default.createElement("div",{ref:k,className:chunkITRGJNWL_cjs.a(E({variant:o,position:e,animation:n}),T?"opacity-0":"opacity-100","pointer-events-auto",a),"data-visible":C?"true":"false","data-leaving":T?"true":"false",style:{transition:`all ${g}ms ease-in-out`,transform:T?"translateX(100%)":x.style?.transform||"translateX(0)",...x.style},...x},t__default.default.createElement("div",{className:"flex items-start space-x-3"},B(),t__default.default.createElement("div",{className:"flex-1 min-w-0"},d&&t__default.default.createElement("div",{className:"text-sm font-medium"},d),r&&t__default.default.createElement("div",{className:"mt-1 text-sm opacity-90"},r),f)),s&&t__default.default.createElement("button",{type:"button",onClick:s.onClick,className:"ml-4 text-sm font-medium underline hover:no-underline focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-ring"},s.label),t__default.default.createElement("button",{type:"button",onClick:h,className:"absolute top-2 right-2 p-1 rounded-md hover:bg-muted focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-ring","aria-label":"Close notification"},t__default.default.createElement("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20"},t__default.default.createElement("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})))):null});V.displayName="Toast";var S=chunk7SPPGTBT_cjs.a(V),A=()=>{let{addToast:i,removeToast:d,clearToasts:r}=I();return {success:(e,n)=>i({variant:"success",title:"Success",description:e,...n}),error:(e,n)=>i({variant:"error",title:"Error",description:e,...n}),warning:(e,n)=>i({variant:"warning",title:"Warning",description:e,...n}),info:(e,n)=>i({variant:"info",title:"Info",description:e,...n}),custom:e=>i(e),dismiss:d,clear:r}};exports.a=E;exports.b=m;exports.c=I;exports.d=X;exports.e=S;exports.f=A;//# sourceMappingURL=chunk-5Z3MYAVM.cjs.map
3
+ //# sourceMappingURL=chunk-5Z3MYAVM.cjs.map