@jarllyng/nostromo 3.1.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 (417) hide show
  1. package/dist/base.css +312 -0
  2. package/dist/chunk-2DNQXAMB.cjs +2 -0
  3. package/dist/chunk-2DNQXAMB.cjs.map +1 -0
  4. package/dist/chunk-2JQROMCM.js +2 -0
  5. package/dist/chunk-2JQROMCM.js.map +1 -0
  6. package/dist/chunk-3BNGK67W.js +2 -0
  7. package/dist/chunk-3BNGK67W.js.map +1 -0
  8. package/dist/chunk-3V3OIZWQ.cjs +2 -0
  9. package/dist/chunk-3V3OIZWQ.cjs.map +1 -0
  10. package/dist/chunk-44HISN45.js +2 -0
  11. package/dist/chunk-44HISN45.js.map +1 -0
  12. package/dist/chunk-4FSJEW7W.cjs +2 -0
  13. package/dist/chunk-4FSJEW7W.cjs.map +1 -0
  14. package/dist/chunk-4PN7OGLX.cjs +2 -0
  15. package/dist/chunk-4PN7OGLX.cjs.map +1 -0
  16. package/dist/chunk-4TYVEXRA.cjs +2 -0
  17. package/dist/chunk-4TYVEXRA.cjs.map +1 -0
  18. package/dist/chunk-4WFEVNXW.cjs +2 -0
  19. package/dist/chunk-4WFEVNXW.cjs.map +1 -0
  20. package/dist/chunk-55N2IT62.cjs +2 -0
  21. package/dist/chunk-55N2IT62.cjs.map +1 -0
  22. package/dist/chunk-5PVFLXPO.cjs +3 -0
  23. package/dist/chunk-5PVFLXPO.cjs.map +1 -0
  24. package/dist/chunk-6QAYHUNV.js +3 -0
  25. package/dist/chunk-6QAYHUNV.js.map +1 -0
  26. package/dist/chunk-7PPAI3MM.cjs +2 -0
  27. package/dist/chunk-7PPAI3MM.cjs.map +1 -0
  28. package/dist/chunk-7SPPGTBT.cjs +2 -0
  29. package/dist/chunk-7SPPGTBT.cjs.map +1 -0
  30. package/dist/chunk-7W456HZL.js +2 -0
  31. package/dist/chunk-7W456HZL.js.map +1 -0
  32. package/dist/chunk-7WEIVLG3.cjs +2 -0
  33. package/dist/chunk-7WEIVLG3.cjs.map +1 -0
  34. package/dist/chunk-7YFUAGIW.cjs +2 -0
  35. package/dist/chunk-7YFUAGIW.cjs.map +1 -0
  36. package/dist/chunk-ABA7B5DE.js +2 -0
  37. package/dist/chunk-ABA7B5DE.js.map +1 -0
  38. package/dist/chunk-AC2JBXHQ.js +2 -0
  39. package/dist/chunk-AC2JBXHQ.js.map +1 -0
  40. package/dist/chunk-AHRTNKXE.js +2 -0
  41. package/dist/chunk-AHRTNKXE.js.map +1 -0
  42. package/dist/chunk-AVTJE2O2.js +3 -0
  43. package/dist/chunk-AVTJE2O2.js.map +1 -0
  44. package/dist/chunk-B2BWBKZA.cjs +2 -0
  45. package/dist/chunk-B2BWBKZA.cjs.map +1 -0
  46. package/dist/chunk-BSUHBLZO.cjs +2 -0
  47. package/dist/chunk-BSUHBLZO.cjs.map +1 -0
  48. package/dist/chunk-BYV75TDY.cjs +2 -0
  49. package/dist/chunk-BYV75TDY.cjs.map +1 -0
  50. package/dist/chunk-BZF3ZOAN.js +3 -0
  51. package/dist/chunk-BZF3ZOAN.js.map +1 -0
  52. package/dist/chunk-CEMOHO3Z.js +2 -0
  53. package/dist/chunk-CEMOHO3Z.js.map +1 -0
  54. package/dist/chunk-COXN6XBA.js +2 -0
  55. package/dist/chunk-COXN6XBA.js.map +1 -0
  56. package/dist/chunk-CVOSWGQZ.js +2 -0
  57. package/dist/chunk-CVOSWGQZ.js.map +1 -0
  58. package/dist/chunk-EFCNLYYW.cjs +2 -0
  59. package/dist/chunk-EFCNLYYW.cjs.map +1 -0
  60. package/dist/chunk-EGQ2Q37R.cjs +2 -0
  61. package/dist/chunk-EGQ2Q37R.cjs.map +1 -0
  62. package/dist/chunk-EIXD3Y4R.js +2 -0
  63. package/dist/chunk-EIXD3Y4R.js.map +1 -0
  64. package/dist/chunk-EVRQYWZ3.cjs +2 -0
  65. package/dist/chunk-EVRQYWZ3.cjs.map +1 -0
  66. package/dist/chunk-FUENXWR7.cjs +2 -0
  67. package/dist/chunk-FUENXWR7.cjs.map +1 -0
  68. package/dist/chunk-G35BR7SK.cjs +2 -0
  69. package/dist/chunk-G35BR7SK.cjs.map +1 -0
  70. package/dist/chunk-G5ZSOVJY.cjs +2 -0
  71. package/dist/chunk-G5ZSOVJY.cjs.map +1 -0
  72. package/dist/chunk-G6TR5RGR.js +2 -0
  73. package/dist/chunk-G6TR5RGR.js.map +1 -0
  74. package/dist/chunk-GUJB555L.js +2 -0
  75. package/dist/chunk-GUJB555L.js.map +1 -0
  76. package/dist/chunk-HD3TMQPR.js +2 -0
  77. package/dist/chunk-HD3TMQPR.js.map +1 -0
  78. package/dist/chunk-HWZTMVQV.cjs +2 -0
  79. package/dist/chunk-HWZTMVQV.cjs.map +1 -0
  80. package/dist/chunk-IOX4WPJL.cjs +2 -0
  81. package/dist/chunk-IOX4WPJL.cjs.map +1 -0
  82. package/dist/chunk-ITRGJNWL.cjs +2 -0
  83. package/dist/chunk-ITRGJNWL.cjs.map +1 -0
  84. package/dist/chunk-J4VRJVTO.cjs +2 -0
  85. package/dist/chunk-J4VRJVTO.cjs.map +1 -0
  86. package/dist/chunk-JEHIMQQZ.js +2 -0
  87. package/dist/chunk-JEHIMQQZ.js.map +1 -0
  88. package/dist/chunk-JUOCEYUF.cjs +2 -0
  89. package/dist/chunk-JUOCEYUF.cjs.map +1 -0
  90. package/dist/chunk-JZROH43C.js +2 -0
  91. package/dist/chunk-JZROH43C.js.map +1 -0
  92. package/dist/chunk-K2JCGDU7.cjs +3 -0
  93. package/dist/chunk-K2JCGDU7.cjs.map +1 -0
  94. package/dist/chunk-LR4VUFOQ.js +2 -0
  95. package/dist/chunk-LR4VUFOQ.js.map +1 -0
  96. package/dist/chunk-LXQT7FH6.cjs +2 -0
  97. package/dist/chunk-LXQT7FH6.cjs.map +1 -0
  98. package/dist/chunk-LYVCB45L.js +2 -0
  99. package/dist/chunk-LYVCB45L.js.map +1 -0
  100. package/dist/chunk-M5IBD3KV.js +2 -0
  101. package/dist/chunk-M5IBD3KV.js.map +1 -0
  102. package/dist/chunk-MLJZU63I.cjs +2 -0
  103. package/dist/chunk-MLJZU63I.cjs.map +1 -0
  104. package/dist/chunk-MLSE5XSB.cjs +3 -0
  105. package/dist/chunk-MLSE5XSB.cjs.map +1 -0
  106. package/dist/chunk-MRZOLUSF.js +2 -0
  107. package/dist/chunk-MRZOLUSF.js.map +1 -0
  108. package/dist/chunk-MVCGR7JQ.js +2 -0
  109. package/dist/chunk-MVCGR7JQ.js.map +1 -0
  110. package/dist/chunk-NLD4R74T.js +2 -0
  111. package/dist/chunk-NLD4R74T.js.map +1 -0
  112. package/dist/chunk-OEN63W3G.cjs +2 -0
  113. package/dist/chunk-OEN63W3G.cjs.map +1 -0
  114. package/dist/chunk-OUWOPYAX.js +2 -0
  115. package/dist/chunk-OUWOPYAX.js.map +1 -0
  116. package/dist/chunk-OZ3RIKZO.cjs +2 -0
  117. package/dist/chunk-OZ3RIKZO.cjs.map +1 -0
  118. package/dist/chunk-PEYPRWZP.js +2 -0
  119. package/dist/chunk-PEYPRWZP.js.map +1 -0
  120. package/dist/chunk-PMNNV4ML.cjs +2 -0
  121. package/dist/chunk-PMNNV4ML.cjs.map +1 -0
  122. package/dist/chunk-PVHTEE5T.cjs +2 -0
  123. package/dist/chunk-PVHTEE5T.cjs.map +1 -0
  124. package/dist/chunk-Q6QMSAJR.js +2 -0
  125. package/dist/chunk-Q6QMSAJR.js.map +1 -0
  126. package/dist/chunk-QBAURT3I.js +2 -0
  127. package/dist/chunk-QBAURT3I.js.map +1 -0
  128. package/dist/chunk-QF5CRDZI.js +2 -0
  129. package/dist/chunk-QF5CRDZI.js.map +1 -0
  130. package/dist/chunk-RC2THAIA.js +2 -0
  131. package/dist/chunk-RC2THAIA.js.map +1 -0
  132. package/dist/chunk-RPRISB7O.cjs +2 -0
  133. package/dist/chunk-RPRISB7O.cjs.map +1 -0
  134. package/dist/chunk-SD4IIQ2I.cjs +2 -0
  135. package/dist/chunk-SD4IIQ2I.cjs.map +1 -0
  136. package/dist/chunk-SLGMKBST.js +2 -0
  137. package/dist/chunk-SLGMKBST.js.map +1 -0
  138. package/dist/chunk-TGPWW7FC.js +2 -0
  139. package/dist/chunk-TGPWW7FC.js.map +1 -0
  140. package/dist/chunk-TJFZAMBB.js +2 -0
  141. package/dist/chunk-TJFZAMBB.js.map +1 -0
  142. package/dist/chunk-UL6MF7ES.js +2 -0
  143. package/dist/chunk-UL6MF7ES.js.map +1 -0
  144. package/dist/chunk-V77N662N.cjs +2 -0
  145. package/dist/chunk-V77N662N.cjs.map +1 -0
  146. package/dist/chunk-VD6S2PE4.js +2 -0
  147. package/dist/chunk-VD6S2PE4.js.map +1 -0
  148. package/dist/chunk-VXMDVKAD.js +2 -0
  149. package/dist/chunk-VXMDVKAD.js.map +1 -0
  150. package/dist/chunk-WW2DDHCI.js +2 -0
  151. package/dist/chunk-WW2DDHCI.js.map +1 -0
  152. package/dist/chunk-XPIBRXTW.cjs +2 -0
  153. package/dist/chunk-XPIBRXTW.cjs.map +1 -0
  154. package/dist/chunk-XQUZ7DUN.js +2 -0
  155. package/dist/chunk-XQUZ7DUN.js.map +1 -0
  156. package/dist/chunk-YNSODGYK.js +2 -0
  157. package/dist/chunk-YNSODGYK.js.map +1 -0
  158. package/dist/chunk-ZC4HJSII.cjs +2 -0
  159. package/dist/chunk-ZC4HJSII.cjs.map +1 -0
  160. package/dist/chunk-ZEJAFIOC.js +2 -0
  161. package/dist/chunk-ZEJAFIOC.js.map +1 -0
  162. package/dist/chunk-ZQDFYSZB.cjs +2 -0
  163. package/dist/chunk-ZQDFYSZB.cjs.map +1 -0
  164. package/dist/chunk-ZYP2PDSX.cjs +2 -0
  165. package/dist/chunk-ZYP2PDSX.cjs.map +1 -0
  166. package/dist/components/core/accordion.cjs +2 -0
  167. package/dist/components/core/accordion.cjs.map +1 -0
  168. package/dist/components/core/accordion.d.cts +53 -0
  169. package/dist/components/core/accordion.d.ts +53 -0
  170. package/dist/components/core/accordion.js +2 -0
  171. package/dist/components/core/accordion.js.map +1 -0
  172. package/dist/components/core/alert.cjs +2 -0
  173. package/dist/components/core/alert.cjs.map +1 -0
  174. package/dist/components/core/alert.d.cts +29 -0
  175. package/dist/components/core/alert.d.ts +29 -0
  176. package/dist/components/core/alert.js +2 -0
  177. package/dist/components/core/alert.js.map +1 -0
  178. package/dist/components/core/avatar.cjs +2 -0
  179. package/dist/components/core/avatar.cjs.map +1 -0
  180. package/dist/components/core/avatar.d.cts +22 -0
  181. package/dist/components/core/avatar.d.ts +22 -0
  182. package/dist/components/core/avatar.js +2 -0
  183. package/dist/components/core/avatar.js.map +1 -0
  184. package/dist/components/core/badge.cjs +2 -0
  185. package/dist/components/core/badge.cjs.map +1 -0
  186. package/dist/components/core/badge.d.cts +43 -0
  187. package/dist/components/core/badge.d.ts +43 -0
  188. package/dist/components/core/badge.js +2 -0
  189. package/dist/components/core/badge.js.map +1 -0
  190. package/dist/components/core/breadcrumb.cjs +2 -0
  191. package/dist/components/core/breadcrumb.cjs.map +1 -0
  192. package/dist/components/core/breadcrumb.d.cts +43 -0
  193. package/dist/components/core/breadcrumb.d.ts +43 -0
  194. package/dist/components/core/breadcrumb.js +2 -0
  195. package/dist/components/core/breadcrumb.js.map +1 -0
  196. package/dist/components/core/button.cjs +2 -0
  197. package/dist/components/core/button.cjs.map +1 -0
  198. package/dist/components/core/button.d.cts +39 -0
  199. package/dist/components/core/button.d.ts +39 -0
  200. package/dist/components/core/button.js +2 -0
  201. package/dist/components/core/button.js.map +1 -0
  202. package/dist/components/core/calendar.cjs +2 -0
  203. package/dist/components/core/calendar.cjs.map +1 -0
  204. package/dist/components/core/calendar.d.cts +45 -0
  205. package/dist/components/core/calendar.d.ts +45 -0
  206. package/dist/components/core/calendar.js +2 -0
  207. package/dist/components/core/calendar.js.map +1 -0
  208. package/dist/components/core/card.cjs +2 -0
  209. package/dist/components/core/card.cjs.map +1 -0
  210. package/dist/components/core/card.d.cts +26 -0
  211. package/dist/components/core/card.d.ts +26 -0
  212. package/dist/components/core/card.js +2 -0
  213. package/dist/components/core/card.js.map +1 -0
  214. package/dist/components/core/charts-lazy.cjs +2 -0
  215. package/dist/components/core/charts-lazy.cjs.map +1 -0
  216. package/dist/components/core/charts-lazy.d.cts +31 -0
  217. package/dist/components/core/charts-lazy.d.ts +31 -0
  218. package/dist/components/core/charts-lazy.js +2 -0
  219. package/dist/components/core/charts-lazy.js.map +1 -0
  220. package/dist/components/core/charts.cjs +2 -0
  221. package/dist/components/core/charts.cjs.map +1 -0
  222. package/dist/components/core/charts.d.cts +35 -0
  223. package/dist/components/core/charts.d.ts +35 -0
  224. package/dist/components/core/charts.js +2 -0
  225. package/dist/components/core/charts.js.map +1 -0
  226. package/dist/components/core/checkbox.cjs +2 -0
  227. package/dist/components/core/checkbox.cjs.map +1 -0
  228. package/dist/components/core/checkbox.d.cts +31 -0
  229. package/dist/components/core/checkbox.d.ts +31 -0
  230. package/dist/components/core/checkbox.js +2 -0
  231. package/dist/components/core/checkbox.js.map +1 -0
  232. package/dist/components/core/data-table.cjs +2 -0
  233. package/dist/components/core/data-table.cjs.map +1 -0
  234. package/dist/components/core/data-table.d.cts +54 -0
  235. package/dist/components/core/data-table.d.ts +54 -0
  236. package/dist/components/core/data-table.js +2 -0
  237. package/dist/components/core/data-table.js.map +1 -0
  238. package/dist/components/core/dialog.cjs +2 -0
  239. package/dist/components/core/dialog.cjs.map +1 -0
  240. package/dist/components/core/dialog.d.cts +34 -0
  241. package/dist/components/core/dialog.d.ts +34 -0
  242. package/dist/components/core/dialog.js +2 -0
  243. package/dist/components/core/dialog.js.map +1 -0
  244. package/dist/components/core/error-boundary.cjs +2 -0
  245. package/dist/components/core/error-boundary.cjs.map +1 -0
  246. package/dist/components/core/error-boundary.d.cts +35 -0
  247. package/dist/components/core/error-boundary.d.ts +35 -0
  248. package/dist/components/core/error-boundary.js +2 -0
  249. package/dist/components/core/error-boundary.js.map +1 -0
  250. package/dist/components/core/error-message.cjs +2 -0
  251. package/dist/components/core/error-message.cjs.map +1 -0
  252. package/dist/components/core/error-message.d.cts +13 -0
  253. package/dist/components/core/error-message.d.ts +13 -0
  254. package/dist/components/core/error-message.js +2 -0
  255. package/dist/components/core/error-message.js.map +1 -0
  256. package/dist/components/core/helper-text.cjs +2 -0
  257. package/dist/components/core/helper-text.cjs.map +1 -0
  258. package/dist/components/core/helper-text.d.cts +13 -0
  259. package/dist/components/core/helper-text.d.ts +13 -0
  260. package/dist/components/core/helper-text.js +2 -0
  261. package/dist/components/core/helper-text.js.map +1 -0
  262. package/dist/components/core/icon.cjs +2 -0
  263. package/dist/components/core/icon.cjs.map +1 -0
  264. package/dist/components/core/icon.d.cts +19 -0
  265. package/dist/components/core/icon.d.ts +19 -0
  266. package/dist/components/core/icon.js +2 -0
  267. package/dist/components/core/icon.js.map +1 -0
  268. package/dist/components/core/input.cjs +2 -0
  269. package/dist/components/core/input.cjs.map +1 -0
  270. package/dist/components/core/input.d.cts +18 -0
  271. package/dist/components/core/input.d.ts +18 -0
  272. package/dist/components/core/input.js +2 -0
  273. package/dist/components/core/input.js.map +1 -0
  274. package/dist/components/core/label.cjs +2 -0
  275. package/dist/components/core/label.cjs.map +1 -0
  276. package/dist/components/core/label.d.cts +14 -0
  277. package/dist/components/core/label.d.ts +14 -0
  278. package/dist/components/core/label.js +2 -0
  279. package/dist/components/core/label.js.map +1 -0
  280. package/dist/components/core/pagination.cjs +2 -0
  281. package/dist/components/core/pagination.cjs.map +1 -0
  282. package/dist/components/core/pagination.d.cts +32 -0
  283. package/dist/components/core/pagination.d.ts +32 -0
  284. package/dist/components/core/pagination.js +2 -0
  285. package/dist/components/core/pagination.js.map +1 -0
  286. package/dist/components/core/progress.cjs +2 -0
  287. package/dist/components/core/progress.cjs.map +1 -0
  288. package/dist/components/core/progress.d.cts +44 -0
  289. package/dist/components/core/progress.d.ts +44 -0
  290. package/dist/components/core/progress.js +2 -0
  291. package/dist/components/core/progress.js.map +1 -0
  292. package/dist/components/core/radio-group.cjs +2 -0
  293. package/dist/components/core/radio-group.cjs.map +1 -0
  294. package/dist/components/core/radio-group.d.cts +71 -0
  295. package/dist/components/core/radio-group.d.ts +71 -0
  296. package/dist/components/core/radio-group.js +2 -0
  297. package/dist/components/core/radio-group.js.map +1 -0
  298. package/dist/components/core/select.cjs +2 -0
  299. package/dist/components/core/select.cjs.map +1 -0
  300. package/dist/components/core/select.d.cts +41 -0
  301. package/dist/components/core/select.d.ts +41 -0
  302. package/dist/components/core/select.js +2 -0
  303. package/dist/components/core/select.js.map +1 -0
  304. package/dist/components/core/separator.cjs +2 -0
  305. package/dist/components/core/separator.cjs.map +1 -0
  306. package/dist/components/core/separator.d.cts +16 -0
  307. package/dist/components/core/separator.d.ts +16 -0
  308. package/dist/components/core/separator.js +2 -0
  309. package/dist/components/core/separator.js.map +1 -0
  310. package/dist/components/core/skeleton.cjs +2 -0
  311. package/dist/components/core/skeleton.cjs.map +1 -0
  312. package/dist/components/core/skeleton.d.cts +46 -0
  313. package/dist/components/core/skeleton.d.ts +46 -0
  314. package/dist/components/core/skeleton.js +2 -0
  315. package/dist/components/core/skeleton.js.map +1 -0
  316. package/dist/components/core/switch.cjs +2 -0
  317. package/dist/components/core/switch.cjs.map +1 -0
  318. package/dist/components/core/switch.d.cts +21 -0
  319. package/dist/components/core/switch.d.ts +21 -0
  320. package/dist/components/core/switch.js +2 -0
  321. package/dist/components/core/switch.js.map +1 -0
  322. package/dist/components/core/table.cjs +2 -0
  323. package/dist/components/core/table.cjs.map +1 -0
  324. package/dist/components/core/table.d.cts +84 -0
  325. package/dist/components/core/table.d.ts +84 -0
  326. package/dist/components/core/table.js +2 -0
  327. package/dist/components/core/table.js.map +1 -0
  328. package/dist/components/core/tabs.cjs +2 -0
  329. package/dist/components/core/tabs.cjs.map +1 -0
  330. package/dist/components/core/tabs.d.cts +28 -0
  331. package/dist/components/core/tabs.d.ts +28 -0
  332. package/dist/components/core/tabs.js +2 -0
  333. package/dist/components/core/tabs.js.map +1 -0
  334. package/dist/components/core/textarea.cjs +2 -0
  335. package/dist/components/core/textarea.cjs.map +1 -0
  336. package/dist/components/core/textarea.d.cts +18 -0
  337. package/dist/components/core/textarea.d.ts +18 -0
  338. package/dist/components/core/textarea.js +2 -0
  339. package/dist/components/core/textarea.js.map +1 -0
  340. package/dist/components/core/toast.cjs +2 -0
  341. package/dist/components/core/toast.cjs.map +1 -0
  342. package/dist/components/core/toast.d.cts +50 -0
  343. package/dist/components/core/toast.d.ts +50 -0
  344. package/dist/components/core/toast.js +2 -0
  345. package/dist/components/core/toast.js.map +1 -0
  346. package/dist/components/core/tooltip.cjs +2 -0
  347. package/dist/components/core/tooltip.cjs.map +1 -0
  348. package/dist/components/core/tooltip.d.cts +68 -0
  349. package/dist/components/core/tooltip.d.ts +68 -0
  350. package/dist/components/core/tooltip.js +2 -0
  351. package/dist/components/core/tooltip.js.map +1 -0
  352. package/dist/components/marketing/features.cjs +2 -0
  353. package/dist/components/marketing/features.cjs.map +1 -0
  354. package/dist/components/marketing/features.d.cts +35 -0
  355. package/dist/components/marketing/features.d.ts +35 -0
  356. package/dist/components/marketing/features.js +2 -0
  357. package/dist/components/marketing/features.js.map +1 -0
  358. package/dist/components/marketing/gallery.cjs +2 -0
  359. package/dist/components/marketing/gallery.cjs.map +1 -0
  360. package/dist/components/marketing/gallery.d.cts +38 -0
  361. package/dist/components/marketing/gallery.d.ts +38 -0
  362. package/dist/components/marketing/gallery.js +2 -0
  363. package/dist/components/marketing/gallery.js.map +1 -0
  364. package/dist/components/marketing/hero.cjs +2 -0
  365. package/dist/components/marketing/hero.cjs.map +1 -0
  366. package/dist/components/marketing/hero.d.cts +31 -0
  367. package/dist/components/marketing/hero.d.ts +31 -0
  368. package/dist/components/marketing/hero.js +2 -0
  369. package/dist/components/marketing/hero.js.map +1 -0
  370. package/dist/components/marketing/logo-wall.cjs +2 -0
  371. package/dist/components/marketing/logo-wall.cjs.map +1 -0
  372. package/dist/components/marketing/logo-wall.d.cts +44 -0
  373. package/dist/components/marketing/logo-wall.d.ts +44 -0
  374. package/dist/components/marketing/logo-wall.js +2 -0
  375. package/dist/components/marketing/logo-wall.js.map +1 -0
  376. package/dist/components/marketing/pricing.cjs +2 -0
  377. package/dist/components/marketing/pricing.cjs.map +1 -0
  378. package/dist/components/marketing/pricing.d.cts +52 -0
  379. package/dist/components/marketing/pricing.d.ts +52 -0
  380. package/dist/components/marketing/pricing.js +2 -0
  381. package/dist/components/marketing/pricing.js.map +1 -0
  382. package/dist/components/marketing/testimonials.cjs +2 -0
  383. package/dist/components/marketing/testimonials.cjs.map +1 -0
  384. package/dist/components/marketing/testimonials.d.cts +34 -0
  385. package/dist/components/marketing/testimonials.d.ts +34 -0
  386. package/dist/components/marketing/testimonials.js +2 -0
  387. package/dist/components/marketing/testimonials.js.map +1 -0
  388. package/dist/index.cjs +2 -0
  389. package/dist/index.cjs.map +1 -0
  390. package/dist/index.css +2 -0
  391. package/dist/index.css.map +1 -0
  392. package/dist/index.d.cts +125 -0
  393. package/dist/index.d.ts +125 -0
  394. package/dist/index.js +2 -0
  395. package/dist/index.js.map +1 -0
  396. package/dist/lib/lazy.cjs +2 -0
  397. package/dist/lib/lazy.cjs.map +1 -0
  398. package/dist/lib/lazy.d.cts +43 -0
  399. package/dist/lib/lazy.d.ts +43 -0
  400. package/dist/lib/lazy.js +2 -0
  401. package/dist/lib/lazy.js.map +1 -0
  402. package/dist/lib/performance.cjs +2 -0
  403. package/dist/lib/performance.cjs.map +1 -0
  404. package/dist/lib/performance.d.cts +52 -0
  405. package/dist/lib/performance.d.ts +52 -0
  406. package/dist/lib/performance.js +2 -0
  407. package/dist/lib/performance.js.map +1 -0
  408. package/dist/tailwind.css +29 -0
  409. package/dist/themes/__tests__/themes.test.ts +46 -0
  410. package/dist/themes/index.ts +50 -0
  411. package/dist/themes/lv-426.css +342 -0
  412. package/dist/themes/mother.css +280 -0
  413. package/dist/themes/nostromo.css +315 -0
  414. package/dist/themes/sulaco.css +404 -0
  415. package/dist/themes/utils.ts +105 -0
  416. package/dist/tokens.css +212 -0
  417. package/package.json +321 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/charts.tsx"],"names":["chartContainerVariants","cva","defaultColors","CustomTooltip","active","payload","label","React","entry","index","CustomLegend","ChartComponent","type","data","dataKeys","xAxisKey","colors","showGrid","showLegend","showTooltip","title","description","className","variant","size","height","ariaLabel","ariaLabelledBy","strokeWidth","fillOpacity","props","ref","chartHeight","renderChart","commonProps","LineChart","CartesianGrid","XAxis","YAxis","Tooltip","key","colorIndex","color","Line","Legend","BarChart","Bar","AreaChart","Area","pieDataKey","PieChart","Pie","fillColor","Cell","cn","ResponsiveContainer","Chart","memo"],"mappings":"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","file":"chunk-G5ZSOVJY.cjs","sourcesContent":["import React from \"react\";\nimport {\n LineChart,\n Line,\n BarChart,\n Bar,\n PieChart,\n Pie,\n AreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n Cell,\n} from \"recharts\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\n// Chart container variants\nconst chartContainerVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"\",\n minimal: \"\",\n detailed: \"\",\n },\n size: {\n sm: \"h-48\",\n md: \"h-64\",\n lg: \"h-96\",\n xl: \"h-[500px]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport type ChartType = \"line\" | \"bar\" | \"pie\" | \"area\";\n\nexport interface ChartDataPoint {\n name: string;\n [key: string]: string | number;\n}\n\nexport interface ChartProps extends VariantProps<\n typeof chartContainerVariants\n> {\n type: ChartType;\n data: ChartDataPoint[];\n dataKeys: string[];\n xAxisKey?: string;\n colors?: (string | undefined)[];\n showGrid?: boolean;\n showLegend?: boolean;\n showTooltip?: boolean;\n title?: string;\n description?: string;\n className?: string;\n height?: number;\n // Accessibility\n ariaLabel?: string;\n ariaLabelledBy?: string;\n // Styling\n strokeWidth?: number;\n fillOpacity?: number;\n}\n\n// Default color palette matching Nostromo theme\nconst defaultColors = [\n \"hsl(var(--nostromo-color-brand-500))\",\n \"hsl(var(--nostromo-color-brand-600))\",\n \"hsl(var(--nostromo-color-success-500))\",\n \"hsl(var(--nostromo-color-warning-500))\",\n \"hsl(var(--nostromo-color-error-500))\",\n \"hsl(var(--nostromo-color-info-500))\",\n \"hsl(var(--nostromo-color-brand-400))\",\n \"hsl(var(--nostromo-color-brand-700))\",\n];\n\n// Custom tooltip component with Tailwind styling\ninterface CustomTooltipProps {\n active?: boolean;\n payload?: Array<{\n name?: string;\n value?: number | string;\n color?: string;\n }>;\n label?: string | number;\n}\n\nconst CustomTooltip = ({ active, payload, label }: CustomTooltipProps) => {\n if (active && payload && payload.length) {\n return (\n <div className=\"rounded-lg border border-border bg-popover p-3 shadow-lg\">\n <p className=\"mb-2 font-semibold text-popover-foreground\">\n {String(label ?? \"\")}\n </p>\n {payload.map((entry, index: number) => (\n <p key={index} className=\"text-sm\" style={{ color: entry.color }}>\n {`${entry.name ?? \"\"}: ${entry.value ?? \"\"}`}\n </p>\n ))}\n </div>\n );\n }\n return null;\n};\n\n// Custom legend component with Tailwind styling\ninterface CustomLegendProps {\n payload?: Array<{\n value?: string;\n color?: string;\n }>;\n}\n\nconst CustomLegend = ({ payload }: CustomLegendProps) => {\n return (\n <div className=\"mt-4 flex flex-wrap justify-center gap-4\">\n {payload?.map((entry, index: number) => (\n <div key={index} className=\"flex items-center gap-2\">\n <div\n className=\"h-3 w-3 rounded\"\n style={{ backgroundColor: entry.color }}\n aria-hidden=\"true\"\n />\n <span className=\"text-sm text-popover-foreground\">{entry.value}</span>\n </div>\n ))}\n </div>\n );\n};\n\nconst ChartComponent = React.forwardRef<HTMLDivElement, ChartProps>(\n (\n {\n type,\n data,\n dataKeys,\n xAxisKey = \"name\",\n colors = defaultColors,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n title,\n description,\n className,\n variant,\n size,\n height,\n ariaLabel,\n ariaLabelledBy,\n strokeWidth = 2,\n fillOpacity = 0.6,\n ...props\n },\n ref,\n ) => {\n const chartHeight =\n height ||\n (size === \"sm\" ? 192 : size === \"lg\" ? 384 : size === \"xl\" ? 500 : 256);\n\n const renderChart = () => {\n // SSR guard: recharts requires browser environment\n if (typeof window === \"undefined\") {\n return (\n <div className=\"flex items-center justify-center h-full text-muted-foreground\">\n <p>Chart loading...</p>\n </div>\n );\n }\n\n const commonProps = {\n data,\n margin: { top: 5, right: 5, left: 5, bottom: 5 },\n };\n\n switch (type) {\n case \"line\":\n return (\n <LineChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return (\n <Line\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={color}\n strokeWidth={strokeWidth}\n dot={{ r: 4, fill: color }}\n activeDot={{ r: 6 }}\n />\n );\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </LineChart>\n );\n\n case \"bar\":\n return (\n <BarChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return <Bar key={key} dataKey={key} fill={color} />;\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </BarChart>\n );\n\n case \"area\":\n return (\n <AreaChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return (\n <Area\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={color}\n fill={color}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n />\n );\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </AreaChart>\n );\n\n case \"pie\": {\n const pieDataKey = dataKeys[0] || \"value\";\n return (\n <PieChart>\n <Pie\n data={data}\n dataKey={pieDataKey}\n nameKey={xAxisKey}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius={chartHeight / 4}\n label={(props: { name?: string; percent?: number }) =>\n `${props.name ?? \"\"}: ${((props.percent ?? 0) * 100).toFixed(0)}%`\n }\n >\n {data.map((entry, index) => {\n const fillColor =\n colors[index % colors.length] ||\n defaultColors[index % defaultColors.length];\n return (\n <Cell key={`cell-${index}`} fill={fillColor ?? \"#8884d8\"} />\n );\n })}\n </Pie>\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {showLegend && <Legend content={<CustomLegend />} />}\n </PieChart>\n );\n }\n\n default:\n return null;\n }\n };\n\n return (\n <div\n ref={ref}\n className={cn(chartContainerVariants({ variant, size }), className)}\n role=\"img\"\n aria-label={ariaLabel || title || `${type} chart`}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {title && (\n <h3 className=\"mb-2 text-lg font-semibold text-foreground\">\n {title}\n </h3>\n )}\n {description && (\n <p className=\"mb-4 text-sm text-muted-foreground\">{description}</p>\n )}\n <ResponsiveContainer width=\"100%\" height={chartHeight}>\n {renderChart()}\n </ResponsiveContainer>\n </div>\n );\n },\n);\n\nChartComponent.displayName = \"Chart\";\n\n// Memoize Chart component for performance optimization\n// Charts are expensive to render, so memoization helps prevent unnecessary re-renders\nexport const Chart = memo(ChartComponent) as typeof ChartComponent;\n\nexport { chartContainerVariants };\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var v=cva("peer h-4 w-4 shrink-0 rounded-sm border border-border shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary transition-all duration-200",{variants:{variant:{default:"border-border hover:border-border data-[state=checked]:bg-primary data-[state=checked]:border-primary",error:"border-destructive focus-visible:ring-destructive data-[state=checked]:bg-destructive data-[state=checked]:border-destructive",success:"border-success-500 focus-visible:ring-success-500 data-[state=checked]:bg-success-500 data-[state=checked]:border-success-500"},size:{default:"h-4 w-4",sm:"h-3 w-3",lg:"h-5 w-5"}},defaultVariants:{variant:"default",size:"default"}}),x=e.forwardRef(({className:o,error:t,helperText:s,label:d,required:c,id:n,variant:l,size:b,...u},p)=>{let m=e.useId(),r=n||m,i=s?`${r}-helper`:void 0,f=t?`${r}-error`:void 0;return e.createElement("div",{className:"space-y-2"},e.createElement("div",{className:"flex items-center space-x-3"},e.createElement("input",{type:"checkbox",className:a(v({variant:t?"error":l||"default",size:b,className:o})),ref:p,id:r,"aria-describedby":a(i,f)||void 0,"aria-invalid":t,required:c,...u}),d&&e.createElement("label",{htmlFor:r,className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"},d,c&&e.createElement("span",{className:"text-error-500 ml-1"},"*"))),s&&e.createElement("p",{id:i,className:a("text-sm text-muted-foreground",t&&"text-destructive")},s))});x.displayName="Checkbox";export{v as a,x as b};//# sourceMappingURL=chunk-G6TR5RGR.js.map
2
+ //# sourceMappingURL=chunk-G6TR5RGR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/checkbox.tsx"],"names":["checkboxVariants","cva","Checkbox","className","error","helperText","label","required","id","variant","size","props","ref","generatedId","checkboxId","helperTextId","errorId","cn"],"mappings":"uGAIA,IAAMA,CAAAA,CAAmBC,GAAAA,CACvB,kWAAA,CACA,CACE,QAAA,CAAU,CACR,QAAS,CACP,OAAA,CACE,wGACF,KAAA,CACE,+HAAA,CACF,OAAA,CACE,+HACJ,EACA,IAAA,CAAM,CACJ,OAAA,CAAS,SAAA,CACT,GAAI,SAAA,CACJ,EAAA,CAAI,SACN,CACF,EACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CA0BMC,CAAAA,CAAiB,aACrB,CACE,CACE,SAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,EACA,QAAA,CAAAC,CAAAA,CACA,GAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,EACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAoB,SAAM,CAC1BC,CAAAA,CAAaN,CAAAA,EAAMK,CAAAA,CACnBE,EAAeV,CAAAA,CAAa,CAAA,EAAGS,CAAU,CAAA,OAAA,CAAA,CAAY,MAAA,CACrDE,EAAUZ,CAAAA,CAAQ,CAAA,EAAGU,CAAU,CAAA,MAAA,CAAA,CAAW,OAKhD,OACE,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,aACb,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6BAAA,CAAA,CACb,gBAAC,OAAA,CAAA,CACC,IAAA,CAAK,WACL,SAAA,CAAWG,CAAAA,CACTjB,EAAiB,CAAE,OAAA,CARLI,CAAAA,CAAQ,OAAA,CAAUK,GAAW,SAAA,CAQE,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAP,CAAU,CAAC,CAChE,CAAA,CACA,GAAA,CAAKS,EACL,EAAA,CAAIE,CAAAA,CACJ,mBAAkBG,CAAAA,CAAGF,CAAAA,CAAcC,CAAO,CAAA,EAAK,MAAA,CAC/C,cAAA,CAAcZ,CAAAA,CACd,SAAUG,CAAAA,CACT,GAAGI,CAAAA,CACN,CAAA,CACCL,GACC,CAAA,CAAA,aAAA,CAAC,OAAA,CAAA,CACC,OAAA,CAASQ,CAAAA,CACT,UAAU,4FAAA,CAAA,CAETR,CAAAA,CACAC,GAAY,CAAA,CAAA,aAAA,CAAC,MAAA,CAAA,CAAK,UAAU,qBAAA,CAAA,CAAsB,GAAC,CACtD,CAEJ,EACCF,CAAAA,EACC,CAAA,CAAA,aAAA,CAAC,KACC,EAAA,CAAIU,CAAAA,CACJ,UAAWE,CAAAA,CACT,+BAAA,CACAb,CAAAA,EAAS,kBACX,GAECC,CACH,CAEJ,CAEJ,CACF,EACAH,EAAS,WAAA,CAAc,UAAA","file":"chunk-G6TR5RGR.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst checkboxVariants = cva(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-border shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary transition-all duration-200\",\n {\n variants: {\n variant: {\n default:\n \"border-border hover:border-border data-[state=checked]:bg-primary data-[state=checked]:border-primary\",\n error:\n \"border-destructive focus-visible:ring-destructive data-[state=checked]:bg-destructive data-[state=checked]:border-destructive\",\n success:\n \"border-success-500 focus-visible:ring-success-500 data-[state=checked]:bg-success-500 data-[state=checked]:border-success-500\",\n },\n size: {\n default: \"h-4 w-4\",\n sm: \"h-3 w-3\",\n lg: \"h-5 w-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface CheckboxProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof checkboxVariants> {\n /**\n * Whether the checkbox is in an error state\n * @default false\n */\n error?: boolean;\n /**\n * Helper text to display below the checkbox\n */\n helperText?: string;\n /**\n * Label text for the checkbox\n */\n label?: string;\n /**\n * Whether the checkbox is required\n * @default false\n */\n required?: boolean;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n className,\n error,\n helperText,\n label,\n required,\n id,\n variant,\n size,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const checkboxId = id || generatedId;\n const helperTextId = helperText ? `${checkboxId}-helper` : undefined;\n const errorId = error ? `${checkboxId}-error` : undefined;\n\n // Determine variant based on error state\n const checkboxVariant = error ? \"error\" : variant || \"default\";\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-3\">\n <input\n type=\"checkbox\"\n className={cn(\n checkboxVariants({ variant: checkboxVariant, size, className }),\n )}\n ref={ref}\n id={checkboxId}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n required={required}\n {...props}\n />\n {label && (\n <label\n htmlFor={checkboxId}\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 </div>\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);\nCheckbox.displayName = \"Checkbox\";\n\nexport { Checkbox, checkboxVariants };\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-AC2JBXHQ.js';import e,{useState}from'react';import {cva}from'class-variance-authority';var q=cva("w-full border-collapse transition-all duration-200",{variants:{variant:{default:"border border-border shadow-sm hover:shadow-md",striped:"border border-border shadow-sm hover:shadow-md",bordered:"border-2 border-border shadow-md hover:shadow-lg",hover:"border border-border shadow-sm hover:shadow-md",elevated:"border border-border shadow-lg hover:shadow-xl",interactive:"border border-border shadow-sm hover:shadow-md hover:border-primary"},size:{sm:"text-xs sm:text-sm",md:"text-sm sm:text-base",lg:"text-base sm:text-lg"}},defaultVariants:{variant:"default",size:"md"}}),O=cva("font-medium text-left transition-all duration-200",{variants:{variant:{default:"bg-muted text-foreground hover:bg-muted/80",striped:"bg-muted text-foreground hover:bg-muted/80",bordered:"bg-muted text-foreground hover:bg-muted/80",hover:"bg-muted text-foreground hover:bg-muted/80",elevated:"bg-muted text-foreground hover:bg-muted/80",interactive:"bg-muted text-foreground hover:bg-primary/10 hover:text-primary"},size:{sm:"px-2 py-1 sm:px-3 sm:py-2",md:"px-3 py-2 sm:px-4 sm:py-3",lg:"px-4 py-3 sm:px-6 sm:py-4"}},defaultVariants:{variant:"default",size:"md"}}),w=cva("border-border transition-all duration-200",{variants:{variant:{default:"border-b border-border hover:bg-muted/50",striped:"border-b border-border even:bg-muted/50 hover:bg-muted/80",bordered:"border border-border hover:bg-muted/50",hover:"border-b border-border hover:bg-muted/50",elevated:"border-b border-border hover:bg-muted/80",interactive:"border-b border-border hover:bg-primary/10 hover:text-primary"},size:{sm:"px-2 py-1 sm:px-3 sm:py-2",md:"px-3 py-2 sm:px-4 sm:py-3",lg:"px-4 py-3 sm:px-6 sm:py-4"}},defaultVariants:{variant:"default",size:"md"}});function U({data:s,columns:n,loading:i=false,emptyText:m="No data",className:c,variant:d,size:p,rowKey:g="id",onRowClick:P,onSort:K,sortColumn:T,sortDirection:E,pagination:t,selection:l,caption:z,...L},B){let[I,D]=useState(null),H=T!==void 0,u=H&&T?{column:T,direction:E||"asc"}:I,j=r=>{if(!r.sortable)return;let a=u?.column===r.key&&u?.direction==="asc"?"desc":"asc";H||D({column:r.key,direction:a}),K?.(r,a);},h=(r,a)=>typeof g=="function"?g(r):r[g]||a,N=(r,a)=>{if(!l)return false;let o=h(r,a);return l.selectedRowKeys.includes(o)},A=(r,a,o)=>{if(!l)return;let x=h(r,a),v=o?[...l.selectedRowKeys,x]:l.selectedRowKeys.filter(S=>S!==x),C=s.filter((S,J)=>v.includes(h(S,J)));l.onChange(v,C);},G=r=>{if(!l)return;let a=s.map((v,C)=>h(v,C)),o=r?a:[],x=r?s:[];l.onChange(o,x);},$=l&&s.length>0&&l.selectedRowKeys.length===s.length,F=l&&l.selectedRowKeys.length>0&&l.selectedRowKeys.length<s.length;return e.createElement("div",{className:"w-full overflow-x-auto"},e.createElement("div",{className:"min-w-full"},e.createElement("table",{ref:B,className:a(q({variant:d,size:p}),c),...L},z&&e.createElement("caption",{className:"sr-only"},z),e.createElement(V,null,e.createElement(y,null,l&&e.createElement("th",{className:a(w({variant:d,size:p})),scope:"col",role:"columnheader"},e.createElement("input",{type:"checkbox",checked:$,ref:r=>{r&&(r.indeterminate=F||false);},onChange:r=>G(r.target.checked),className:"rounded border-gray-300 text-blue-600 focus:ring-blue-500","aria-label":"Select all rows"})),n.map(r=>e.createElement("th",{key:r.key,className:a(w({variant:d,size:p}),r.className,r.align==="center"&&"text-center",r.align==="right"&&"text-right"),scope:"col",role:"columnheader",...r.width&&{style:{width:r.width}}},e.createElement("div",{className:"flex items-center gap-2"},e.createElement("span",null,r.title),r.sortable&&e.createElement("button",{type:"button",onClick:()=>j(r),className:"flex flex-col text-gray-400 hover:text-gray-600","aria-label":`Sort by ${r.title}`},e.createElement("svg",{className:a("w-3 h-3",u?.column===r.key&&u?.direction==="asc"?"text-blue-600":"text-gray-400"),fill:"currentColor",viewBox:"0 0 20 20"},e.createElement("path",{d:"M5 8l5-5 5 5H5z"})),e.createElement("svg",{className:a("w-3 h-3 -mt-1",u?.column===r.key&&u?.direction==="desc"?"text-blue-600":"text-gray-400"),fill:"currentColor",viewBox:"0 0 20 20"},e.createElement("path",{d:"M5 12l5 5 5-5H5z"})))))))),e.createElement(M,null,i?e.createElement(y,null,e.createElement(f,{colSpan:n.length+(l?1:0),variant:d,size:p,className:"text-center py-8"},e.createElement("div",{className:"flex items-center justify-center gap-2"},e.createElement("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600"}),e.createElement("span",null,"Loading...")))):s.length===0?e.createElement(y,null,e.createElement(f,{colSpan:n.length+(l?1:0),variant:d,size:p,className:"text-center py-8 text-gray-500"},m)):s.map((r,a$1)=>e.createElement(y,{key:h(r,a$1),onClick:()=>P?.(r,a$1),selected:N(r,a$1),className:a(P&&"cursor-pointer hover:bg-gray-50",N(r,a$1)&&"bg-blue-50")},l&&e.createElement(f,{variant:d,size:p},e.createElement("input",{type:"checkbox",checked:N(r,a$1),onChange:o=>A(r,a$1,o.target.checked),className:"rounded border-gray-300 text-blue-600 focus:ring-blue-500","aria-label":`Select row ${a$1+1}`,...l.getCheckboxProps?.(r)})),n.map(o=>e.createElement(f,{key:o.key,variant:d,size:p,className:a(o.className,o.align==="center"&&"text-center",o.align==="right"&&"text-right")},o.render?o.render(o.dataIndex?r[o.dataIndex]:r,r,a$1):o.dataIndex?r[o.dataIndex]:r[o.key]))))))),t&&e.createElement("div",{className:"flex flex-col sm:flex-row items-center justify-between mt-4 px-2 sm:px-4 py-3 bg-card border-t border-border gap-2 sm:gap-0"},e.createElement("div",{className:"flex items-center gap-2"},e.createElement("span",{className:"text-sm text-muted-foreground"},"Showing ",(t.current-1)*t.pageSize+1," to"," ",Math.min(t.current*t.pageSize,t.total)," ","of ",t.total," results")),e.createElement("div",{className:"flex items-center gap-2"},t.showSizeChanger&&e.createElement("select",{value:t.pageSize,onChange:r=>t.onChange(1,Number(r.target.value)),className:"rounded border-gray-300 text-sm","aria-label":"Select page size"},e.createElement("option",{value:10},"10 / page"),e.createElement("option",{value:20},"20 / page"),e.createElement("option",{value:50},"50 / page"),e.createElement("option",{value:100},"100 / page")),e.createElement("div",{className:"flex items-center gap-1"},e.createElement("button",{type:"button",onClick:()=>t.onChange(t.current-1,t.pageSize),disabled:t.current<=1,className:"px-3 py-1 text-sm border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":"Go to previous page"},"Previous"),e.createElement("span",{className:"px-3 py-1 text-sm"},"Page ",t.current," of"," ",Math.ceil(t.total/t.pageSize)),e.createElement("button",{type:"button",onClick:()=>t.onChange(t.current+1,t.pageSize),disabled:t.current>=Math.ceil(t.total/t.pageSize),className:"px-3 py-1 text-sm border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed","aria-label":"Go to next page"},"Next")))))}var R=e.forwardRef(U);R.displayName="Table";var _=R,V=e.forwardRef(({className:s,variant:n,size:i,children:m,...c},d)=>e.createElement("thead",{ref:d,className:a(O({variant:n,size:i}),s),...c},m));V.displayName="TableHeader";var M=e.forwardRef(({className:s,children:n,...i},m)=>e.createElement("tbody",{ref:m,className:a(s),...i},n));M.displayName="TableBody";var y=e.forwardRef(({className:s,children:n,onClick:i,selected:m,...c},d)=>e.createElement("tr",{ref:d,className:a("border-b border-gray-200",m&&"bg-blue-50",i&&"cursor-pointer hover:bg-gray-50",s),onClick:i,...c},n));y.displayName="TableRow";var f=e.forwardRef(({className:s,children:n,variant:i,size:m,colSpan:c,rowSpan:d,...p},g)=>e.createElement("td",{ref:g,className:a(w({variant:i,size:m}),s),colSpan:c,rowSpan:d,...p},n));f.displayName="TableCell";var W=e.forwardRef(({className:s,children:n,variant:i,size:m,colSpan:c,rowSpan:d,...p},g)=>e.createElement("th",{ref:g,className:a(w({variant:i,size:m}),"font-medium",s),colSpan:c,rowSpan:d,...p},n));W.displayName="TableHead";export{q as a,O as b,w as c,_ as d,V as e,M as f,y as g,f as h,W as i};//# sourceMappingURL=chunk-GUJB555L.js.map
2
+ //# sourceMappingURL=chunk-GUJB555L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/table.tsx"],"names":["tableVariants","cva","tableHeaderVariants","tableCellVariants","TableComponent","data","columns","loading","emptyText","className","variant","size","rowKey","onRowClick","onSort","controlledSortColumn","controlledSortDirection","pagination","selection","caption","props","ref","internalSortState","setInternalSortState","useState","isControlled","sortState","handleSort","column","newDirection","getRowKey","record","index","isRowSelected","key","handleRowSelection","checked","newSelectedKeys","k","newSelectedRows","_","i","handleSelectAll","allKeys","isAllSelected","isIndeterminate","React","cn","TableHeader","TableRow","input","e","TableBody","TableCell","TableForwardRef","Table","children","onClick","selected","colSpan","rowSpan","TableHead"],"mappings":"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","file":"chunk-GUJB555L.js","sourcesContent":["import React, { useState } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\n// Table variants\nconst tableVariants = cva(\n \"w-full border-collapse transition-all duration-200\",\n {\n variants: {\n variant: {\n default: \"border border-border shadow-sm hover:shadow-md\",\n striped: \"border border-border shadow-sm hover:shadow-md\",\n bordered: \"border-2 border-border shadow-md hover:shadow-lg\",\n hover: \"border border-border shadow-sm hover:shadow-md\",\n elevated: \"border border-border shadow-lg hover:shadow-xl\",\n interactive:\n \"border border-border shadow-sm hover:shadow-md hover:border-primary\",\n },\n size: {\n sm: \"text-xs sm:text-sm\",\n md: \"text-sm sm:text-base\",\n lg: \"text-base sm:text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nconst tableHeaderVariants = cva(\n \"font-medium text-left transition-all duration-200\",\n {\n variants: {\n variant: {\n default: \"bg-muted text-foreground hover:bg-muted/80\",\n striped: \"bg-muted text-foreground hover:bg-muted/80\",\n bordered: \"bg-muted text-foreground hover:bg-muted/80\",\n hover: \"bg-muted text-foreground hover:bg-muted/80\",\n elevated: \"bg-muted text-foreground hover:bg-muted/80\",\n interactive:\n \"bg-muted text-foreground hover:bg-primary/10 hover:text-primary\",\n },\n size: {\n sm: \"px-2 py-1 sm:px-3 sm:py-2\",\n md: \"px-3 py-2 sm:px-4 sm:py-3\",\n lg: \"px-4 py-3 sm:px-6 sm:py-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nconst tableCellVariants = cva(\"border-border transition-all duration-200\", {\n variants: {\n variant: {\n default: \"border-b border-border hover:bg-muted/50\",\n striped: \"border-b border-border even:bg-muted/50 hover:bg-muted/80\",\n bordered: \"border border-border hover:bg-muted/50\",\n hover: \"border-b border-border hover:bg-muted/50\",\n elevated: \"border-b border-border hover:bg-muted/80\",\n interactive:\n \"border-b border-border hover:bg-primary/10 hover:text-primary\",\n },\n size: {\n sm: \"px-2 py-1 sm:px-3 sm:py-2\",\n md: \"px-3 py-2 sm:px-4 sm:py-3\",\n lg: \"px-4 py-3 sm:px-6 sm:py-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\n// Types\nexport interface TableColumn<T = Record<string, unknown>> {\n key: string;\n title: string;\n dataIndex?: keyof T;\n render?: (value: unknown, record: T, index: number) => React.ReactNode;\n sortable?: boolean;\n width?: string | number;\n align?: \"left\" | \"center\" | \"right\";\n className?: string;\n}\n\nexport interface TableProps<T = Record<string, unknown>> extends VariantProps<\n typeof tableVariants\n> {\n data: T[];\n columns: TableColumn<T>[];\n loading?: boolean;\n emptyText?: string;\n caption?: string;\n className?: string;\n rowKey?: keyof T | ((record: T) => string | number);\n onRowClick?: (record: T, index: number) => void;\n onSort?: (column: TableColumn<T>, direction: \"asc\" | \"desc\") => void;\n sortColumn?: string;\n sortDirection?: \"asc\" | \"desc\";\n pagination?: {\n current: number;\n pageSize: number;\n total: number;\n onChange: (page: number, pageSize: number) => void;\n showSizeChanger?: boolean;\n showQuickJumper?: boolean;\n };\n selection?: {\n selectedRowKeys: (string | number)[];\n onChange: (selectedRowKeys: (string | number)[], selectedRows: T[]) => void;\n getCheckboxProps?: (record: T) => { disabled?: boolean };\n };\n}\n\nexport interface TableHeaderProps extends VariantProps<\n typeof tableHeaderVariants\n> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport interface TableBodyProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport interface TableRowProps {\n className?: string;\n children: React.ReactNode;\n onClick?: () => void;\n selected?: boolean;\n}\n\nexport interface TableCellProps extends VariantProps<typeof tableCellVariants> {\n className?: string;\n children: React.ReactNode;\n colSpan?: number;\n rowSpan?: number;\n}\n\n// Table Components\nfunction TableComponent<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(\n {\n data,\n columns,\n loading = false,\n emptyText = \"No data\",\n className,\n variant,\n size,\n rowKey = \"id\",\n onRowClick,\n onSort,\n sortColumn: controlledSortColumn,\n sortDirection: controlledSortDirection,\n pagination,\n selection,\n caption,\n ...props\n }: TableProps<T>,\n ref: React.Ref<HTMLTableElement>,\n) {\n // Use controlled props if provided, otherwise use internal state\n const [internalSortState, setInternalSortState] = useState<{\n column: string;\n direction: \"asc\" | \"desc\";\n } | null>(null);\n\n // Determine current sort state (controlled takes precedence)\n const isControlled = controlledSortColumn !== undefined;\n const sortState =\n isControlled && controlledSortColumn\n ? {\n column: controlledSortColumn,\n direction: controlledSortDirection || \"asc\",\n }\n : internalSortState;\n\n // Sync internal state with controlled props when they change\n // Sync internal state with controlled props when they change\n // Note: unneeded re-render caused by resetting state. We derive sortState above so stale internal state is ignored.\n /* \n useEffect(() => {\n if (isControlled && controlledSortColumn) {\n setInternalSortState(null);\n }\n }, [isControlled, controlledSortColumn]); \n */\n\n const handleSort = (column: TableColumn<T>) => {\n if (!column.sortable) return;\n\n const newDirection =\n sortState?.column === column.key && sortState?.direction === \"asc\"\n ? \"desc\"\n : \"asc\";\n\n // Only update internal state if not controlled\n if (!isControlled) {\n setInternalSortState({ column: column.key, direction: newDirection });\n }\n\n // Always call onSort callback for controlled usage\n onSort?.(column, newDirection);\n };\n\n const getRowKey = (record: T, index: number): string | number => {\n if (typeof rowKey === \"function\") {\n return rowKey(record);\n }\n return (record[rowKey] as string | number) || index;\n };\n\n const isRowSelected = (record: T, index: number): boolean => {\n if (!selection) return false;\n const key = getRowKey(record, index);\n return selection.selectedRowKeys.includes(key);\n };\n\n const handleRowSelection = (\n record: T,\n index: number,\n checked: boolean,\n ): void => {\n if (!selection) return;\n\n const key = getRowKey(record, index);\n const newSelectedKeys = checked\n ? [...selection.selectedRowKeys, key]\n : selection.selectedRowKeys.filter((k) => k !== key);\n\n const newSelectedRows = data.filter((_, i) =>\n newSelectedKeys.includes(getRowKey(_, i)),\n );\n\n selection.onChange(newSelectedKeys, newSelectedRows);\n };\n\n const handleSelectAll = (checked: boolean) => {\n if (!selection) return;\n\n const allKeys = data.map((record, index) => getRowKey(record, index));\n const newSelectedKeys = checked ? allKeys : [];\n const newSelectedRows = checked ? data : [];\n\n selection.onChange(newSelectedKeys, newSelectedRows);\n };\n\n const isAllSelected =\n selection &&\n data.length > 0 &&\n selection.selectedRowKeys.length === data.length;\n\n const isIndeterminate =\n selection &&\n selection.selectedRowKeys.length > 0 &&\n selection.selectedRowKeys.length < data.length;\n\n return (\n <div className=\"w-full overflow-x-auto\">\n <div className=\"min-w-full\">\n <table\n ref={ref}\n className={cn(tableVariants({ variant, size }), className)}\n {...props}\n >\n {caption && <caption className=\"sr-only\">{caption}</caption>}\n <TableHeader>\n <TableRow>\n {selection && (\n <th\n className={cn(tableCellVariants({ variant, size }))}\n scope=\"col\"\n role=\"columnheader\"\n >\n <input\n type=\"checkbox\"\n checked={isAllSelected}\n ref={(input) => {\n if (input) input.indeterminate = isIndeterminate || false;\n }}\n onChange={(e) => handleSelectAll(e.target.checked)}\n className=\"rounded border-gray-300 text-blue-600 focus:ring-blue-500\"\n aria-label=\"Select all rows\"\n />\n </th>\n )}\n {columns.map((column) => (\n <th\n key={column.key}\n className={cn(\n tableCellVariants({ variant, size }),\n column.className,\n column.align === \"center\" && \"text-center\",\n column.align === \"right\" && \"text-right\",\n )}\n scope=\"col\"\n role=\"columnheader\"\n {...(column.width && { style: { width: column.width } })}\n >\n <div className=\"flex items-center gap-2\">\n <span>{column.title}</span>\n {column.sortable && (\n <button\n type=\"button\"\n onClick={() => handleSort(column)}\n className=\"flex flex-col text-gray-400 hover:text-gray-600\"\n aria-label={`Sort by ${column.title}`}\n >\n <svg\n className={cn(\n \"w-3 h-3\",\n sortState?.column === column.key &&\n sortState?.direction === \"asc\"\n ? \"text-blue-600\"\n : \"text-gray-400\",\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path d=\"M5 8l5-5 5 5H5z\" />\n </svg>\n <svg\n className={cn(\n \"w-3 h-3 -mt-1\",\n sortState?.column === column.key &&\n sortState?.direction === \"desc\"\n ? \"text-blue-600\"\n : \"text-gray-400\",\n )}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path d=\"M5 12l5 5 5-5H5z\" />\n </svg>\n </button>\n )}\n </div>\n </th>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {loading ? (\n <TableRow>\n <TableCell\n colSpan={columns.length + (selection ? 1 : 0)}\n variant={variant}\n size={size}\n className=\"text-center py-8\"\n >\n <div className=\"flex items-center justify-center gap-2\">\n <div className=\"animate-spin rounded-full h-4 w-4 border-b-2 border-blue-600\"></div>\n <span>Loading...</span>\n </div>\n </TableCell>\n </TableRow>\n ) : data.length === 0 ? (\n <TableRow>\n <TableCell\n colSpan={columns.length + (selection ? 1 : 0)}\n variant={variant}\n size={size}\n className=\"text-center py-8 text-gray-500\"\n >\n {emptyText}\n </TableCell>\n </TableRow>\n ) : (\n data.map((record, index) => (\n <TableRow\n key={getRowKey(record, index)}\n onClick={() => onRowClick?.(record, index)}\n selected={isRowSelected(record, index)}\n className={cn(\n onRowClick && \"cursor-pointer hover:bg-gray-50\",\n isRowSelected(record, index) && \"bg-blue-50\",\n )}\n >\n {selection && (\n <TableCell variant={variant} size={size}>\n <input\n type=\"checkbox\"\n checked={isRowSelected(record, index)}\n onChange={(e) =>\n handleRowSelection(record, index, e.target.checked)\n }\n className=\"rounded border-gray-300 text-blue-600 focus:ring-blue-500\"\n aria-label={`Select row ${index + 1}`}\n {...selection.getCheckboxProps?.(record)}\n />\n </TableCell>\n )}\n {columns.map((column) => (\n <TableCell\n key={column.key}\n variant={variant}\n size={size}\n className={cn(\n column.className,\n column.align === \"center\" && \"text-center\",\n column.align === \"right\" && \"text-right\",\n )}\n >\n {column.render\n ? column.render(\n column.dataIndex\n ? record[column.dataIndex]\n : record,\n record,\n index,\n )\n : column.dataIndex\n ? (record[column.dataIndex] as React.ReactNode)\n : ((record as Record<string, unknown>)[\n column.key\n ] as React.ReactNode)}\n </TableCell>\n ))}\n </TableRow>\n ))\n )}\n </TableBody>\n </table>\n </div>\n\n {pagination && (\n <div className=\"flex flex-col sm:flex-row items-center justify-between mt-4 px-2 sm:px-4 py-3 bg-card border-t border-border gap-2 sm:gap-0\">\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-foreground\">\n Showing {(pagination.current - 1) * pagination.pageSize + 1} to{\" \"}\n {Math.min(\n pagination.current * pagination.pageSize,\n pagination.total,\n )}{\" \"}\n of {pagination.total} results\n </span>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {pagination.showSizeChanger && (\n <select\n value={pagination.pageSize}\n onChange={(e) => pagination.onChange(1, Number(e.target.value))}\n className=\"rounded border-gray-300 text-sm\"\n aria-label=\"Select page size\"\n >\n <option value={10}>10 / page</option>\n <option value={20}>20 / page</option>\n <option value={50}>50 / page</option>\n <option value={100}>100 / page</option>\n </select>\n )}\n\n <div className=\"flex items-center gap-1\">\n <button\n type=\"button\"\n onClick={() =>\n pagination.onChange(\n pagination.current - 1,\n pagination.pageSize,\n )\n }\n disabled={pagination.current <= 1}\n className=\"px-3 py-1 text-sm border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed\"\n aria-label=\"Go to previous page\"\n >\n Previous\n </button>\n\n <span className=\"px-3 py-1 text-sm\">\n Page {pagination.current} of{\" \"}\n {Math.ceil(pagination.total / pagination.pageSize)}\n </span>\n\n <button\n type=\"button\"\n onClick={() =>\n pagination.onChange(\n pagination.current + 1,\n pagination.pageSize,\n )\n }\n disabled={\n pagination.current >=\n Math.ceil(pagination.total / pagination.pageSize)\n }\n className=\"px-3 py-1 text-sm border border-gray-300 rounded hover:bg-gray-50 disabled:opacity-50 disabled:cursor-not-allowed\"\n aria-label=\"Go to next page\"\n >\n Next\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nconst TableForwardRef = React.forwardRef(TableComponent) as <\n T extends Record<string, unknown> = Record<string, unknown>,\n>(\n props: TableProps<T> & { ref?: React.Ref<HTMLTableElement> },\n) => React.ReactElement;\n\n(\n TableForwardRef as React.ComponentType<TableProps<unknown>> & {\n displayName?: string;\n }\n).displayName = \"Table\";\n\nexport const Table = TableForwardRef;\n\nexport const TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n TableHeaderProps\n>(({ className, variant, size, children, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(tableHeaderVariants({ variant, size }), className)}\n {...props}\n >\n {children}\n </thead>\n));\n\nTableHeader.displayName = \"TableHeader\";\n\nexport const TableBody = React.forwardRef<\n HTMLTableSectionElement,\n TableBodyProps\n>(({ className, children, ...props }, ref) => (\n <tbody ref={ref} className={cn(className)} {...props}>\n {children}\n </tbody>\n));\n\nTableBody.displayName = \"TableBody\";\n\nexport const TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, children, onClick, selected, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b border-gray-200\",\n selected && \"bg-blue-50\",\n onClick && \"cursor-pointer hover:bg-gray-50\",\n className,\n )}\n onClick={onClick}\n {...props}\n >\n {children}\n </tr>\n ),\n);\n\nTableRow.displayName = \"TableRow\";\n\nexport const TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, children, variant, size, colSpan, rowSpan, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(tableCellVariants({ variant, size }), className)}\n colSpan={colSpan}\n rowSpan={rowSpan}\n {...props}\n >\n {children}\n </td>\n ),\n);\n\nTableCell.displayName = \"TableCell\";\n\nexport const TableHead = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, children, variant, size, colSpan, rowSpan, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n tableCellVariants({ variant, size }),\n \"font-medium\",\n className,\n )}\n colSpan={colSpan}\n rowSpan={rowSpan}\n {...props}\n >\n {children}\n </th>\n ),\n);\n\nTableHead.displayName = \"TableHead\";\n\n// Export variants for external use\nexport { tableVariants, tableHeaderVariants, tableCellVariants };\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-COXN6XBA.js';import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var I=cva("flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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",{variants:{variant:{default:["border-border shadow-sm","hover:border-border hover:shadow-sm","focus-visible:ring-ring/20 focus-visible:border-ring","focus-visible:shadow-md"],error:["border-destructive shadow-sm","hover:border-destructive/80 hover:shadow-sm","focus-visible:ring-destructive/20 focus-visible:border-destructive","focus-visible:shadow-md"],success:["border-success-500 shadow-sm","hover:border-success-600 hover:shadow-sm","focus-visible:ring-success-500/20 focus-visible:border-success-500","focus-visible:shadow-md"],subtle:["border-border bg-muted/50","hover:border-border hover:bg-muted/80","focus-visible:ring-ring/10 focus-visible:border-ring","focus-visible:bg-background"]},inputSize:{sm:"h-8 px-2.5 text-xs",default:"h-10 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{variant:"default",inputSize:"default"}}),u=e.forwardRef(({className:c,type:l,error:r,success:i,helperText:o,label:d,id:b,variant:p,inputSize:f,...m},v)=>{let g=e.useId(),s=b||g,n=o?`${s}-helper`:void 0,h=r?`${s}-error`:void 0;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),e.createElement("input",{type:l,className:a(I({variant:r?"error":i?"success":p||"default",inputSize:f,className:c})),ref:v,id:s,"aria-describedby":a(n,h)||void 0,"aria-invalid":r,...m}),o&&e.createElement("p",{id:n,className:a("text-sm text-muted-foreground",r&&"text-destructive",i&&"text-success")},o))});u.displayName="Input";var R=a$1(u);export{I as a,R as b};//# sourceMappingURL=chunk-HD3TMQPR.js.map
2
+ //# sourceMappingURL=chunk-HD3TMQPR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/input.tsx"],"names":["inputVariants","cva","InputComponent","className","type","error","success","helperText","label","id","variant","inputSize","props","ref","generatedId","inputId","helperTextId","errorId","cn","Input","memo"],"mappings":"sJAKMA,CAAAA,CAAgBC,GAAAA,CAEpB,iVACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CAEP,QAAS,CACP,yBAAA,CACA,sCACA,sDAAA,CACA,yBACF,EAEA,KAAA,CAAO,CACL,+BACA,6CAAA,CACA,oEAAA,CACA,yBACF,CAAA,CAEA,OAAA,CAAS,CACP,8BAAA,CACA,0CAAA,CACA,qEACA,yBACF,CAAA,CAEA,OAAQ,CACN,2BAAA,CACA,wCACA,sDAAA,CACA,6BACF,CACF,CAAA,CACA,SAAA,CAAW,CAET,EAAA,CAAI,qBACJ,OAAA,CAAS,mBAAA,CACT,GAAI,qBACN,CACF,EACA,eAAA,CAAiB,CACf,QAAS,SAAA,CACT,SAAA,CAAW,SACb,CACF,CACF,EAYMC,CAAAA,CAAuB,CAAA,CAAA,UAAA,CAC3B,CACE,CACE,SAAA,CAAAC,EACA,IAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,OAAA,CAAAC,EACA,UAAA,CAAAC,CAAAA,CACA,MAAAC,CAAAA,CACA,EAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,UAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,GACG,CACH,IAAMC,CAAAA,CAAoB,CAAA,CAAA,KAAA,EAAM,CAC1BC,EAAUN,CAAAA,EAAMK,CAAAA,CAChBE,EAAeT,CAAAA,CAAa,CAAA,EAAGQ,CAAO,CAAA,OAAA,CAAA,CAAY,MAAA,CAClDE,EAAUZ,CAAAA,CAAQ,CAAA,EAAGU,CAAO,CAAA,MAAA,CAAA,CAAW,MAAA,CAS7C,OACE,CAAA,CAAA,aAAA,CAAC,KAAA,CAAA,CAAI,UAAU,WAAA,CAAA,CACZP,CAAAA,EACC,gBAAC,OAAA,CAAA,CACC,OAAA,CAASO,EACT,SAAA,CAAU,4FAAA,CAAA,CAETP,CACH,CAAA,CAEF,CAAA,CAAA,aAAA,CAAC,SACC,IAAA,CAAMJ,CAAAA,CACN,UAAWc,CAAAA,CACTlB,CAAAA,CAAc,CAAE,OAAA,CAnBHK,CAAAA,CACjB,QACAC,CAAAA,CACE,SAAA,CACAI,GAAW,SAAA,CAe8B,SAAA,CAAAC,CAAAA,CAAW,SAAA,CAAAR,CAAU,CAAC,CAC/D,EACA,GAAA,CAAKU,CAAAA,CACL,GAAIE,CAAAA,CACJ,kBAAA,CAAkBG,EAAGF,CAAAA,CAAcC,CAAO,GAAK,MAAA,CAC/C,cAAA,CAAcZ,EACb,GAAGO,CAAAA,CACN,EACCL,CAAAA,EACC,CAAA,CAAA,aAAA,CAAC,KACC,EAAA,CAAIS,CAAAA,CACJ,UAAWE,CAAAA,CACT,+BAAA,CACAb,GAAS,kBAAA,CACTC,CAAAA,EAAW,cACb,CAAA,CAAA,CAECC,CACH,CAEJ,CAEJ,CACF,EACAL,CAAAA,CAAe,WAAA,CAAc,QAG7B,IAAMiB,CAAAA,CAAQC,IAAKlB,CAAc","file":"chunk-HD3TMQPR.js","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\nconst inputVariants = cva(\n // Base styles with improved spacing and transitions\n \"flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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\",\n {\n variants: {\n variant: {\n // Enhanced default with better focus\n default: [\n \"border-border shadow-sm\",\n \"hover:border-border hover:shadow-sm\",\n \"focus-visible:ring-ring/20 focus-visible:border-ring\",\n \"focus-visible:shadow-md\",\n ],\n // Enhanced error with better feedback\n error: [\n \"border-destructive shadow-sm\",\n \"hover:border-destructive/80 hover:shadow-sm\",\n \"focus-visible:ring-destructive/20 focus-visible:border-destructive\",\n \"focus-visible:shadow-md\",\n ],\n // Enhanced success with better feedback\n success: [\n \"border-success-500 shadow-sm\",\n \"hover:border-success-600 hover:shadow-sm\",\n \"focus-visible:ring-success-500/20 focus-visible:border-success-500\",\n \"focus-visible:shadow-md\",\n ],\n // Subtle variant for less prominent inputs\n subtle: [\n \"border-border bg-muted/50\",\n \"hover:border-border hover:bg-muted/80\",\n \"focus-visible:ring-ring/10 focus-visible:border-ring\",\n \"focus-visible:bg-background\",\n ],\n },\n inputSize: {\n // Improved spacing for consistency\n sm: \"h-8 px-2.5 text-xs\",\n default: \"h-10 px-3 text-sm\",\n lg: \"h-11 px-4 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n inputSize: \"default\",\n },\n },\n);\n\nexport interface InputProps\n extends\n Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\">,\n VariantProps<typeof inputVariants> {\n error?: boolean;\n success?: boolean;\n helperText?: string;\n label?: string;\n}\n\nconst InputComponent = React.forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className,\n type,\n error,\n success,\n helperText,\n label,\n id,\n variant,\n inputSize,\n ...props\n },\n ref,\n ) => {\n const generatedId = React.useId();\n const inputId = id || generatedId;\n const helperTextId = helperText ? `${inputId}-helper` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n\n // Determine variant based on state\n const inputVariant = error\n ? \"error\"\n : success\n ? \"success\"\n : variant || \"default\";\n\n return (\n <div className=\"space-y-2\">\n {label && (\n <label\n htmlFor={inputId}\n className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n >\n {label}\n </label>\n )}\n <input\n type={type}\n className={cn(\n inputVariants({ variant: inputVariant, inputSize, className }),\n )}\n ref={ref}\n id={inputId}\n aria-describedby={cn(helperTextId, errorId) || undefined}\n aria-invalid={error}\n {...props}\n />\n {helperText && (\n <p\n id={helperTextId}\n className={cn(\n \"text-sm text-muted-foreground\",\n error && \"text-destructive\",\n success && \"text-success\",\n )}\n >\n {helperText}\n </p>\n )}\n </div>\n );\n },\n);\nInputComponent.displayName = \"Input\";\n\n// Memoize Input for performance optimization\nconst Input = memo(InputComponent) as typeof InputComponent;\n\nexport { Input, inputVariants };\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),t=require('react'),e=require('@radix-ui/react-tabs'),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 t__namespace=/*#__PURE__*/_interopNamespace(t);var e__namespace=/*#__PURE__*/_interopNamespace(e);var f=classVarianceAuthority.cva("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground transition-all duration-200 shadow-sm hover:shadow-md",{variants:{variant:{default:"bg-muted shadow-sm hover:shadow-md",outline:"border border-border bg-transparent shadow-sm hover:shadow-md",pills:"bg-transparent p-0 shadow-none",elevated:"bg-muted/50 shadow-md hover:shadow-lg",filled:"bg-muted shadow-sm hover:shadow-md"},size:{default:"h-10",sm:"h-8 text-sm",lg:"h-12 text-lg"}},defaultVariants:{variant:"default",size:"default"}}),m=classVarianceAuthority.cva("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background 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 hover:bg-muted/50",{variants:{variant:{default:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm data-[state=active]:border-border",outline:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-b-2 data-[state=active]:border-primary data-[state=active]:shadow-sm",pills:"data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:shadow-sm hover:bg-primary/10 hover:text-primary",elevated:"data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-md data-[state=active]:border-border",filled:"data-[state=active]:bg-muted data-[state=active]:text-foreground data-[state=active]:shadow-sm"},size:{default:"px-3 py-1.5 text-sm",sm:"px-2 py-1 text-xs",lg:"px-4 py-2 text-base"}},defaultVariants:{variant:"default",size:"default"}}),b=classVarianceAuthority.cva("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 focus-visible:ring-offset-2 transition-all duration-200"),c=t__namespace.forwardRef(({className:a,...s},i)=>t__namespace.createElement(e__namespace.Root,{ref:i,className:chunkITRGJNWL_cjs.a("w-full",a),...s}));c.displayName="Tabs";var p=t__namespace.forwardRef(({className:a,variant:s,size:i,...o},n)=>t__namespace.createElement(e__namespace.List,{ref:n,className:chunkITRGJNWL_cjs.a(f({variant:s,size:i}),a),...o}));p.displayName="TabsList";var l=t__namespace.forwardRef(({className:a,variant:s,size:i,...o},n)=>t__namespace.createElement(e__namespace.Trigger,{ref:n,className:chunkITRGJNWL_cjs.a(m({variant:s,size:i}),a),...o}));l.displayName="TabsTrigger";var v=t__namespace.forwardRef(({className:a,...s},i)=>t__namespace.createElement(e__namespace.Content,{ref:i,className:chunkITRGJNWL_cjs.a(b(),a),...s}));v.displayName="TabsContent";exports.a=f;exports.b=m;exports.c=b;exports.d=c;exports.e=p;exports.f=l;exports.g=v;//# sourceMappingURL=chunk-HWZTMVQV.cjs.map
2
+ //# sourceMappingURL=chunk-HWZTMVQV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/tabs.tsx"],"names":["tabsListVariants","cva","tabsTriggerVariants","tabsContentVariants","Tabs","t","className","props","ref","e","cn","TabsList","variant","size","TabsTrigger","TabsContent"],"mappings":"4kBAKA,IAAMA,CAAAA,CAAmBC,0BAAAA,CACvB,mJACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,qCACT,OAAA,CAAS,+DAAA,CACT,KAAA,CAAO,gCAAA,CACP,QAAA,CAAU,uCAAA,CACV,OAAQ,oCACV,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,MAAA,CACT,GAAI,aAAA,CACJ,EAAA,CAAI,cACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,EAEMC,CAAAA,CAAsBD,0BAAAA,CAC1B,gUAAA,CACA,CACE,QAAA,CAAU,CACR,QAAS,CACP,OAAA,CAAS,uIAAA,CACT,OAAA,CAAS,uKAAA,CACT,KAAA,CAAO,kJACP,QAAA,CAAU,uIAAA,CACV,MAAA,CAAQ,gGACV,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,qBAAA,CACT,EAAA,CAAI,mBAAA,CACJ,EAAA,CAAI,qBACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CAEME,CAAAA,CAAsBF,0BAAAA,CAC1B,kKACF,EAMMG,CAAAA,CAAaC,YAAA,CAAA,UAAA,CAGjB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAC1BH,YAAA,CAAA,aAAA,CAAeI,YAAA,CAAA,IAAA,CAAd,CACC,GAAA,CAAKD,CAAAA,CACL,SAAA,CAAWE,mBAAAA,CAAG,QAAA,CAAUJ,CAAS,CAAA,CAChC,GAAGC,EACN,CACD,EACDH,CAAAA,CAAK,WAAA,CAAc,MAAA,CAOnB,IAAMO,EAAiBN,YAAA,CAAA,UAAA,CAGrB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,OAAA,CAAAM,EAAS,IAAA,CAAAC,CAAAA,CAAM,GAAGN,CAAM,CAAA,CAAGC,CAAAA,GACzCH,2BAAeI,YAAA,CAAA,IAAA,CAAd,CACC,GAAA,CAAKD,CAAAA,CACL,SAAA,CAAWE,mBAAAA,CAAGV,EAAiB,CAAE,OAAA,CAAAY,CAAAA,CAAS,IAAA,CAAAC,CAAK,CAAC,EAAGP,CAAS,CAAA,CAC3D,GAAGC,CAAAA,CACN,CACD,EACDI,EAAS,WAAA,CAAc,UAAA,CAOvB,IAAMG,CAAAA,CAAoBT,YAAA,CAAA,UAAA,CAGxB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,OAAA,CAAAM,CAAAA,CAAS,IAAA,CAAAC,CAAAA,CAAM,GAAGN,CAAM,CAAA,CAAGC,CAAAA,GACzCH,YAAA,CAAA,aAAA,CAAeI,YAAA,CAAA,OAAA,CAAd,CACC,IAAKD,CAAAA,CACL,SAAA,CAAWE,mBAAAA,CAAGR,CAAAA,CAAoB,CAAE,OAAA,CAAAU,EAAS,IAAA,CAAAC,CAAK,CAAC,CAAA,CAAGP,CAAS,CAAA,CAC9D,GAAGC,CAAAA,CACN,CACD,EACDO,CAAAA,CAAY,WAAA,CAAc,aAAA,KAMpBC,CAAAA,CAAoBV,YAAA,CAAA,UAAA,CAGxB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAC1BH,YAAA,CAAA,aAAA,CAAeI,YAAA,CAAA,OAAA,CAAd,CACC,IAAKD,CAAAA,CACL,SAAA,CAAWE,mBAAAA,CAAGP,CAAAA,EAAoB,CAAGG,CAAS,CAAA,CAC7C,GAAGC,CAAAA,CACN,CACD,EACDQ,CAAAA,CAAY,WAAA,CAAc,aAAA","file":"chunk-HWZTMVQV.cjs","sourcesContent":["import * as React from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst tabsListVariants = cva(\n 'inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground transition-all duration-200 shadow-sm hover:shadow-md',\n {\n variants: {\n variant: {\n default: 'bg-muted shadow-sm hover:shadow-md',\n outline: 'border border-border bg-transparent shadow-sm hover:shadow-md',\n pills: 'bg-transparent p-0 shadow-none',\n elevated: 'bg-muted/50 shadow-md hover:shadow-lg',\n filled: 'bg-muted shadow-sm hover:shadow-md',\n },\n size: {\n default: 'h-10',\n sm: 'h-8 text-sm',\n lg: 'h-12 text-lg',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst tabsTriggerVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background 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 hover:bg-muted/50',\n {\n variants: {\n variant: {\n default: 'data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm data-[state=active]:border-border',\n outline: 'data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-b-2 data-[state=active]:border-primary data-[state=active]:shadow-sm',\n pills: 'data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:shadow-sm hover:bg-primary/10 hover:text-primary',\n elevated: 'data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-md data-[state=active]:border-border',\n filled: 'data-[state=active]:bg-muted data-[state=active]:text-foreground data-[state=active]:shadow-sm',\n },\n size: {\n default: 'px-3 py-1.5 text-sm',\n sm: 'px-2 py-1 text-xs',\n lg: 'px-4 py-2 text-base',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst tabsContentVariants = cva(\n 'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 focus-visible:ring-offset-2 transition-all duration-200'\n);\n\n// Tabs Root\nexport interface TabsProps\n extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> {}\n\nconst Tabs = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Root>,\n TabsProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Root\n ref={ref}\n className={cn('w-full', className)}\n {...props}\n />\n));\nTabs.displayName = 'Tabs';\n\n// Tabs List\nexport interface TabsListProps\n extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>,\n VariantProps<typeof tabsListVariants> {}\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n TabsListProps\n>(({ className, variant, size, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(tabsListVariants({ variant, size }), className)}\n {...props}\n />\n));\nTabsList.displayName = 'TabsList';\n\n// Tabs Trigger\nexport interface TabsTriggerProps\n extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>,\n VariantProps<typeof tabsTriggerVariants> {}\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n TabsTriggerProps\n>(({ className, variant, size, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(tabsTriggerVariants({ variant, size }), className)}\n {...props}\n />\n));\nTabsTrigger.displayName = 'TabsTrigger';\n\n// Tabs Content\nexport interface TabsContentProps\n extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content> {}\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n TabsContentProps\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(tabsContentVariants(), className)}\n {...props}\n />\n));\nTabsContent.displayName = 'TabsContent';\n\nexport {\n Tabs,\n TabsList,\n TabsTrigger,\n TabsContent,\n tabsListVariants,\n tabsTriggerVariants,\n tabsContentVariants,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),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 n=classVarianceAuthority.cva("relative flex shrink-0 overflow-hidden rounded-full transition-all duration-200 shadow-sm hover:shadow-md",{variants:{size:{sm:"h-8 w-8",default:"h-10 w-10",lg:"h-12 w-12",xl:"h-16 w-16"},variant:{default:"shadow-sm hover:shadow-md",elevated:"shadow-lg hover:shadow-xl",outline:"border-2 border-border shadow-sm hover:border-primary hover:shadow-md",filled:"bg-muted shadow-sm hover:shadow-md",interactive:"shadow-sm hover:shadow-md cursor-pointer hover:scale-105"}},defaultVariants:{size:"default",variant:"default"}}),u=e__namespace.forwardRef(({className:a,size:t,variant:r,src:s,alt:w,fallback:g,children:l,...m},d)=>{let[p,i]=e__namespace.useState(false);return e__namespace.useEffect(()=>{i(false);},[s]),l?e__namespace.createElement("div",{ref:d,className:chunkITRGJNWL_cjs.a(n({size:t,variant:r}),a),...m},l):e__namespace.createElement("div",{ref:d,className:chunkITRGJNWL_cjs.a(n({size:t,variant:r}),a),...m},s&&!p?e__namespace.createElement("img",{src:s,alt:w,className:"aspect-square h-full w-full object-cover",onError:()=>i(true)}):e__namespace.createElement("div",{className:"flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground"},g))});u.displayName="Avatar";var c=e__namespace.forwardRef(({className:a,...t},r)=>e__namespace.createElement("img",{ref:r,className:chunkITRGJNWL_cjs.a("aspect-square h-full w-full object-cover",a),...t}));c.displayName="AvatarImage";var v=e__namespace.forwardRef(({className:a,...t},r)=>e__namespace.createElement("div",{ref:r,className:chunkITRGJNWL_cjs.a("flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground",a),...t}));v.displayName="AvatarFallback";var h=chunk7SPPGTBT_cjs.a(u);h.Image=c;h.Fallback=v;exports.a=n;exports.b=c;exports.c=v;exports.d=h;//# sourceMappingURL=chunk-IOX4WPJL.cjs.map
2
+ //# sourceMappingURL=chunk-IOX4WPJL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/avatar.tsx"],"names":["avatarVariants","cva","AvatarComponent","e","className","size","variant","src","alt","fallback","children","props","ref","imageError","setImageError","cn","AvatarImage","AvatarFallback","Avatar","memo"],"mappings":"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","file":"chunk-IOX4WPJL.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full transition-all duration-200 shadow-sm hover:shadow-md\",\n {\n variants: {\n size: {\n sm: \"h-8 w-8\",\n default: \"h-10 w-10\",\n lg: \"h-12 w-12\",\n xl: \"h-16 w-16\",\n },\n variant: {\n default: \"shadow-sm hover:shadow-md\",\n elevated: \"shadow-lg hover:shadow-xl\",\n outline:\n \"border-2 border-border shadow-sm hover:border-primary hover:shadow-md\",\n filled: \"bg-muted shadow-sm hover:shadow-md\",\n interactive: \"shadow-sm hover:shadow-md cursor-pointer hover:scale-105\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n },\n);\n\nexport interface AvatarProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof avatarVariants> {\n src?: string;\n alt?: string;\n fallback?: string;\n}\n\nconst AvatarComponent = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n { className, size, variant, src, alt, fallback, children, ...props },\n ref,\n ) => {\n const [imageError, setImageError] = React.useState(false);\n\n // Reset image error when src changes\n React.useEffect(() => {\n setImageError(false);\n }, [src]);\n\n // If using compound component API (children), render children\n if (children) {\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size, variant }), className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n // If using simple prop API\n return (\n <div\n ref={ref}\n className={cn(avatarVariants({ size, variant }), className)}\n {...props}\n >\n {src && !imageError ? (\n <img\n src={src}\n alt={alt}\n className=\"aspect-square h-full w-full object-cover\"\n onError={() => setImageError(true)}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground\">\n {fallback}\n </div>\n )}\n </div>\n );\n },\n);\nAvatarComponent.displayName = \"Avatar\";\n\nconst AvatarImage = React.forwardRef<\n HTMLImageElement,\n React.ImgHTMLAttributes<HTMLImageElement>\n>(({ className, ...props }, ref) => (\n <img\n ref={ref}\n className={cn(\"aspect-square h-full w-full object-cover\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = \"AvatarImage\";\n\nconst AvatarFallback = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = \"AvatarFallback\";\n\n// Memoize Avatar for performance optimization (after all subcomponents are defined)\nconst Avatar = memo(AvatarComponent) as typeof AvatarComponent & {\n Image: typeof AvatarImage;\n Fallback: typeof AvatarFallback;\n};\n\n// Attach subcomponents to Avatar for compound component pattern\nAvatar.Image = AvatarImage;\nAvatar.Fallback = AvatarFallback;\n\nexport { Avatar, AvatarImage, AvatarFallback, avatarVariants };\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var clsx=require('clsx'),tailwindMerge=require('tailwind-merge');function s(...r){return tailwindMerge.twMerge(clsx.clsx(r))}exports.a=s;//# sourceMappingURL=chunk-ITRGJNWL.cjs.map
2
+ //# sourceMappingURL=chunk-ITRGJNWL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/utils.ts"],"names":["cn","inputs","twMerge","clsx"],"mappings":"8EAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B","file":"chunk-ITRGJNWL.cjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"]}
@@ -0,0 +1,2 @@
1
+ '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("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),p=classVarianceAuthority.cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),v=classVarianceAuthority.cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 hover:shadow-md",{variants:{variant:{default:"border-border hover:border-accent/20",accent:"border-accent/20 bg-accent/5 hover:bg-accent/10",muted:"border-muted bg-muted/20 hover:bg-muted/30"}},defaultVariants:{variant:"default"}}),x=classVarianceAuthority.cva("w-12 h-12 rounded-lg flex items-center justify-center mb-4",{variants:{variant:{default:"bg-primary/10 text-primary",accent:"bg-accent/20 text-accent-foreground",muted:"bg-muted text-muted-foreground",success:"bg-success-100 text-success-600",warning:"bg-warning-100 text-warning-600",error:"bg-error-100 text-error-600"}},defaultVariants:{variant:"default"}}),N=({features:o,title:n,subtitle:s,columns:d,cardVariant:c,variant:l,className:m,centered:i=true,...u})=>t__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a(f({variant:l}),m),...u},t__default.default.createElement("div",{className:"container mx-auto px-4"},(n||s)&&t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a("mb-12",i&&"text-center")},n&&t__default.default.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},n),s&&t__default.default.createElement("p",{className:chunkITRGJNWL_cjs.a("text-lg text-muted-foreground",i&&"max-w-2xl mx-auto")},s)),t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(p({columns:d}))},o.map((a,g)=>t__default.default.createElement("div",{key:a.id||g,className:chunkITRGJNWL_cjs.a(v({variant:c}))},a.icon&&t__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(x({variant:a.iconVariant}))},a.icon),t__default.default.createElement("h3",{className:"text-xl font-semibold mb-3 text-foreground"},a.title),t__default.default.createElement("p",{className:"text-muted-foreground leading-relaxed"},a.description))))));exports.a=N;//# sourceMappingURL=chunk-J4VRJVTO.cjs.map
2
+ //# sourceMappingURL=chunk-J4VRJVTO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/marketing/features.tsx"],"names":["featuresVariants","cva","featuresGridVariants","featureCardVariants","featureIconVariants","Features","features","title","subtitle","columns","cardVariant","variant","className","centered","props","React","cn","feature","idx"],"mappings":"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","file":"chunk-J4VRJVTO.cjs","sourcesContent":["import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst featuresVariants = cva(\n 'py-16 md:py-24',\n {\n variants: {\n variant: {\n default: 'bg-background',\n muted: 'bg-muted/30',\n accent: 'bg-accent/10',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst featuresGridVariants = cva(\n 'grid gap-8',\n {\n variants: {\n columns: {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n);\n\nconst featureCardVariants = cva(\n 'relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200 hover:shadow-md',\n {\n variants: {\n variant: {\n default: 'border-border hover:border-accent/20',\n accent: 'border-accent/20 bg-accent/5 hover:bg-accent/10',\n muted: 'border-muted bg-muted/20 hover:bg-muted/30',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst featureIconVariants = cva(\n 'w-12 h-12 rounded-lg flex items-center justify-center mb-4',\n {\n variants: {\n variant: {\n default: 'bg-primary/10 text-primary',\n accent: 'bg-accent/20 text-accent-foreground',\n muted: 'bg-muted text-muted-foreground',\n success: 'bg-success-100 text-success-600',\n warning: 'bg-warning-100 text-warning-600',\n error: 'bg-error-100 text-error-600',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface Feature {\n id: string;\n title: string;\n description: string;\n icon?: React.ReactNode;\n iconVariant?: VariantProps<typeof featureIconVariants>['variant'];\n}\n\nexport interface FeaturesProps extends VariantProps<typeof featuresVariants> {\n features: Feature[];\n title?: string;\n subtitle?: string;\n columns?: VariantProps<typeof featuresGridVariants>['columns'];\n cardVariant?: VariantProps<typeof featureCardVariants>['variant'];\n className?: string;\n centered?: boolean;\n}\n\nexport const Features: React.FC<FeaturesProps> = ({\n features,\n title,\n subtitle,\n columns,\n cardVariant,\n variant,\n className,\n centered = true,\n ...props\n}) => {\n return (\n <section className={cn(featuresVariants({ variant }), className)} {...props}>\n <div className=\"container mx-auto px-4\">\n {(title || subtitle) && (\n <div className={cn('mb-12', centered && 'text-center')}>\n {title && (\n <h2 className=\"text-3xl md:text-4xl font-bold tracking-tight mb-4\">\n {title}\n </h2>\n )}\n {subtitle && (\n <p className={cn(\n 'text-lg text-muted-foreground',\n centered && 'max-w-2xl mx-auto'\n )}>\n {subtitle}\n </p>\n )}\n </div>\n )}\n \n <div className={cn(featuresGridVariants({ columns }))}>\n {features.map((feature, idx) => (\n <div\n key={feature.id || idx}\n className={cn(featureCardVariants({ variant: cardVariant }))}\n >\n {feature.icon && (\n <div className={cn(featureIconVariants({ variant: feature.iconVariant }))}>\n {feature.icon}\n </div>\n )}\n \n <h3 className=\"text-xl font-semibold mb-3 text-foreground\">\n {feature.title}\n </h3>\n \n <p className=\"text-muted-foreground leading-relaxed\">\n {feature.description}\n </p>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-AC2JBXHQ.js';import t from'react';import {cva}from'class-variance-authority';var f=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=cva("container mx-auto px-4 text-center",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{align:"center"}}),V=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=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.createElement("section",{className:a(f({size:x,variant:d}),o),style:n?{backgroundImage:`url(${n})`}:void 0,...p},s&&t.createElement("div",{className:"absolute inset-0 bg-background/80 backdrop-blur-sm"}),t.createElement("div",{className:a(u({align:m}),s&&"relative z-10")},t.createElement("h1",{className:a(V({size:g}))},l),r&&t.createElement("p",{className:a(b({size:c}))},r),i&&t.createElement("div",{className:"mt-8 flex flex-col sm:flex-row gap-4 justify-center items-center"},i)));export{z as a};//# sourceMappingURL=chunk-JEHIMQQZ.js.map
2
+ //# sourceMappingURL=chunk-JEHIMQQZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/marketing/hero.tsx"],"names":["heroVariants","cva","heroContentVariants","heroTitleVariants","heroSubtitleVariants","Hero","title","subtitle","cta","className","size","variant","contentAlign","titleSize","subtitleSize","backgroundImage","overlay","props","React","cn"],"mappings":"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","file":"chunk-JEHIMQQZ.js","sourcesContent":["import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst heroVariants = cva(\n 'relative overflow-hidden bg-gradient-to-br from-background to-muted/20',\n {\n variants: {\n size: {\n sm: 'py-16 md:py-20',\n md: 'py-20 md:py-28',\n lg: 'py-24 md:py-32',\n xl: 'py-32 md:py-40',\n },\n variant: {\n default: 'text-foreground',\n muted: 'text-muted-foreground',\n accent: 'text-accent-foreground bg-accent/10',\n },\n },\n defaultVariants: {\n size: 'md',\n variant: 'default',\n },\n }\n);\n\nconst heroContentVariants = cva(\n 'container mx-auto px-4 text-center',\n {\n variants: {\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n align: 'center',\n },\n }\n);\n\nconst heroTitleVariants = cva(\n 'font-bold tracking-tight',\n {\n variants: {\n size: {\n sm: 'text-3xl md:text-4xl lg:text-5xl',\n md: 'text-4xl md:text-5xl lg:text-6xl',\n lg: 'text-5xl md:text-6xl lg:text-7xl',\n xl: 'text-6xl md:text-7xl lg:text-8xl',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nconst heroSubtitleVariants = cva(\n 'mt-4 text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto',\n {\n variants: {\n size: {\n sm: 'text-base md:text-lg',\n md: 'text-lg md:text-xl',\n lg: 'text-xl md:text-2xl',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport interface HeroProps extends VariantProps<typeof heroVariants> {\n title: string;\n subtitle?: string;\n cta?: React.ReactNode;\n className?: string;\n contentAlign?: VariantProps<typeof heroContentVariants>['align'];\n titleSize?: VariantProps<typeof heroTitleVariants>['size'];\n subtitleSize?: VariantProps<typeof heroSubtitleVariants>['size'];\n backgroundImage?: string;\n overlay?: boolean;\n}\n\nexport const Hero: React.FC<HeroProps> = ({ \n title, \n subtitle, \n cta, \n className,\n size,\n variant,\n contentAlign,\n titleSize,\n subtitleSize,\n backgroundImage,\n overlay = false,\n ...props \n}) => {\n return (\n <section \n className={cn(heroVariants({ size, variant }), className)}\n style={backgroundImage ? { backgroundImage: `url(${backgroundImage})` } : undefined}\n {...props}\n >\n {overlay && (\n <div className=\"absolute inset-0 bg-background/80 backdrop-blur-sm\" />\n )}\n <div className={cn(heroContentVariants({ align: contentAlign }), overlay && 'relative z-10')}>\n <h1 className={cn(heroTitleVariants({ size: titleSize }))}>\n {title}\n </h1>\n {subtitle && (\n <p className={cn(heroSubtitleVariants({ size: subtitleSize }))}>\n {subtitle}\n </p>\n )}\n {cta && (\n <div className=\"mt-8 flex flex-col sm:flex-row gap-4 justify-center items-center\">\n {cta}\n </div>\n )}\n </div>\n </section>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),a=require('react'),classVarianceAuthority=require('class-variance-authority');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var f=classVarianceAuthority.cva("py-16 md:py-24",{variants:{variant:{default:"bg-background",muted:"bg-muted/30",accent:"bg-accent/10"}},defaultVariants:{variant:"default"}}),x=classVarianceAuthority.cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),b=classVarianceAuthority.cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm",{variants:{variant:{default:"border-border",accent:"border-accent/20 bg-accent/5",muted:"border-muted bg-muted/20"}},defaultVariants:{variant:"default"}}),h=({testimonials:d,title:e,subtitle:s,columns:m,cardVariant:l,variant:c,className:g,showRatings:u=true,...v})=>{let p=r=>Array.from({length:5},(o,i)=>a__default.default.createElement("span",{key:i,className:chunkITRGJNWL_cjs.a("text-lg",i<r?"text-yellow-400":"text-muted-foreground/30")},"\u2605"));return a__default.default.createElement("section",{className:chunkITRGJNWL_cjs.a(f({variant:c}),g),...v},a__default.default.createElement("div",{className:"container mx-auto px-4"},(e||s)&&a__default.default.createElement("div",{className:"text-center mb-12"},e&&a__default.default.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},e),s&&a__default.default.createElement("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto"},s)),a__default.default.createElement("div",{className:chunkITRGJNWL_cjs.a(x({columns:m}))},d.map((r,o)=>a__default.default.createElement("div",{key:r.id||o,className:chunkITRGJNWL_cjs.a(b({variant:l}))},u&&r.rating&&a__default.default.createElement("div",{className:"flex mb-4"},p(r.rating)),a__default.default.createElement("blockquote",{className:"text-muted-foreground mb-6"},"\u201C",r.content,"\u201D"),a__default.default.createElement("div",{className:"flex items-center gap-3"},r.avatar&&a__default.default.createElement("img",{src:r.avatar,alt:r.name,className:"w-10 h-10 rounded-full object-cover"}),a__default.default.createElement("div",null,a__default.default.createElement("div",{className:"font-semibold text-foreground"},r.name),a__default.default.createElement("div",{className:"text-sm text-muted-foreground"},r.role,r.company&&` at ${r.company}`))))))))};exports.a=h;//# sourceMappingURL=chunk-JUOCEYUF.cjs.map
2
+ //# sourceMappingURL=chunk-JUOCEYUF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/marketing/testimonials.tsx"],"names":["testimonialsVariants","cva","testimonialsGridVariants","testimonialCardVariants","Testimonials","testimonials","title","subtitle","columns","cardVariant","variant","className","showRatings","props","renderStars","rating","_","React","cn","testimonial","idx"],"mappings":"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","file":"chunk-JUOCEYUF.cjs","sourcesContent":["import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst testimonialsVariants = cva(\n 'py-16 md:py-24',\n {\n variants: {\n variant: {\n default: 'bg-background',\n muted: 'bg-muted/30',\n accent: 'bg-accent/10',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst testimonialsGridVariants = cva(\n 'grid gap-8',\n {\n variants: {\n columns: {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n);\n\nconst testimonialCardVariants = cva(\n 'relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm',\n {\n variants: {\n variant: {\n default: 'border-border',\n accent: 'border-accent/20 bg-accent/5',\n muted: 'border-muted bg-muted/20',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface Testimonial {\n id: string;\n name: string;\n role: string;\n company?: string;\n content: string;\n avatar?: string;\n rating?: number;\n}\n\nexport interface TestimonialsProps extends VariantProps<typeof testimonialsVariants> {\n testimonials: Testimonial[];\n title?: string;\n subtitle?: string;\n columns?: VariantProps<typeof testimonialsGridVariants>['columns'];\n cardVariant?: VariantProps<typeof testimonialCardVariants>['variant'];\n className?: string;\n showRatings?: boolean;\n}\n\nexport const Testimonials: React.FC<TestimonialsProps> = ({\n testimonials,\n title,\n subtitle,\n columns,\n cardVariant,\n variant,\n className,\n showRatings = true,\n ...props\n}) => {\n const renderStars = (rating: number) => {\n return Array.from({ length: 5 }, (_, i) => (\n <span\n key={i}\n className={cn(\n 'text-lg',\n i < rating ? 'text-yellow-400' : 'text-muted-foreground/30'\n )}\n >\n ★\n </span>\n ));\n };\n\n return (\n <section className={cn(testimonialsVariants({ variant }), className)} {...props}>\n <div className=\"container mx-auto px-4\">\n {(title || subtitle) && (\n <div className=\"text-center mb-12\">\n {title && (\n <h2 className=\"text-3xl md:text-4xl font-bold tracking-tight mb-4\">\n {title}\n </h2>\n )}\n {subtitle && (\n <p className=\"text-lg text-muted-foreground max-w-2xl mx-auto\">\n {subtitle}\n </p>\n )}\n </div>\n )}\n \n <div className={cn(testimonialsGridVariants({ columns }))}>\n {testimonials.map((testimonial, idx) => (\n <div\n key={testimonial.id || idx}\n className={cn(testimonialCardVariants({ variant: cardVariant }))}\n >\n {showRatings && testimonial.rating && (\n <div className=\"flex mb-4\">\n {renderStars(testimonial.rating)}\n </div>\n )}\n \n <blockquote className=\"text-muted-foreground mb-6\">\n &ldquo;{testimonial.content}&rdquo;\n </blockquote>\n \n <div className=\"flex items-center gap-3\">\n {testimonial.avatar && (\n <img\n src={testimonial.avatar}\n alt={testimonial.name}\n className=\"w-10 h-10 rounded-full object-cover\"\n />\n )}\n <div>\n <div className=\"font-semibold text-foreground\">\n {testimonial.name}\n </div>\n <div className=\"text-sm text-muted-foreground\">\n {testimonial.role}\n {testimonial.company && ` at ${testimonial.company}`}\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-COXN6XBA.js';import {a}from'./chunk-AC2JBXHQ.js';import r from'react';import {ResponsiveContainer,PieChart,Pie,Cell,Tooltip,Legend,AreaChart,CartesianGrid,XAxis,YAxis,Area,BarChart,Bar,LineChart,Line}from'recharts';import {cva}from'class-variance-authority';var U=cva("w-full",{variants:{variant:{default:"",minimal:"",detailed:""},size:{sm:"h-48",md:"h-64",lg:"h-96",xl:"h-[500px]"}},defaultVariants:{variant:"default",size:"md"}}),s=["hsl(var(--nostromo-color-brand-500))","hsl(var(--nostromo-color-brand-600))","hsl(var(--nostromo-color-success-500))","hsl(var(--nostromo-color-warning-500))","hsl(var(--nostromo-color-error-500))","hsl(var(--nostromo-color-info-500))","hsl(var(--nostromo-color-brand-400))","hsl(var(--nostromo-color-brand-700))"],g=({active:u,payload:t,label:i})=>u&&t&&t.length?r.createElement("div",{className:"rounded-lg border border-border bg-popover p-3 shadow-lg"},r.createElement("p",{className:"mb-2 font-semibold text-popover-foreground"},String(i??"")),t.map((m,n)=>r.createElement("p",{key:n,className:"text-sm",style:{color:m.color}},`${m.name??""}: ${m.value??""}`))):null,v=({payload:u})=>r.createElement("div",{className:"mt-4 flex flex-wrap justify-center gap-4"},u?.map((t,i)=>r.createElement("div",{key:i,className:"flex items-center gap-2"},r.createElement("div",{className:"h-3 w-3 rounded",style:{backgroundColor:t.color},"aria-hidden":"true"}),r.createElement("span",{className:"text-sm text-popover-foreground"},t.value)))),w=r.forwardRef(({type:u,data:t,dataKeys:i,xAxisKey:m="name",colors:n=s,showGrid:b=true,showLegend:h=true,showTooltip:d=true,title:C,description:N,className:z,variant:A,size:p,height:K,ariaLabel:T,ariaLabelledBy:V,strokeWidth:D=2,fillOpacity:B=.6,...I},j)=>{let L=K||(p==="sm"?192:p==="lg"?384:p==="xl"?500:256),H=()=>{if(typeof window>"u")return r.createElement("div",{className:"flex items-center justify-center h-full text-muted-foreground"},r.createElement("p",null,"Chart loading..."));let y={data:t,margin:{top:5,right:5,left:5,bottom:5}};switch(u){case "line":return r.createElement(LineChart,{...y},b&&r.createElement(CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r.createElement(XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r.createElement(YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r.createElement(Tooltip,{content:r.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r.createElement(Line,{key:e,type:"monotone",dataKey:e,stroke:l,strokeWidth:D,dot:{r:4,fill:l},activeDot:{r:6}})}),h&&r.createElement(Legend,{content:r.createElement(v,null)}));case "bar":return r.createElement(BarChart,{...y},b&&r.createElement(CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r.createElement(XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r.createElement(YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r.createElement(Tooltip,{content:r.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r.createElement(Bar,{key:e,dataKey:e,fill:l})}),h&&r.createElement(Legend,{content:r.createElement(v,null)}));case "area":return r.createElement(AreaChart,{...y},b&&r.createElement(CartesianGrid,{strokeDasharray:"3 3",stroke:"hsl(var(--nostromo-color-neutral-300))"}),r.createElement(XAxis,{dataKey:m,stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),r.createElement(YAxis,{stroke:"hsl(var(--nostromo-color-neutral-600))",tick:{fill:"hsl(var(--nostromo-color-neutral-700))",fontSize:12}}),d&&r.createElement(Tooltip,{content:r.createElement(g,null)}),i.map((e,a)=>{let o=a%n.length,l=n[o]??s[o%s.length];return r.createElement(Area,{key:e,type:"monotone",dataKey:e,stroke:l,fill:l,fillOpacity:B,strokeWidth:D})}),h&&r.createElement(Legend,{content:r.createElement(v,null)}));case "pie":{let e=i[0]||"value";return r.createElement(PieChart,null,r.createElement(Pie,{data:t,dataKey:e,nameKey:m,cx:"50%",cy:"50%",outerRadius:L/4,label:a=>`${a.name??""}: ${((a.percent??0)*100).toFixed(0)}%`},t.map((a,o)=>{let l=n[o%n.length]||s[o%s.length];return r.createElement(Cell,{key:`cell-${o}`,fill:l??"#8884d8"})})),d&&r.createElement(Tooltip,{content:r.createElement(g,null)}),h&&r.createElement(Legend,{content:r.createElement(v,null)}))}default:return null}};return r.createElement("div",{ref:j,className:a(U({variant:A,size:p}),z),role:"img","aria-label":T||C||`${u} chart`,"aria-labelledby":V,...I},C&&r.createElement("h3",{className:"mb-2 text-lg font-semibold text-foreground"},C),N&&r.createElement("p",{className:"mb-4 text-sm text-muted-foreground"},N),r.createElement(ResponsiveContainer,{width:"100%",height:L},H()))});w.displayName="Chart";var tr=a$1(w);export{U as a,tr as b};//# sourceMappingURL=chunk-JZROH43C.js.map
2
+ //# sourceMappingURL=chunk-JZROH43C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/charts.tsx"],"names":["chartContainerVariants","cva","defaultColors","CustomTooltip","active","payload","label","React","entry","index","CustomLegend","ChartComponent","type","data","dataKeys","xAxisKey","colors","showGrid","showLegend","showTooltip","title","description","className","variant","size","height","ariaLabel","ariaLabelledBy","strokeWidth","fillOpacity","props","ref","chartHeight","renderChart","commonProps","LineChart","CartesianGrid","XAxis","YAxis","Tooltip","key","colorIndex","color","Line","Legend","BarChart","Bar","AreaChart","Area","pieDataKey","PieChart","Pie","fillColor","Cell","cn","ResponsiveContainer","Chart","memo"],"mappings":"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","file":"chunk-JZROH43C.js","sourcesContent":["import React from \"react\";\nimport {\n LineChart,\n Line,\n BarChart,\n Bar,\n PieChart,\n Pie,\n AreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend,\n ResponsiveContainer,\n Cell,\n} from \"recharts\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\n\n// Chart container variants\nconst chartContainerVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"\",\n minimal: \"\",\n detailed: \"\",\n },\n size: {\n sm: \"h-48\",\n md: \"h-64\",\n lg: \"h-96\",\n xl: \"h-[500px]\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport type ChartType = \"line\" | \"bar\" | \"pie\" | \"area\";\n\nexport interface ChartDataPoint {\n name: string;\n [key: string]: string | number;\n}\n\nexport interface ChartProps extends VariantProps<\n typeof chartContainerVariants\n> {\n type: ChartType;\n data: ChartDataPoint[];\n dataKeys: string[];\n xAxisKey?: string;\n colors?: (string | undefined)[];\n showGrid?: boolean;\n showLegend?: boolean;\n showTooltip?: boolean;\n title?: string;\n description?: string;\n className?: string;\n height?: number;\n // Accessibility\n ariaLabel?: string;\n ariaLabelledBy?: string;\n // Styling\n strokeWidth?: number;\n fillOpacity?: number;\n}\n\n// Default color palette matching Nostromo theme\nconst defaultColors = [\n \"hsl(var(--nostromo-color-brand-500))\",\n \"hsl(var(--nostromo-color-brand-600))\",\n \"hsl(var(--nostromo-color-success-500))\",\n \"hsl(var(--nostromo-color-warning-500))\",\n \"hsl(var(--nostromo-color-error-500))\",\n \"hsl(var(--nostromo-color-info-500))\",\n \"hsl(var(--nostromo-color-brand-400))\",\n \"hsl(var(--nostromo-color-brand-700))\",\n];\n\n// Custom tooltip component with Tailwind styling\ninterface CustomTooltipProps {\n active?: boolean;\n payload?: Array<{\n name?: string;\n value?: number | string;\n color?: string;\n }>;\n label?: string | number;\n}\n\nconst CustomTooltip = ({ active, payload, label }: CustomTooltipProps) => {\n if (active && payload && payload.length) {\n return (\n <div className=\"rounded-lg border border-border bg-popover p-3 shadow-lg\">\n <p className=\"mb-2 font-semibold text-popover-foreground\">\n {String(label ?? \"\")}\n </p>\n {payload.map((entry, index: number) => (\n <p key={index} className=\"text-sm\" style={{ color: entry.color }}>\n {`${entry.name ?? \"\"}: ${entry.value ?? \"\"}`}\n </p>\n ))}\n </div>\n );\n }\n return null;\n};\n\n// Custom legend component with Tailwind styling\ninterface CustomLegendProps {\n payload?: Array<{\n value?: string;\n color?: string;\n }>;\n}\n\nconst CustomLegend = ({ payload }: CustomLegendProps) => {\n return (\n <div className=\"mt-4 flex flex-wrap justify-center gap-4\">\n {payload?.map((entry, index: number) => (\n <div key={index} className=\"flex items-center gap-2\">\n <div\n className=\"h-3 w-3 rounded\"\n style={{ backgroundColor: entry.color }}\n aria-hidden=\"true\"\n />\n <span className=\"text-sm text-popover-foreground\">{entry.value}</span>\n </div>\n ))}\n </div>\n );\n};\n\nconst ChartComponent = React.forwardRef<HTMLDivElement, ChartProps>(\n (\n {\n type,\n data,\n dataKeys,\n xAxisKey = \"name\",\n colors = defaultColors,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n title,\n description,\n className,\n variant,\n size,\n height,\n ariaLabel,\n ariaLabelledBy,\n strokeWidth = 2,\n fillOpacity = 0.6,\n ...props\n },\n ref,\n ) => {\n const chartHeight =\n height ||\n (size === \"sm\" ? 192 : size === \"lg\" ? 384 : size === \"xl\" ? 500 : 256);\n\n const renderChart = () => {\n // SSR guard: recharts requires browser environment\n if (typeof window === \"undefined\") {\n return (\n <div className=\"flex items-center justify-center h-full text-muted-foreground\">\n <p>Chart loading...</p>\n </div>\n );\n }\n\n const commonProps = {\n data,\n margin: { top: 5, right: 5, left: 5, bottom: 5 },\n };\n\n switch (type) {\n case \"line\":\n return (\n <LineChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return (\n <Line\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={color}\n strokeWidth={strokeWidth}\n dot={{ r: 4, fill: color }}\n activeDot={{ r: 6 }}\n />\n );\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </LineChart>\n );\n\n case \"bar\":\n return (\n <BarChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return <Bar key={key} dataKey={key} fill={color} />;\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </BarChart>\n );\n\n case \"area\":\n return (\n <AreaChart {...commonProps}>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--nostromo-color-neutral-300))\"\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n <YAxis\n stroke=\"hsl(var(--nostromo-color-neutral-600))\"\n tick={{\n fill: \"hsl(var(--nostromo-color-neutral-700))\",\n fontSize: 12,\n }}\n />\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {dataKeys.map((key, index) => {\n const colorIndex = index % colors.length;\n const color = (colors[colorIndex] ??\n defaultColors[colorIndex % defaultColors.length]) as string;\n return (\n <Area\n key={key}\n type=\"monotone\"\n dataKey={key}\n stroke={color}\n fill={color}\n fillOpacity={fillOpacity}\n strokeWidth={strokeWidth}\n />\n );\n })}\n {showLegend && <Legend content={<CustomLegend />} />}\n </AreaChart>\n );\n\n case \"pie\": {\n const pieDataKey = dataKeys[0] || \"value\";\n return (\n <PieChart>\n <Pie\n data={data}\n dataKey={pieDataKey}\n nameKey={xAxisKey}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius={chartHeight / 4}\n label={(props: { name?: string; percent?: number }) =>\n `${props.name ?? \"\"}: ${((props.percent ?? 0) * 100).toFixed(0)}%`\n }\n >\n {data.map((entry, index) => {\n const fillColor =\n colors[index % colors.length] ||\n defaultColors[index % defaultColors.length];\n return (\n <Cell key={`cell-${index}`} fill={fillColor ?? \"#8884d8\"} />\n );\n })}\n </Pie>\n {showTooltip && <Tooltip content={<CustomTooltip />} />}\n {showLegend && <Legend content={<CustomLegend />} />}\n </PieChart>\n );\n }\n\n default:\n return null;\n }\n };\n\n return (\n <div\n ref={ref}\n className={cn(chartContainerVariants({ variant, size }), className)}\n role=\"img\"\n aria-label={ariaLabel || title || `${type} chart`}\n aria-labelledby={ariaLabelledBy}\n {...props}\n >\n {title && (\n <h3 className=\"mb-2 text-lg font-semibold text-foreground\">\n {title}\n </h3>\n )}\n {description && (\n <p className=\"mb-4 text-sm text-muted-foreground\">{description}</p>\n )}\n <ResponsiveContainer width=\"100%\" height={chartHeight}>\n {renderChart()}\n </ResponsiveContainer>\n </div>\n );\n },\n);\n\nChartComponent.displayName = \"Chart\";\n\n// Memoize Chart component for performance optimization\n// Charts are expensive to render, so memoization helps prevent unnecessary re-renders\nexport const Chart = memo(ChartComponent) as typeof ChartComponent;\n\nexport { chartContainerVariants };\n"]}
@@ -0,0 +1,3 @@
1
+ 'use strict';var chunkITRGJNWL_cjs=require('./chunk-ITRGJNWL.cjs'),e=require('react'),t=require('@radix-ui/react-select'),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 t__namespace=/*#__PURE__*/_interopNamespace(t);var d=classVarianceAuthority.cva("flex h-10 w-full items-center justify-between rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 shadow-sm hover:shadow-md",{variants:{variant:{default:"border-border hover:border-border focus:border-ring",outline:"border-2 border-border hover:border-border focus:border-ring",ghost:"border-transparent bg-transparent hover:bg-muted",error:"border-destructive hover:border-destructive/80 focus:border-destructive focus:ring-destructive",success:"border-success-500 hover:border-success-600 focus:border-success-500 focus:ring-success-500"},size:{default:"h-10 px-3 py-2 text-sm",sm:"h-8 px-2 py-1 text-xs",lg:"h-12 px-4 py-3 text-base"}},defaultVariants:{variant:"default",size:"default"}}),p=classVarianceAuthority.cva("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg transition-all duration-200",{variants:{variant:{default:"border-border shadow-lg hover:shadow-xl",outline:"border-2 border-border shadow-lg hover:shadow-xl",ghost:"border-transparent shadow-xl hover:shadow-2xl",error:"border-destructive/20 shadow-lg hover:shadow-xl",success:"border-success-200 shadow-lg hover:shadow-xl"}},defaultVariants:{variant:"default"}}),m=classVarianceAuthority.cva("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-all duration-200",{variants:{variant:{default:"focus:bg-accent focus:text-accent-foreground hover:bg-muted",highlight:"focus:bg-primary/10 focus:text-primary hover:bg-primary/5",error:"focus:bg-destructive/10 focus:text-destructive hover:bg-destructive/5",success:"focus:bg-success-100 focus:text-success-900 hover:bg-success-50"}},defaultVariants:{variant:"default"}}),R=t__namespace.Root,f=e__namespace.forwardRef(({...r},o)=>e__namespace.createElement(t__namespace.Group,{...r}));f.displayName="SelectGroup";var u=e__namespace.forwardRef(({...r},o)=>e__namespace.createElement(t__namespace.Value,{...r}));u.displayName="SelectValue";var v=e__namespace.forwardRef(({className:r,variant:o,size:i,children:a,...c},l)=>e__namespace.createElement(t__namespace.Trigger,{ref:l,className:chunkITRGJNWL_cjs.a(d({variant:o,size:i}),r),...c},a,e__namespace.createElement(t__namespace.Icon,{asChild:true},e__namespace.createElement("svg",{className:"h-4 w-4 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e__namespace.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})))));v.displayName="SelectPrimitive.Trigger";var S=e__namespace.forwardRef(({className:r,variant:o,children:i,position:a="popper",...c},l)=>e__namespace.createElement(t__namespace.Portal,null,e__namespace.createElement(t__namespace.Content,{ref:l,className:chunkITRGJNWL_cjs.a(p({variant:o}),a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",r),position:a,...c},e__namespace.createElement(t__namespace.Viewport,{className:chunkITRGJNWL_cjs.a("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]")},i))));S.displayName="SelectPrimitive.Content";var g=e__namespace.forwardRef(({className:r,...o},i)=>e__namespace.createElement(t__namespace.Label,{ref:i,className:chunkITRGJNWL_cjs.a("py-1.5 pl-8 pr-2 text-sm font-semibold",r),...o}));g.displayName="SelectPrimitive.Label";var P=e__namespace.forwardRef(({className:r,variant:o,children:i,...a},c)=>e__namespace.createElement(t__namespace.Item,{ref:c,className:chunkITRGJNWL_cjs.a(m({variant:o}),r),...a},e__namespace.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},e__namespace.createElement(t__namespace.ItemIndicator,null,e__namespace.createElement("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},e__namespace.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})))),e__namespace.createElement(t__namespace.ItemText,null,i)));P.displayName="SelectPrimitive.Item";var h=e__namespace.forwardRef(({className:r,...o},i)=>e__namespace.createElement(t__namespace.Separator,{ref:i,className:chunkITRGJNWL_cjs.a("-mx-1 my-1 h-px bg-muted",r),...o}));h.displayName="SelectPrimitive.Separator";
2
+ exports.a=d;exports.b=p;exports.c=m;exports.d=R;exports.e=f;exports.f=u;exports.g=v;exports.h=S;exports.i=g;exports.j=P;exports.k=h;//# sourceMappingURL=chunk-K2JCGDU7.cjs.map
3
+ //# sourceMappingURL=chunk-K2JCGDU7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/select.tsx"],"names":["selectTriggerVariants","cva","selectContentVariants","selectItemVariants","Select","t","SelectGroup","e","props","_ref","SelectValue","SelectTrigger","className","variant","size","children","cn","SelectContent","position","ref","SelectLabel","SelectItem","SelectSeparator"],"mappings":"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","file":"chunk-K2JCGDU7.cjs","sourcesContent":["import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\n\nconst selectTriggerVariants = cva(\n \"flex h-10 w-full items-center justify-between rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 shadow-sm hover:shadow-md\",\n {\n variants: {\n variant: {\n default: \"border-border hover:border-border focus:border-ring\",\n outline: \"border-2 border-border hover:border-border focus:border-ring\",\n ghost: \"border-transparent bg-transparent hover:bg-muted\",\n error:\n \"border-destructive hover:border-destructive/80 focus:border-destructive focus:ring-destructive\",\n success:\n \"border-success-500 hover:border-success-600 focus:border-success-500 focus:ring-success-500\",\n },\n size: {\n default: \"h-10 px-3 py-2 text-sm\",\n sm: \"h-8 px-2 py-1 text-xs\",\n lg: \"h-12 px-4 py-3 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst selectContentVariants = cva(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg transition-all duration-200\",\n {\n variants: {\n variant: {\n default: \"border-border shadow-lg hover:shadow-xl\",\n outline: \"border-2 border-border shadow-lg hover:shadow-xl\",\n ghost: \"border-transparent shadow-xl hover:shadow-2xl\",\n error: \"border-destructive/20 shadow-lg hover:shadow-xl\",\n success: \"border-success-200 shadow-lg hover:shadow-xl\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nconst selectItemVariants = cva(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-all duration-200\",\n {\n variants: {\n variant: {\n default: \"focus:bg-accent focus:text-accent-foreground hover:bg-muted\",\n highlight: \"focus:bg-primary/10 focus:text-primary hover:bg-primary/5\",\n error:\n \"focus:bg-destructive/10 focus:text-destructive hover:bg-destructive/5\",\n success:\n \"focus:bg-success-100 focus:text-success-900 hover:bg-success-50\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\n// Select Root\nexport interface SelectProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Root\n> {}\n\nconst Select = SelectPrimitive.Root;\n\n// Select Group\nexport interface SelectGroupProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Group\n> {}\n\nconst SelectGroup = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Group>,\n SelectGroupProps\n>(({ ...props }, _ref) => <SelectPrimitive.Group {...props} />);\nSelectGroup.displayName = \"SelectGroup\";\n\n// Select Value\nexport interface SelectValueProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Value\n> {}\n\nconst SelectValue = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Value>,\n SelectValueProps\n>(({ ...props }, _ref) => <SelectPrimitive.Value {...props} />);\nSelectValue.displayName = \"SelectValue\";\n\n// Select Trigger\nexport interface SelectTriggerProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,\n VariantProps<typeof selectTriggerVariants> {}\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n SelectTriggerProps\n>(({ className, variant, size, children, ...props }, _ref) => (\n <SelectPrimitive.Trigger\n ref={_ref}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <svg\n className=\"h-4 w-4 opacity-50\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 9l-7 7-7-7\"\n />\n </svg>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = \"SelectPrimitive.Trigger\";\n\n// Select Content\nexport interface SelectContentProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>,\n VariantProps<typeof selectContentVariants> {}\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n SelectContentProps\n>(({ className, variant, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n selectContentVariants({ variant }),\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = \"SelectPrimitive.Content\";\n\n// Select Label\nexport interface SelectLabelProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Label\n> {}\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n SelectLabelProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = \"SelectPrimitive.Label\";\n\n// Select Item\nexport interface SelectItemProps\n extends\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>,\n VariantProps<typeof selectItemVariants> {}\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n SelectItemProps\n>(({ className, variant, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(selectItemVariants({ variant }), className)}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <svg\n className=\"h-4 w-4\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M5 13l4 4L19 7\"\n />\n </svg>\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = \"SelectPrimitive.Item\";\n\n// Select Separator\nexport interface SelectSeparatorProps extends React.ComponentPropsWithoutRef<\n typeof SelectPrimitive.Separator\n> {}\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n SelectSeparatorProps\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = \"SelectPrimitive.Separator\";\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n selectTriggerVariants,\n selectContentVariants,\n selectItemVariants,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$1}from'./chunk-AC2JBXHQ.js';import a 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"}}),x=cva("grid gap-8",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{columns:3}}),b=cva("relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm",{variants:{variant:{default:"border-border",accent:"border-accent/20 bg-accent/5",muted:"border-muted bg-muted/20"}},defaultVariants:{variant:"default"}}),h=({testimonials:d,title:e,subtitle:s,columns:m,cardVariant:l,variant:c,className:g,showRatings:u=true,...v})=>{let p=r=>Array.from({length:5},(o,i)=>a.createElement("span",{key:i,className:a$1("text-lg",i<r?"text-yellow-400":"text-muted-foreground/30")},"\u2605"));return a.createElement("section",{className:a$1(f({variant:c}),g),...v},a.createElement("div",{className:"container mx-auto px-4"},(e||s)&&a.createElement("div",{className:"text-center mb-12"},e&&a.createElement("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4"},e),s&&a.createElement("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto"},s)),a.createElement("div",{className:a$1(x({columns:m}))},d.map((r,o)=>a.createElement("div",{key:r.id||o,className:a$1(b({variant:l}))},u&&r.rating&&a.createElement("div",{className:"flex mb-4"},p(r.rating)),a.createElement("blockquote",{className:"text-muted-foreground mb-6"},"\u201C",r.content,"\u201D"),a.createElement("div",{className:"flex items-center gap-3"},r.avatar&&a.createElement("img",{src:r.avatar,alt:r.name,className:"w-10 h-10 rounded-full object-cover"}),a.createElement("div",null,a.createElement("div",{className:"font-semibold text-foreground"},r.name),a.createElement("div",{className:"text-sm text-muted-foreground"},r.role,r.company&&` at ${r.company}`))))))))};export{h as a};//# sourceMappingURL=chunk-LR4VUFOQ.js.map
2
+ //# sourceMappingURL=chunk-LR4VUFOQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/marketing/testimonials.tsx"],"names":["testimonialsVariants","cva","testimonialsGridVariants","testimonialCardVariants","Testimonials","testimonials","title","subtitle","columns","cardVariant","variant","className","showRatings","props","renderStars","rating","_","React","cn","testimonial","idx"],"mappings":"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","file":"chunk-LR4VUFOQ.js","sourcesContent":["import React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\n\nconst testimonialsVariants = cva(\n 'py-16 md:py-24',\n {\n variants: {\n variant: {\n default: 'bg-background',\n muted: 'bg-muted/30',\n accent: 'bg-accent/10',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nconst testimonialsGridVariants = cva(\n 'grid gap-8',\n {\n variants: {\n columns: {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n);\n\nconst testimonialCardVariants = cva(\n 'relative p-6 rounded-lg border bg-card text-card-foreground shadow-sm',\n {\n variants: {\n variant: {\n default: 'border-border',\n accent: 'border-accent/20 bg-accent/5',\n muted: 'border-muted bg-muted/20',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface Testimonial {\n id: string;\n name: string;\n role: string;\n company?: string;\n content: string;\n avatar?: string;\n rating?: number;\n}\n\nexport interface TestimonialsProps extends VariantProps<typeof testimonialsVariants> {\n testimonials: Testimonial[];\n title?: string;\n subtitle?: string;\n columns?: VariantProps<typeof testimonialsGridVariants>['columns'];\n cardVariant?: VariantProps<typeof testimonialCardVariants>['variant'];\n className?: string;\n showRatings?: boolean;\n}\n\nexport const Testimonials: React.FC<TestimonialsProps> = ({\n testimonials,\n title,\n subtitle,\n columns,\n cardVariant,\n variant,\n className,\n showRatings = true,\n ...props\n}) => {\n const renderStars = (rating: number) => {\n return Array.from({ length: 5 }, (_, i) => (\n <span\n key={i}\n className={cn(\n 'text-lg',\n i < rating ? 'text-yellow-400' : 'text-muted-foreground/30'\n )}\n >\n ★\n </span>\n ));\n };\n\n return (\n <section className={cn(testimonialsVariants({ variant }), className)} {...props}>\n <div className=\"container mx-auto px-4\">\n {(title || subtitle) && (\n <div className=\"text-center mb-12\">\n {title && (\n <h2 className=\"text-3xl md:text-4xl font-bold tracking-tight mb-4\">\n {title}\n </h2>\n )}\n {subtitle && (\n <p className=\"text-lg text-muted-foreground max-w-2xl mx-auto\">\n {subtitle}\n </p>\n )}\n </div>\n )}\n \n <div className={cn(testimonialsGridVariants({ columns }))}>\n {testimonials.map((testimonial, idx) => (\n <div\n key={testimonial.id || idx}\n className={cn(testimonialCardVariants({ variant: cardVariant }))}\n >\n {showRatings && testimonial.rating && (\n <div className=\"flex mb-4\">\n {renderStars(testimonial.rating)}\n </div>\n )}\n \n <blockquote className=\"text-muted-foreground mb-6\">\n &ldquo;{testimonial.content}&rdquo;\n </blockquote>\n \n <div className=\"flex items-center gap-3\">\n {testimonial.avatar && (\n <img\n src={testimonial.avatar}\n alt={testimonial.name}\n className=\"w-10 h-10 rounded-full object-cover\"\n />\n )}\n <div>\n <div className=\"font-semibold text-foreground\">\n {testimonial.name}\n </div>\n <div className=\"text-sm text-muted-foreground\">\n {testimonial.role}\n {testimonial.company && ` at ${testimonial.company}`}\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n};\n"]}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunk7SPPGTBT_cjs=require('./chunk-7SPPGTBT.cjs'),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 M=classVarianceAuthority.cva("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground border-border",success:"bg-success-50 text-success-900 border-success-200 [&>svg]:text-success-600",warning:"bg-warning-50 text-warning-900 border-warning-200 [&>svg]:text-warning-600",error:"bg-error-50 text-error-900 border-error-200 [&>svg]:text-error-600",info:"bg-info-50 text-info-900 border-info-200 [&>svg]:text-info-600"},size:{sm:"p-3 text-sm [&>svg]:h-4 [&>svg]:w-4",default:"p-4 text-sm [&>svg]:h-5 [&>svg]:w-5",lg:"p-6 text-base [&>svg]:h-6 [&>svg]:w-6"}},defaultVariants:{variant:"default",size:"default"}}),d=classVarianceAuthority.cva("mb-1 font-medium leading-none tracking-tight"),g=classVarianceAuthority.cva("text-sm [&_p]:leading-relaxed"),C=classVarianceAuthority.cva("absolute right-2 top-2 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",{variants:{size:{sm:"h-6 w-6",default:"h-7 w-7",lg:"h-8 w-8"}},defaultVariants:{size:"default"}}),u=e__namespace.forwardRef(({className:a,variant:r,size:s,title:o,description:l,dismissible:b=false,onDismiss:n,icon:c,children:w,...h},x)=>{let[A,N]=e__namespace.useState(true),T=e__namespace.useCallback(()=>{N(false),n&&n();},[n]),R=()=>{switch(r){case "success":return e__namespace.createElement(phosphorReact.CheckCircle,{className:"h-5 w-5"});case "warning":return e__namespace.createElement(phosphorReact.Warning,{className:"h-5 w-5"});case "error":return e__namespace.createElement(phosphorReact.XCircle,{className:"h-5 w-5"});case "info":return e__namespace.createElement(phosphorReact.Info,{className:"h-5 w-5"});default:return null}};return A?e__namespace.createElement("div",{ref:x,role:"alert",className:chunkITRGJNWL_cjs.a(M({variant:r,size:s}),a),...h},c!==null&&(c||R()),b&&e__namespace.createElement("button",{type:"button",className:chunkITRGJNWL_cjs.a(C({size:s})),onClick:T,"aria-label":"Dismiss alert"},e__namespace.createElement(phosphorReact.X,{className:"h-4 w-4"})),o&&e__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a(d())},o),l&&e__namespace.createElement("div",{className:chunkITRGJNWL_cjs.a(g())},l),w):null});u.displayName="Alert";var m=e__namespace.forwardRef(({className:a,...r},s)=>e__namespace.createElement("h5",{ref:s,className:chunkITRGJNWL_cjs.a(d(),a),...r}));m.displayName="AlertTitle";var p=e__namespace.forwardRef(({className:a,...r},s)=>e__namespace.createElement("div",{ref:s,className:chunkITRGJNWL_cjs.a(g(),a),...r}));p.displayName="AlertDescription";var v=chunk7SPPGTBT_cjs.a(u);v.Title=m;v.Description=p;exports.a=M;exports.b=d;exports.c=g;exports.d=C;exports.e=m;exports.f=p;exports.g=v;//# sourceMappingURL=chunk-LXQT7FH6.cjs.map
2
+ //# sourceMappingURL=chunk-LXQT7FH6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/core/alert.tsx"],"names":["alertVariants","cva","alertTitleVariants","alertDescriptionVariants","alertCloseVariants","AlertComponent","e","className","variant","size","title","description","dismissible","onDismiss","icon","children","props","ref","isVisible","setIsVisible","handleDismiss","getDefaultIcon","CheckCircle","Warning","XCircle","Info","cn","X","AlertTitle","AlertDescription","Alert","memo"],"mappings":"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","file":"chunk-LXQT7FH6.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/utils\";\nimport { memo } from \"../../lib/memo\";\nimport { X, CheckCircle, Warning, Info, XCircle } from \"phosphor-react\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground border-border\",\n success:\n \"bg-success-50 text-success-900 border-success-200 [&>svg]:text-success-600\",\n warning:\n \"bg-warning-50 text-warning-900 border-warning-200 [&>svg]:text-warning-600\",\n error:\n \"bg-error-50 text-error-900 border-error-200 [&>svg]:text-error-600\",\n info: \"bg-info-50 text-info-900 border-info-200 [&>svg]:text-info-600\",\n },\n size: {\n sm: \"p-3 text-sm [&>svg]:h-4 [&>svg]:w-4\",\n default: \"p-4 text-sm [&>svg]:h-5 [&>svg]:w-5\",\n lg: \"p-6 text-base [&>svg]:h-6 [&>svg]:w-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nconst alertTitleVariants = cva(\"mb-1 font-medium leading-none tracking-tight\");\n\nconst alertDescriptionVariants = cva(\"text-sm [&_p]:leading-relaxed\");\n\nconst alertCloseVariants = cva(\n \"absolute right-2 top-2 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\",\n {\n variants: {\n size: {\n sm: \"h-6 w-6\",\n default: \"h-7 w-7\",\n lg: \"h-8 w-8\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\nexport interface AlertProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertVariants> {\n title?: string;\n description?: string;\n dismissible?: boolean;\n onDismiss?: () => void;\n icon?: React.ReactNode;\n}\n\nconst AlertComponent = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n className,\n variant,\n size,\n title,\n description,\n dismissible = false,\n onDismiss,\n icon,\n children,\n ...props\n },\n ref,\n ) => {\n const [isVisible, setIsVisible] = React.useState(true);\n\n const handleDismiss = React.useCallback(() => {\n setIsVisible(false);\n if (onDismiss) {\n onDismiss();\n }\n }, [onDismiss]);\n\n const getDefaultIcon = () => {\n switch (variant) {\n case \"success\":\n return <CheckCircle className=\"h-5 w-5\" />;\n case \"warning\":\n return <Warning className=\"h-5 w-5\" />;\n case \"error\":\n return <XCircle className=\"h-5 w-5\" />;\n case \"info\":\n return <Info className=\"h-5 w-5\" />;\n default:\n return null;\n }\n };\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant, size }), className)}\n {...props}\n >\n {icon !== null && (icon || getDefaultIcon())}\n {dismissible && (\n <button\n type=\"button\"\n className={cn(alertCloseVariants({ size }))}\n onClick={handleDismiss}\n aria-label=\"Dismiss alert\"\n >\n <X className=\"h-4 w-4\" />\n </button>\n )}\n {title && <div className={cn(alertTitleVariants())}>{title}</div>}\n {description && (\n <div className={cn(alertDescriptionVariants())}>{description}</div>\n )}\n {children}\n </div>\n );\n },\n);\nAlertComponent.displayName = \"Alert\";\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5 ref={ref} className={cn(alertTitleVariants(), className)} {...props} />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(alertDescriptionVariants(), className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\n// Memoize Alert for performance optimization (after all subcomponents are defined)\nconst Alert = memo(AlertComponent) as typeof AlertComponent & {\n Title: typeof AlertTitle;\n Description: typeof AlertDescription;\n};\n\n// Attach subcomponents to Alert for compound component pattern\nAlert.Title = AlertTitle;\nAlert.Description = AlertDescription;\n\nexport {\n Alert,\n AlertTitle,\n AlertDescription,\n alertVariants,\n alertTitleVariants,\n alertDescriptionVariants,\n alertCloseVariants,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-AC2JBXHQ.js';import*as e from'react';import {cva}from'class-variance-authority';var d=cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 transition-all duration-200",{variants:{variant:{default:"text-foreground",muted:"text-muted-foreground",error:"text-destructive",success:"text-success-600",warning:"text-warning-600",info:"text-info-600"},size:{sm:"text-xs",default:"text-sm",lg:"text-base"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"}},defaultVariants:{variant:"default",size:"default",weight:"medium"}}),m=e.forwardRef(({className:a$1,variant:r,size:o,weight:n,...i},l)=>e.createElement("label",{ref:l,className:a(d({variant:r,size:o,weight:n}),a$1),...i}));m.displayName="Label";export{d as a,m as b};//# sourceMappingURL=chunk-LYVCB45L.js.map
2
+ //# sourceMappingURL=chunk-LYVCB45L.js.map