@cogentic-co/ds 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/dist/animations/animation-ai-analysis.js +4 -3
  2. package/dist/animations/animation-ai-analysis.js.map +1 -1
  3. package/dist/animations/animation-audit-trail.js +2 -1
  4. package/dist/animations/animation-audit-trail.js.map +1 -1
  5. package/dist/animations/animation-compliance-reports.js +4 -3
  6. package/dist/animations/animation-compliance-reports.js.map +1 -1
  7. package/dist/animations/animation-custom-rules.js +4 -3
  8. package/dist/animations/animation-custom-rules.js.map +1 -1
  9. package/dist/animations/animation-jira-ticket.js +3 -2
  10. package/dist/animations/animation-jira-ticket.js.map +1 -1
  11. package/dist/animations/animation-jurisdiction-detection.js +4 -3
  12. package/dist/animations/animation-jurisdiction-detection.js.map +1 -1
  13. package/dist/animations/animation-multi-protocol.js +2 -1
  14. package/dist/animations/animation-multi-protocol.js.map +1 -1
  15. package/dist/animations/animation-pricing-preview.js +4 -3
  16. package/dist/animations/animation-pricing-preview.js.map +1 -1
  17. package/dist/animations/animation-realtime-updates.js +5 -4
  18. package/dist/animations/animation-realtime-updates.js.map +1 -1
  19. package/dist/animations/animation-rest-api.js +2 -1
  20. package/dist/animations/animation-rest-api.js.map +1 -1
  21. package/dist/animations/animation-risk-scoring.js +5 -4
  22. package/dist/animations/animation-risk-scoring.js.map +1 -1
  23. package/dist/animations/animation-sandbox.js +2 -1
  24. package/dist/animations/animation-sandbox.js.map +1 -1
  25. package/dist/animations/animation-scheduled-reports.js +4 -3
  26. package/dist/animations/animation-scheduled-reports.js.map +1 -1
  27. package/dist/animations/animation-secure-messaging.js +3 -2
  28. package/dist/animations/animation-secure-messaging.js.map +1 -1
  29. package/dist/animations/animation-slack-notification.js +3 -2
  30. package/dist/animations/animation-slack-notification.js.map +1 -1
  31. package/dist/animations/animation-sop-mapping.js +2 -1
  32. package/dist/animations/animation-sop-mapping.js.map +1 -1
  33. package/dist/animations/animation-team-routing.js +4 -3
  34. package/dist/animations/animation-team-routing.js.map +1 -1
  35. package/dist/animations/animation-teams-notification.js +3 -2
  36. package/dist/animations/animation-teams-notification.js.map +1 -1
  37. package/dist/animations/animation-vasp-identification.js +4 -3
  38. package/dist/animations/animation-vasp-identification.js.map +1 -1
  39. package/dist/animations/animation-webhooks.js +3 -2
  40. package/dist/animations/animation-webhooks.js.map +1 -1
  41. package/dist/blocks/auth-form.d.ts +1 -1
  42. package/dist/blocks/auth-form.js +7 -4
  43. package/dist/blocks/feature-section.js +3 -2
  44. package/dist/blocks/hero-section.js +3 -2
  45. package/dist/blocks/pricing-table.js +6 -3
  46. package/dist/blocks/stat-card.d.ts +1 -1
  47. package/dist/blocks/stat-card.js +4 -3
  48. package/dist/charts.d.ts +1 -1
  49. package/dist/charts.js +3 -2
  50. package/dist/charts.js.map +1 -1
  51. package/dist/chatbot.js +2 -1
  52. package/dist/chatbot.js.map +1 -1
  53. package/dist/chunk-2BIKWTWM.js +53 -0
  54. package/dist/chunk-2BIKWTWM.js.map +1 -0
  55. package/dist/{chunk-GZNLQE3I.js → chunk-2NMEKWO5.js} +3 -22
  56. package/dist/chunk-2NMEKWO5.js.map +1 -0
  57. package/dist/chunk-2TRJUH3V.js +104 -0
  58. package/dist/chunk-2TRJUH3V.js.map +1 -0
  59. package/dist/chunk-2X37XLH2.js +143 -0
  60. package/dist/chunk-2X37XLH2.js.map +1 -0
  61. package/dist/chunk-37V55OP6.js +191 -0
  62. package/dist/chunk-37V55OP6.js.map +1 -0
  63. package/dist/{chunk-GJAWCIGE.js → chunk-3IXL43BU.js} +4 -3
  64. package/dist/chunk-3IXL43BU.js.map +1 -0
  65. package/dist/chunk-3T2NATO3.js +50 -0
  66. package/dist/chunk-3T2NATO3.js.map +1 -0
  67. package/dist/chunk-455KJGDL.js +185 -0
  68. package/dist/chunk-455KJGDL.js.map +1 -0
  69. package/dist/chunk-466GQKGZ.js +311 -0
  70. package/dist/chunk-466GQKGZ.js.map +1 -0
  71. package/dist/chunk-46UBZI4D.js +119 -0
  72. package/dist/chunk-46UBZI4D.js.map +1 -0
  73. package/dist/chunk-4BLD6BKF.js +53 -0
  74. package/dist/chunk-4BLD6BKF.js.map +1 -0
  75. package/dist/chunk-4FJIJXG4.js +45 -0
  76. package/dist/chunk-4FJIJXG4.js.map +1 -0
  77. package/dist/chunk-4FVHSHHI.js +89 -0
  78. package/dist/chunk-4FVHSHHI.js.map +1 -0
  79. package/dist/chunk-4J2PVZ33.js +43 -0
  80. package/dist/chunk-4J2PVZ33.js.map +1 -0
  81. package/dist/chunk-4VREYXB4.js +136 -0
  82. package/dist/chunk-4VREYXB4.js.map +1 -0
  83. package/dist/chunk-5KYZ5PI5.js +12 -0
  84. package/dist/chunk-5KYZ5PI5.js.map +1 -0
  85. package/dist/{chunk-VWSX75RB.js → chunk-5OVGEXTO.js} +9 -65
  86. package/dist/chunk-5OVGEXTO.js.map +1 -0
  87. package/dist/chunk-5OYIXT3N.js +141 -0
  88. package/dist/chunk-5OYIXT3N.js.map +1 -0
  89. package/dist/chunk-5Q4NJ7WO.js +119 -0
  90. package/dist/chunk-5Q4NJ7WO.js.map +1 -0
  91. package/dist/chunk-5U5NBPQE.js +33 -0
  92. package/dist/chunk-5U5NBPQE.js.map +1 -0
  93. package/dist/chunk-667PB7XR.js +200 -0
  94. package/dist/chunk-667PB7XR.js.map +1 -0
  95. package/dist/chunk-6G52CCDH.js +76 -0
  96. package/dist/chunk-6G52CCDH.js.map +1 -0
  97. package/dist/chunk-6HL4ZHBG.js +16 -0
  98. package/dist/chunk-6HL4ZHBG.js.map +1 -0
  99. package/dist/chunk-6NGFSBVR.js +19 -0
  100. package/dist/chunk-6NGFSBVR.js.map +1 -0
  101. package/dist/chunk-7HOGEYHD.js +99 -0
  102. package/dist/chunk-7HOGEYHD.js.map +1 -0
  103. package/dist/chunk-7IUV2ARF.js +29 -0
  104. package/dist/chunk-7IUV2ARF.js.map +1 -0
  105. package/dist/chunk-7KDR2RWZ.js +121 -0
  106. package/dist/chunk-7KDR2RWZ.js.map +1 -0
  107. package/dist/chunk-7Q7O5LKS.js +155 -0
  108. package/dist/chunk-7Q7O5LKS.js.map +1 -0
  109. package/dist/chunk-7U72AXXX.js +172 -0
  110. package/dist/chunk-7U72AXXX.js.map +1 -0
  111. package/dist/{chunk-LW6GAWZM.js → chunk-AX7QXZKM.js} +10 -35
  112. package/dist/chunk-AX7QXZKM.js.map +1 -0
  113. package/dist/{chunk-XQYFQ6PU.js → chunk-B62UTODY.js} +4 -3
  114. package/dist/chunk-B62UTODY.js.map +1 -0
  115. package/dist/chunk-BB7XG36P.js +98 -0
  116. package/dist/chunk-BB7XG36P.js.map +1 -0
  117. package/dist/chunk-BEU3AQZQ.js +78 -0
  118. package/dist/chunk-BEU3AQZQ.js.map +1 -0
  119. package/dist/chunk-BSKXC3ZQ.js +504 -0
  120. package/dist/chunk-BSKXC3ZQ.js.map +1 -0
  121. package/dist/chunk-BU3PTFMI.js +99 -0
  122. package/dist/chunk-BU3PTFMI.js.map +1 -0
  123. package/dist/chunk-BWCIJWG4.js +20 -0
  124. package/dist/chunk-BWCIJWG4.js.map +1 -0
  125. package/dist/chunk-BYBN4NTY.js +284 -0
  126. package/dist/chunk-BYBN4NTY.js.map +1 -0
  127. package/dist/chunk-CIGS6SLR.js +261 -0
  128. package/dist/chunk-CIGS6SLR.js.map +1 -0
  129. package/dist/{chunk-TAPJEVUA.js → chunk-D3KGHRRC.js} +2 -2
  130. package/dist/{chunk-TAPJEVUA.js.map → chunk-D3KGHRRC.js.map} +1 -1
  131. package/dist/chunk-D75EQCUR.js +81 -0
  132. package/dist/chunk-D75EQCUR.js.map +1 -0
  133. package/dist/chunk-DF7TNBDD.js +84 -0
  134. package/dist/chunk-DF7TNBDD.js.map +1 -0
  135. package/dist/chunk-DO5JNX44.js +123 -0
  136. package/dist/chunk-DO5JNX44.js.map +1 -0
  137. package/dist/chunk-EALF3HQS.js +64 -0
  138. package/dist/chunk-EALF3HQS.js.map +1 -0
  139. package/dist/chunk-EDESQ6HE.js +24 -0
  140. package/dist/chunk-EDESQ6HE.js.map +1 -0
  141. package/dist/{chunk-BNFSXNP2.js → chunk-EN6GS7O4.js} +4 -3
  142. package/dist/chunk-EN6GS7O4.js.map +1 -0
  143. package/dist/chunk-EUAZ42RE.js +32 -0
  144. package/dist/chunk-EUAZ42RE.js.map +1 -0
  145. package/dist/chunk-FDLCCVWI.js +56 -0
  146. package/dist/chunk-FDLCCVWI.js.map +1 -0
  147. package/dist/chunk-FGSFWKIJ.js +60 -0
  148. package/dist/chunk-FGSFWKIJ.js.map +1 -0
  149. package/dist/chunk-FOCJAO6Y.js +167 -0
  150. package/dist/chunk-FOCJAO6Y.js.map +1 -0
  151. package/dist/chunk-FRAFAAPK.js +3 -0
  152. package/dist/chunk-FRAFAAPK.js.map +1 -0
  153. package/dist/chunk-GF3A7RZS.js +118 -0
  154. package/dist/chunk-GF3A7RZS.js.map +1 -0
  155. package/dist/chunk-GHZL6VY5.js +216 -0
  156. package/dist/chunk-GHZL6VY5.js.map +1 -0
  157. package/dist/chunk-GQTDZUUX.js +38 -0
  158. package/dist/chunk-GQTDZUUX.js.map +1 -0
  159. package/dist/chunk-GR6J7HQK.js +24 -0
  160. package/dist/chunk-GR6J7HQK.js.map +1 -0
  161. package/dist/chunk-GV7JJHY5.js +21 -0
  162. package/dist/chunk-GV7JJHY5.js.map +1 -0
  163. package/dist/chunk-H4PJG7O3.js +193 -0
  164. package/dist/chunk-H4PJG7O3.js.map +1 -0
  165. package/dist/chunk-H4T5OTVO.js +83 -0
  166. package/dist/chunk-H4T5OTVO.js.map +1 -0
  167. package/dist/chunk-H5JU3APN.js +36 -0
  168. package/dist/chunk-H5JU3APN.js.map +1 -0
  169. package/dist/chunk-H6BQJNUX.js +39 -0
  170. package/dist/chunk-H6BQJNUX.js.map +1 -0
  171. package/dist/chunk-HK73AOFX.js +646 -0
  172. package/dist/chunk-HK73AOFX.js.map +1 -0
  173. package/dist/chunk-IKY6E2H6.js +38 -0
  174. package/dist/chunk-IKY6E2H6.js.map +1 -0
  175. package/dist/chunk-IVPZ37VC.js +95 -0
  176. package/dist/chunk-IVPZ37VC.js.map +1 -0
  177. package/dist/chunk-J7CT7LH6.js +22 -0
  178. package/dist/chunk-J7CT7LH6.js.map +1 -0
  179. package/dist/chunk-JCJCCQLD.js +182 -0
  180. package/dist/chunk-JCJCCQLD.js.map +1 -0
  181. package/dist/chunk-K4H74FZT.js +43 -0
  182. package/dist/chunk-K4H74FZT.js.map +1 -0
  183. package/dist/chunk-KB665WXG.js +62 -0
  184. package/dist/chunk-KB665WXG.js.map +1 -0
  185. package/dist/chunk-KCPMWAQJ.js +71 -0
  186. package/dist/chunk-KCPMWAQJ.js.map +1 -0
  187. package/dist/chunk-KI4SRSCR.js +83 -0
  188. package/dist/chunk-KI4SRSCR.js.map +1 -0
  189. package/dist/chunk-KKKVOC6T.js +68 -0
  190. package/dist/chunk-KKKVOC6T.js.map +1 -0
  191. package/dist/chunk-KLOBSEH3.js +32 -0
  192. package/dist/chunk-KLOBSEH3.js.map +1 -0
  193. package/dist/{chunk-4NEQV6H2.js → chunk-KX3W7BKP.js} +4 -3
  194. package/dist/chunk-KX3W7BKP.js.map +1 -0
  195. package/dist/chunk-L52PKRST.js +15 -0
  196. package/dist/chunk-L52PKRST.js.map +1 -0
  197. package/dist/chunk-LZ7QCH6T.js +151 -0
  198. package/dist/chunk-LZ7QCH6T.js.map +1 -0
  199. package/dist/chunk-MEQYYN4D.js +22 -0
  200. package/dist/chunk-MEQYYN4D.js.map +1 -0
  201. package/dist/chunk-MHRCB42B.js +24 -0
  202. package/dist/chunk-MHRCB42B.js.map +1 -0
  203. package/dist/chunk-N4YLACF7.js +95 -0
  204. package/dist/chunk-N4YLACF7.js.map +1 -0
  205. package/dist/chunk-NDC2EAYA.js +28 -0
  206. package/dist/chunk-NDC2EAYA.js.map +1 -0
  207. package/dist/chunk-NN2YBLVZ.js +38 -0
  208. package/dist/chunk-NN2YBLVZ.js.map +1 -0
  209. package/dist/chunk-NPIDODOZ.js +100 -0
  210. package/dist/chunk-NPIDODOZ.js.map +1 -0
  211. package/dist/chunk-NSRUYLBC.js +65 -0
  212. package/dist/chunk-NSRUYLBC.js.map +1 -0
  213. package/dist/chunk-NUZM7GDQ.js +49 -0
  214. package/dist/chunk-NUZM7GDQ.js.map +1 -0
  215. package/dist/chunk-O6QB2KVL.js +86 -0
  216. package/dist/chunk-O6QB2KVL.js.map +1 -0
  217. package/dist/chunk-OAVWHBUD.js +250 -0
  218. package/dist/chunk-OAVWHBUD.js.map +1 -0
  219. package/dist/chunk-OG7CCUKC.js +45 -0
  220. package/dist/chunk-OG7CCUKC.js.map +1 -0
  221. package/dist/chunk-PKGKB7JG.js +20 -0
  222. package/dist/chunk-PKGKB7JG.js.map +1 -0
  223. package/dist/chunk-QCY3TBJU.js +130 -0
  224. package/dist/chunk-QCY3TBJU.js.map +1 -0
  225. package/dist/chunk-QTHRRLHF.js +89 -0
  226. package/dist/chunk-QTHRRLHF.js.map +1 -0
  227. package/dist/chunk-REBDYEZX.js +67 -0
  228. package/dist/chunk-REBDYEZX.js.map +1 -0
  229. package/dist/chunk-RI7KG3TF.js +87 -0
  230. package/dist/chunk-RI7KG3TF.js.map +1 -0
  231. package/dist/{chunk-RXV2XUDZ.js → chunk-SLSJ6OOL.js} +2 -2
  232. package/dist/{chunk-RXV2XUDZ.js.map → chunk-SLSJ6OOL.js.map} +1 -1
  233. package/dist/chunk-ST22RZYN.js +122 -0
  234. package/dist/chunk-ST22RZYN.js.map +1 -0
  235. package/dist/chunk-SZFIXV43.js +3 -0
  236. package/dist/chunk-SZFIXV43.js.map +1 -0
  237. package/dist/chunk-TJVE6LDU.js +205 -0
  238. package/dist/chunk-TJVE6LDU.js.map +1 -0
  239. package/dist/chunk-TVGQEQOW.js +83 -0
  240. package/dist/chunk-TVGQEQOW.js.map +1 -0
  241. package/dist/chunk-U37L3S2U.js +22 -0
  242. package/dist/chunk-U37L3S2U.js.map +1 -0
  243. package/dist/chunk-UAFRUBYX.js +42 -0
  244. package/dist/chunk-UAFRUBYX.js.map +1 -0
  245. package/dist/chunk-UAXOFYFR.js +37 -0
  246. package/dist/chunk-UAXOFYFR.js.map +1 -0
  247. package/dist/{chunk-7HRPF2N2.js → chunk-UIDMLHT7.js} +5 -4
  248. package/dist/chunk-UIDMLHT7.js.map +1 -0
  249. package/dist/chunk-V43Q47PK.js +28 -0
  250. package/dist/chunk-V43Q47PK.js.map +1 -0
  251. package/dist/chunk-VUKVUFHU.js +237 -0
  252. package/dist/chunk-VUKVUFHU.js.map +1 -0
  253. package/dist/{chunk-CG5JA7FM.js → chunk-VWZTLFXK.js} +4 -3
  254. package/dist/chunk-VWZTLFXK.js.map +1 -0
  255. package/dist/chunk-VY2ZHEY2.js +170 -0
  256. package/dist/chunk-VY2ZHEY2.js.map +1 -0
  257. package/dist/chunk-WGFU2D4A.js +63 -0
  258. package/dist/chunk-WGFU2D4A.js.map +1 -0
  259. package/dist/chunk-WJRJBMFN.js +22 -0
  260. package/dist/chunk-WJRJBMFN.js.map +1 -0
  261. package/dist/chunk-X5R5H4TO.js +36 -0
  262. package/dist/chunk-X5R5H4TO.js.map +1 -0
  263. package/dist/{chunk-6RWCZUAD.js → chunk-XAIRLU4F.js} +3 -3
  264. package/dist/{chunk-6RWCZUAD.js.map → chunk-XAIRLU4F.js.map} +1 -1
  265. package/dist/chunk-XCZNB4NP.js +86 -0
  266. package/dist/chunk-XCZNB4NP.js.map +1 -0
  267. package/dist/chunk-XWCSV3E4.js +263 -0
  268. package/dist/chunk-XWCSV3E4.js.map +1 -0
  269. package/dist/chunk-XX6UWWUW.js +197 -0
  270. package/dist/chunk-XX6UWWUW.js.map +1 -0
  271. package/dist/chunk-YCBEMVM7.js +145 -0
  272. package/dist/chunk-YCBEMVM7.js.map +1 -0
  273. package/dist/chunk-YEV262XN.js +172 -0
  274. package/dist/chunk-YEV262XN.js.map +1 -0
  275. package/dist/chunk-YJHTT2YB.js +178 -0
  276. package/dist/chunk-YJHTT2YB.js.map +1 -0
  277. package/dist/chunk-YS7M4GKW.js +117 -0
  278. package/dist/chunk-YS7M4GKW.js.map +1 -0
  279. package/dist/chunk-Z2IWEIXF.js +43 -0
  280. package/dist/chunk-Z2IWEIXF.js.map +1 -0
  281. package/dist/chunk-Z3FYDYSM.js +32 -0
  282. package/dist/chunk-Z3FYDYSM.js.map +1 -0
  283. package/dist/chunk-Z3XX65K6.js +84 -0
  284. package/dist/chunk-Z3XX65K6.js.map +1 -0
  285. package/dist/chunk-Z5EHDRCT.js +39 -0
  286. package/dist/chunk-Z5EHDRCT.js.map +1 -0
  287. package/dist/chunk-ZJ7UBKLA.js +21 -0
  288. package/dist/chunk-ZJ7UBKLA.js.map +1 -0
  289. package/dist/components/accordion.d.ts +9 -0
  290. package/dist/components/accordion.js +5 -0
  291. package/dist/components/accordion.js.map +1 -0
  292. package/dist/components/alert-dialog.d.ts +24 -0
  293. package/dist/components/alert-dialog.js +6 -0
  294. package/dist/components/alert-dialog.js.map +1 -0
  295. package/dist/components/alert.d.ts +14 -0
  296. package/dist/components/alert.js +5 -0
  297. package/dist/components/alert.js.map +1 -0
  298. package/dist/components/animated-counter.d.ts +18 -0
  299. package/dist/components/animated-counter.js +4 -0
  300. package/dist/components/animated-counter.js.map +1 -0
  301. package/dist/components/approval-actions.d.ts +30 -0
  302. package/dist/components/approval-actions.js +8 -0
  303. package/dist/components/approval-actions.js.map +1 -0
  304. package/dist/components/ascii-shader.d.ts +8 -0
  305. package/dist/components/ascii-shader.js +5 -0
  306. package/dist/components/ascii-shader.js.map +1 -0
  307. package/dist/components/aspect-ratio.d.ts +7 -0
  308. package/dist/components/aspect-ratio.js +5 -0
  309. package/dist/components/aspect-ratio.js.map +1 -0
  310. package/dist/components/audit-log.d.ts +17 -0
  311. package/dist/components/audit-log.js +5 -0
  312. package/dist/components/audit-log.js.map +1 -0
  313. package/dist/components/avatar.d.ts +14 -0
  314. package/dist/components/avatar.js +5 -0
  315. package/dist/components/avatar.js.map +1 -0
  316. package/dist/components/badge.d.ts +13 -0
  317. package/dist/components/badge.js +5 -0
  318. package/dist/components/badge.js.map +1 -0
  319. package/dist/components/bg-shader.d.ts +18 -0
  320. package/dist/components/bg-shader.js +5 -0
  321. package/dist/components/bg-shader.js.map +1 -0
  322. package/dist/components/blocky-shader.d.ts +8 -0
  323. package/dist/components/blocky-shader.js +5 -0
  324. package/dist/components/blocky-shader.js.map +1 -0
  325. package/dist/components/breadcrumb.d.ts +13 -0
  326. package/dist/components/breadcrumb.js +5 -0
  327. package/dist/components/breadcrumb.js.map +1 -0
  328. package/dist/components/button-group.d.ts +16 -0
  329. package/dist/components/button-group.js +6 -0
  330. package/dist/components/button-group.js.map +1 -0
  331. package/dist/components/button.d.ts +13 -0
  332. package/dist/components/button.js +5 -0
  333. package/dist/components/button.js.map +1 -0
  334. package/dist/components/calendar.d.ts +16 -0
  335. package/dist/components/calendar.js +6 -0
  336. package/dist/components/calendar.js.map +1 -0
  337. package/dist/components/callout.d.ts +12 -0
  338. package/dist/components/callout.js +5 -0
  339. package/dist/components/callout.js.map +1 -0
  340. package/dist/{card-Cumdyf_G.d.ts → components/card.d.ts} +1 -1
  341. package/dist/components/card.js +5 -0
  342. package/dist/components/card.js.map +1 -0
  343. package/dist/components/carousel.d.ts +34 -0
  344. package/dist/components/carousel.js +6 -0
  345. package/dist/components/carousel.js.map +1 -0
  346. package/dist/components/case-card.d.ts +36 -0
  347. package/dist/components/case-card.js +10 -0
  348. package/dist/components/case-card.js.map +1 -0
  349. package/dist/{chart-DkwdRX-i.d.ts → components/chart.d.ts} +1 -1
  350. package/dist/components/chart.js +5 -0
  351. package/dist/components/chart.js.map +1 -0
  352. package/dist/components/checkbox.d.ts +6 -0
  353. package/dist/components/checkbox.js +5 -0
  354. package/dist/components/checkbox.js.map +1 -0
  355. package/dist/components/code-block.d.ts +16 -0
  356. package/dist/components/code-block.js +5 -0
  357. package/dist/components/code-block.js.map +1 -0
  358. package/dist/components/collapsible.d.ts +8 -0
  359. package/dist/components/collapsible.js +4 -0
  360. package/dist/components/collapsible.js.map +1 -0
  361. package/dist/components/combobox.d.ts +27 -0
  362. package/dist/components/combobox.js +9 -0
  363. package/dist/components/combobox.js.map +1 -0
  364. package/dist/components/command.d.ts +23 -0
  365. package/dist/components/command.js +10 -0
  366. package/dist/components/command.js.map +1 -0
  367. package/dist/components/comment-thread.d.ts +18 -0
  368. package/dist/components/comment-thread.js +5 -0
  369. package/dist/components/comment-thread.js.map +1 -0
  370. package/dist/components/compliance-score.d.ts +20 -0
  371. package/dist/components/compliance-score.js +5 -0
  372. package/dist/components/compliance-score.js.map +1 -0
  373. package/dist/components/context-menu.d.ts +32 -0
  374. package/dist/components/context-menu.js +5 -0
  375. package/dist/components/context-menu.js.map +1 -0
  376. package/dist/components/copy-button.d.ts +16 -0
  377. package/dist/components/copy-button.js +6 -0
  378. package/dist/components/copy-button.js.map +1 -0
  379. package/dist/components/data-table.d.ts +84 -0
  380. package/dist/components/data-table.js +18 -0
  381. package/dist/components/data-table.js.map +1 -0
  382. package/dist/components/date-picker.d.ts +58 -0
  383. package/dist/components/date-picker.js +9 -0
  384. package/dist/components/date-picker.js.map +1 -0
  385. package/dist/components/deadline-countdown.d.ts +26 -0
  386. package/dist/components/deadline-countdown.js +5 -0
  387. package/dist/components/deadline-countdown.js.map +1 -0
  388. package/dist/components/description-list.d.ts +9 -0
  389. package/dist/components/description-list.js +5 -0
  390. package/dist/components/description-list.js.map +1 -0
  391. package/dist/components/dialog.d.ts +20 -0
  392. package/dist/components/dialog.js +6 -0
  393. package/dist/components/dialog.js.map +1 -0
  394. package/dist/components/direction.d.ts +2 -0
  395. package/dist/components/direction.js +4 -0
  396. package/dist/components/direction.js.map +1 -0
  397. package/dist/components/drawer.d.ts +16 -0
  398. package/dist/components/drawer.js +5 -0
  399. package/dist/components/drawer.js.map +1 -0
  400. package/dist/components/dropdown-menu.d.ts +32 -0
  401. package/dist/components/dropdown-menu.js +5 -0
  402. package/dist/components/dropdown-menu.js.map +1 -0
  403. package/dist/components/empty.d.ts +15 -0
  404. package/dist/components/empty.js +5 -0
  405. package/dist/components/empty.js.map +1 -0
  406. package/dist/components/entity-header.d.ts +26 -0
  407. package/dist/components/entity-header.js +5 -0
  408. package/dist/components/entity-header.js.map +1 -0
  409. package/dist/components/fade-in.d.ts +11 -0
  410. package/dist/components/fade-in.js +5 -0
  411. package/dist/components/fade-in.js.map +1 -0
  412. package/dist/components/field.d.ts +30 -0
  413. package/dist/components/field.js +7 -0
  414. package/dist/components/field.js.map +1 -0
  415. package/dist/components/file-upload.d.ts +18 -0
  416. package/dist/components/file-upload.js +5 -0
  417. package/dist/components/file-upload.js.map +1 -0
  418. package/dist/components/filter-bar.d.ts +11 -0
  419. package/dist/components/filter-bar.js +5 -0
  420. package/dist/components/filter-bar.js.map +1 -0
  421. package/dist/components/form.d.ts +1 -0
  422. package/dist/components/form.js +4 -0
  423. package/dist/components/form.js.map +1 -0
  424. package/dist/components/grid.d.ts +58 -0
  425. package/dist/components/grid.js +5 -0
  426. package/dist/components/grid.js.map +1 -0
  427. package/dist/components/hover-card.d.ts +8 -0
  428. package/dist/components/hover-card.js +5 -0
  429. package/dist/components/hover-card.js.map +1 -0
  430. package/dist/components/inline-edit.d.ts +16 -0
  431. package/dist/components/inline-edit.js +5 -0
  432. package/dist/components/inline-edit.js.map +1 -0
  433. package/dist/components/input-group.d.ts +23 -0
  434. package/dist/components/input-group.js +8 -0
  435. package/dist/components/input-group.js.map +1 -0
  436. package/dist/components/input-otp.d.ts +14 -0
  437. package/dist/components/input-otp.js +5 -0
  438. package/dist/components/input-otp.js.map +1 -0
  439. package/dist/components/input.d.ts +6 -0
  440. package/dist/components/input.js +5 -0
  441. package/dist/components/input.js.map +1 -0
  442. package/dist/components/item.d.ts +27 -0
  443. package/dist/components/item.js +6 -0
  444. package/dist/components/item.js.map +1 -0
  445. package/dist/components/kbd.d.ts +6 -0
  446. package/dist/components/kbd.js +5 -0
  447. package/dist/components/kbd.js.map +1 -0
  448. package/dist/components/label.d.ts +6 -0
  449. package/dist/components/label.js +5 -0
  450. package/dist/components/label.js.map +1 -0
  451. package/dist/components/loading-overlay.d.ts +12 -0
  452. package/dist/components/loading-overlay.js +6 -0
  453. package/dist/components/loading-overlay.js.map +1 -0
  454. package/dist/components/logo-vasp.d.ts +11 -0
  455. package/dist/components/logo-vasp.js +5 -0
  456. package/dist/components/logo-vasp.js.map +1 -0
  457. package/dist/components/marquee.d.ts +17 -0
  458. package/dist/components/marquee.js +5 -0
  459. package/dist/components/marquee.js.map +1 -0
  460. package/dist/components/menubar.d.ts +32 -0
  461. package/dist/components/menubar.js +6 -0
  462. package/dist/components/menubar.js.map +1 -0
  463. package/dist/components/native-select.d.ts +11 -0
  464. package/dist/components/native-select.js +5 -0
  465. package/dist/components/native-select.js.map +1 -0
  466. package/dist/components/navigation-menu.d.ts +15 -0
  467. package/dist/components/navigation-menu.js +5 -0
  468. package/dist/components/navigation-menu.js.map +1 -0
  469. package/dist/components/number-input.d.ts +14 -0
  470. package/dist/components/number-input.js +7 -0
  471. package/dist/components/number-input.js.map +1 -0
  472. package/dist/components/pagination.d.ts +23 -0
  473. package/dist/components/pagination.js +6 -0
  474. package/dist/components/pagination.js.map +1 -0
  475. package/dist/components/policy-banner.d.ts +21 -0
  476. package/dist/components/policy-banner.js +5 -0
  477. package/dist/components/policy-banner.js.map +1 -0
  478. package/dist/components/popover.d.ts +12 -0
  479. package/dist/components/popover.js +5 -0
  480. package/dist/components/popover.js.map +1 -0
  481. package/dist/components/progress.d.ts +17 -0
  482. package/dist/components/progress.js +5 -0
  483. package/dist/components/progress.js.map +1 -0
  484. package/dist/components/radio-group.d.ts +8 -0
  485. package/dist/components/radio-group.js +5 -0
  486. package/dist/components/radio-group.js.map +1 -0
  487. package/dist/components/resizable.d.ts +10 -0
  488. package/dist/components/resizable.js +5 -0
  489. package/dist/components/resizable.js.map +1 -0
  490. package/dist/components/risk-gauge.d.ts +20 -0
  491. package/dist/components/risk-gauge.js +5 -0
  492. package/dist/components/risk-gauge.js.map +1 -0
  493. package/dist/components/scroll-area.d.ts +7 -0
  494. package/dist/components/scroll-area.js +5 -0
  495. package/dist/components/scroll-area.js.map +1 -0
  496. package/dist/components/search-input.d.ts +17 -0
  497. package/dist/components/search-input.js +7 -0
  498. package/dist/components/search-input.js.map +1 -0
  499. package/dist/components/segmented-control.d.ts +15 -0
  500. package/dist/components/segmented-control.js +5 -0
  501. package/dist/components/segmented-control.js.map +1 -0
  502. package/dist/components/select.d.ts +18 -0
  503. package/dist/components/select.js +5 -0
  504. package/dist/components/select.js.map +1 -0
  505. package/dist/components/separator.d.ts +6 -0
  506. package/dist/components/separator.js +5 -0
  507. package/dist/components/separator.js.map +1 -0
  508. package/dist/components/shadow-root-host.d.ts +16 -0
  509. package/dist/components/shadow-root-host.js +51 -0
  510. package/dist/components/shadow-root-host.js.map +1 -0
  511. package/dist/components/sheet.d.ts +17 -0
  512. package/dist/components/sheet.js +6 -0
  513. package/dist/components/sheet.js.map +1 -0
  514. package/dist/components/sidebar.d.ts +70 -0
  515. package/dist/components/sidebar.js +12 -0
  516. package/dist/components/sidebar.js.map +1 -0
  517. package/dist/components/skeleton.d.ts +5 -0
  518. package/dist/components/skeleton.js +5 -0
  519. package/dist/components/skeleton.js.map +1 -0
  520. package/dist/components/slider.d.ts +6 -0
  521. package/dist/components/slider.js +5 -0
  522. package/dist/components/slider.js.map +1 -0
  523. package/dist/components/sonner.d.ts +6 -0
  524. package/dist/components/sonner.js +4 -0
  525. package/dist/components/sonner.js.map +1 -0
  526. package/dist/components/spinner.d.ts +9 -0
  527. package/dist/components/spinner.js +5 -0
  528. package/dist/components/spinner.js.map +1 -0
  529. package/dist/components/split-pane.d.ts +21 -0
  530. package/dist/components/split-pane.js +6 -0
  531. package/dist/components/split-pane.js.map +1 -0
  532. package/dist/components/stat.d.ts +15 -0
  533. package/dist/components/stat.js +5 -0
  534. package/dist/components/stat.js.map +1 -0
  535. package/dist/components/status-indicator.d.ts +16 -0
  536. package/dist/components/status-indicator.js +5 -0
  537. package/dist/components/status-indicator.js.map +1 -0
  538. package/dist/components/step-progress.d.ts +26 -0
  539. package/dist/components/step-progress.js +5 -0
  540. package/dist/components/step-progress.js.map +1 -0
  541. package/dist/components/streaming-cards.d.ts +16 -0
  542. package/dist/components/streaming-cards.js +66 -0
  543. package/dist/components/streaming-cards.js.map +1 -0
  544. package/dist/components/striped-bar.d.ts +20 -0
  545. package/dist/components/striped-bar.js +6 -0
  546. package/dist/components/striped-bar.js.map +1 -0
  547. package/dist/components/subtle-shader.d.ts +10 -0
  548. package/dist/components/subtle-shader.js +5 -0
  549. package/dist/components/subtle-shader.js.map +1 -0
  550. package/dist/components/switch.d.ts +8 -0
  551. package/dist/components/switch.js +5 -0
  552. package/dist/components/switch.js.map +1 -0
  553. package/dist/components/table.d.ts +13 -0
  554. package/dist/components/table.js +5 -0
  555. package/dist/components/table.js.map +1 -0
  556. package/dist/components/tabs.d.ts +14 -0
  557. package/dist/components/tabs.js +5 -0
  558. package/dist/components/tabs.js.map +1 -0
  559. package/dist/components/tag.d.ts +15 -0
  560. package/dist/components/tag.js +5 -0
  561. package/dist/components/tag.js.map +1 -0
  562. package/dist/components/textarea.d.ts +6 -0
  563. package/dist/components/textarea.js +5 -0
  564. package/dist/components/textarea.js.map +1 -0
  565. package/dist/components/theme-script.d.ts +26 -0
  566. package/dist/components/theme-script.js +4 -0
  567. package/dist/components/theme-script.js.map +1 -0
  568. package/dist/components/timeline.d.ts +13 -0
  569. package/dist/components/timeline.js +5 -0
  570. package/dist/components/timeline.js.map +1 -0
  571. package/dist/components/toggle-group.d.ts +14 -0
  572. package/dist/components/toggle-group.js +6 -0
  573. package/dist/components/toggle-group.js.map +1 -0
  574. package/dist/components/toggle.d.ts +12 -0
  575. package/dist/components/toggle.js +5 -0
  576. package/dist/components/toggle.js.map +1 -0
  577. package/dist/components/tooltip.d.ts +9 -0
  578. package/dist/components/tooltip.js +5 -0
  579. package/dist/components/tooltip.js.map +1 -0
  580. package/dist/components/typewriter.d.ts +25 -0
  581. package/dist/components/typewriter.js +5 -0
  582. package/dist/components/typewriter.js.map +1 -0
  583. package/dist/components/typography.d.ts +26 -0
  584. package/dist/components/typography.js +5 -0
  585. package/dist/components/typography.js.map +1 -0
  586. package/dist/components/visually-hidden.d.ts +6 -0
  587. package/dist/components/visually-hidden.js +5 -0
  588. package/dist/components/visually-hidden.js.map +1 -0
  589. package/dist/components/waffle-chart.d.ts +46 -0
  590. package/dist/components/waffle-chart.js +5 -0
  591. package/dist/components/waffle-chart.js.map +1 -0
  592. package/dist/hooks/use-animation-timer.d.ts +11 -0
  593. package/dist/hooks/use-animation-timer.js +4 -0
  594. package/dist/hooks/use-animation-timer.js.map +1 -0
  595. package/dist/hooks/use-carousel.d.ts +22 -0
  596. package/dist/hooks/use-carousel.js +4 -0
  597. package/dist/hooks/use-carousel.js.map +1 -0
  598. package/dist/hooks/use-clipboard.d.ts +10 -0
  599. package/dist/hooks/use-clipboard.js +4 -0
  600. package/dist/hooks/use-clipboard.js.map +1 -0
  601. package/dist/hooks/use-cycle-index.d.ts +13 -0
  602. package/dist/hooks/use-cycle-index.js +5 -0
  603. package/dist/hooks/use-cycle-index.js.map +1 -0
  604. package/dist/hooks/use-debounce.d.ts +3 -0
  605. package/dist/hooks/use-debounce.js +4 -0
  606. package/dist/hooks/use-debounce.js.map +1 -0
  607. package/dist/hooks/use-disclosure.d.ts +9 -0
  608. package/dist/hooks/use-disclosure.js +4 -0
  609. package/dist/hooks/use-disclosure.js.map +1 -0
  610. package/dist/hooks/use-intersection-observer.d.ts +15 -0
  611. package/dist/hooks/use-intersection-observer.js +4 -0
  612. package/dist/hooks/use-intersection-observer.js.map +1 -0
  613. package/dist/hooks/use-local-storage.d.ts +3 -0
  614. package/dist/hooks/use-local-storage.js +4 -0
  615. package/dist/hooks/use-local-storage.js.map +1 -0
  616. package/dist/hooks/use-media-query.d.ts +3 -0
  617. package/dist/hooks/use-media-query.js +4 -0
  618. package/dist/hooks/use-media-query.js.map +1 -0
  619. package/dist/hooks/use-mobile.d.ts +3 -0
  620. package/dist/hooks/use-mobile.js +4 -0
  621. package/dist/hooks/use-mobile.js.map +1 -0
  622. package/dist/index.d.ts +150 -1499
  623. package/dist/index.js +125 -9475
  624. package/dist/index.js.map +1 -1
  625. package/dist/lib/animation.d.ts +63 -0
  626. package/dist/lib/animation.js +4 -0
  627. package/dist/lib/animation.js.map +1 -0
  628. package/dist/lib/utils.d.ts +6 -0
  629. package/dist/lib/utils.js +4 -0
  630. package/dist/lib/utils.js.map +1 -0
  631. package/dist/shells/app-shell.d.ts +60 -0
  632. package/dist/shells/app-shell.js +18 -0
  633. package/dist/shells/app-shell.js.map +1 -0
  634. package/dist/workflow.js +2 -1
  635. package/dist/workflow.js.map +1 -1
  636. package/package.json +685 -1
  637. package/dist/chunk-4NEQV6H2.js.map +0 -1
  638. package/dist/chunk-7HRPF2N2.js.map +0 -1
  639. package/dist/chunk-BNFSXNP2.js.map +0 -1
  640. package/dist/chunk-CG5JA7FM.js.map +0 -1
  641. package/dist/chunk-GJAWCIGE.js.map +0 -1
  642. package/dist/chunk-GZNLQE3I.js.map +0 -1
  643. package/dist/chunk-LW6GAWZM.js.map +0 -1
  644. package/dist/chunk-VWSX75RB.js.map +0 -1
  645. package/dist/chunk-XQYFQ6PU.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/theme-script.tsx"],"names":[],"mappings":";;;AAqBO,SAAS,WAAA,GAAc;AAC5B,EAAA,MAAM,MAAA,GAAS,CAAA,qNAAA,CAAA;AAGf,EAAA,2BAAQ,QAAA,EAAA,EAAO,uBAAA,EAAyB,EAAE,MAAA,EAAQ,QAAO,EAAG,CAAA;AAC9D","file":"chunk-5KYZ5PI5.js","sourcesContent":["/**\n * Inline script that syncs the `.dark` class on `<html>` with the OS\n * color-scheme preference. Drop this into `<head>` to avoid FOUC.\n *\n * Works with the DS's `@custom-variant dark (&:is(.dark *))` directive.\n *\n * @example\n * // app/layout.tsx\n * import { ThemeScript } from \"@cogentic/ds\"\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html lang=\"en\" suppressHydrationWarning>\n * <head>\n * <ThemeScript />\n * </head>\n * <body>{children}</body>\n * </html>\n * )\n * }\n */\nexport function ThemeScript() {\n const script = `(function(){var d=document.documentElement;var m=window.matchMedia(\"(prefers-color-scheme:dark)\");function s(e){e.matches?d.classList.add(\"dark\"):d.classList.remove(\"dark\")}s(m);m.addEventListener(\"change\",s)})();`\n\n // biome-ignore lint/security/noDangerouslySetInnerHtml: inline script for theme flash prevention\n return <script dangerouslySetInnerHTML={{ __html: script }} />\n}\n"]}
@@ -1,70 +1,14 @@
1
1
  "use client";
2
- import { Button } from './chunk-BNFSXNP2.js';
3
- import { cn, __objRest, __spreadProps, __spreadValues } from './chunk-GZNLQE3I.js';
2
+ import { Switch } from './chunk-IKY6E2H6.js';
3
+ import { FadeIn } from './chunk-H6BQJNUX.js';
4
+ import { Button } from './chunk-EN6GS7O4.js';
5
+ import { cn } from './chunk-MHRCB42B.js';
6
+ import { __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
4
7
  import { CheckCircle2 } from 'lucide-react';
5
8
  import Link from 'next/link';
6
- import { useRef, useState, useEffect } from 'react';
9
+ import { useState } from 'react';
7
10
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
- import { Switch as Switch$1 } from '@base-ui/react/switch';
9
11
 
10
- var prefersReducedMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : false;
11
- function FadeIn({ as: Tag = "div", delay = 0, className, children }) {
12
- const ref = useRef(null);
13
- const [visible, setVisible] = useState(prefersReducedMotion);
14
- useEffect(() => {
15
- const el = ref.current;
16
- if (!el || visible) return;
17
- const observer = new IntersectionObserver(
18
- ([entry]) => {
19
- if (entry.isIntersecting) {
20
- setVisible(true);
21
- observer.disconnect();
22
- }
23
- },
24
- { rootMargin: "-80px" }
25
- );
26
- observer.observe(el);
27
- return () => observer.disconnect();
28
- }, [visible]);
29
- return /* @__PURE__ */ jsx(
30
- Tag,
31
- {
32
- ref,
33
- "data-slot": "fade-in",
34
- className: cn(className, visible ? "animate-[fade-up_0.5s_ease-out_both]" : "opacity-0"),
35
- style: delay > 0 && visible ? { animationDelay: `${delay}ms` } : void 0,
36
- children
37
- }
38
- );
39
- }
40
- function Switch(_a) {
41
- var _b = _a, {
42
- className,
43
- size = "default"
44
- } = _b, props = __objRest(_b, [
45
- "className",
46
- "size"
47
- ]);
48
- return /* @__PURE__ */ jsx(
49
- Switch$1.Root,
50
- __spreadProps(__spreadValues({
51
- "data-slot": "switch",
52
- "data-size": size,
53
- className: cn(
54
- "peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs outline-none transition-all after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=sm]:h-[14px] data-[size=default]:w-[32px] data-[size=sm]:w-[24px] data-disabled:cursor-not-allowed data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-50 dark:data-unchecked:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
55
- className
56
- )
57
- }, props), {
58
- children: /* @__PURE__ */ jsx(
59
- Switch$1.Thumb,
60
- {
61
- "data-slot": "switch-thumb",
62
- className: "pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground"
63
- }
64
- )
65
- })
66
- );
67
- }
68
12
  var DEFAULT_PLANS = [
69
13
  {
70
14
  name: "Starter",
@@ -197,6 +141,6 @@ function PricingTable({ headline, subheadline, plans, className }) {
197
141
  ] }) }) });
198
142
  }
199
143
 
200
- export { FadeIn, PricingTable, Switch };
201
- //# sourceMappingURL=chunk-VWSX75RB.js.map
202
- //# sourceMappingURL=chunk-VWSX75RB.js.map
144
+ export { PricingTable };
145
+ //# sourceMappingURL=chunk-5OVGEXTO.js.map
146
+ //# sourceMappingURL=chunk-5OVGEXTO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/blocks/pricing-table.tsx"],"names":[],"mappings":"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","file":"chunk-5OVGEXTO.js","sourcesContent":["\"use client\"\n\nimport { CheckCircle2 } from \"lucide-react\"\nimport Link from \"next/link\"\nimport { useState } from \"react\"\nimport { Button } from \"../components/button\"\nimport { FadeIn } from \"../components/fade-in\"\nimport { Switch } from \"../components/switch\"\nimport { cn } from \"../lib/utils\"\n\ntype Plan = {\n name: string\n monthlyPrice?: string\n annualPrice?: string\n perUnitMonthly?: string\n perUnitAnnual?: string\n features: string[]\n ctaLabel: string\n ctaHref?: string\n highlight?: boolean\n badge?: string\n blurb?: string\n}\n\ninterface PricingTableProps {\n headline?: string\n subheadline?: string\n plans?: Plan[]\n className?: string\n}\n\nconst DEFAULT_PLANS: Plan[] = [\n {\n name: \"Starter\",\n blurb: \"For early-stage VASPs getting started with Travel Rule compliance.\",\n features: [\n \"Up to 50 transfers/month\",\n \"5 jurisdictions\",\n \"Basic jurisdiction detection\",\n \"Email support\",\n \"Audit trail\",\n ],\n ctaLabel: \"Get started free\",\n ctaHref: \"/contact\",\n },\n {\n name: \"Growth\",\n monthlyPrice: \"$499\",\n annualPrice: \"$399\",\n perUnitMonthly: \"Per month\",\n perUnitAnnual: \"Per month / billed yearly\",\n blurb: \"For scaling VASPs with growing transfer volumes.\",\n features: [\n \"Up to 1,000 transfers/month\",\n \"25 jurisdictions\",\n \"AI-powered investigation\",\n \"SOP mapping\",\n \"Priority support\",\n \"API access\",\n \"Custom reports\",\n ],\n ctaLabel: \"Start free trial\",\n ctaHref: \"/contact\",\n highlight: true,\n },\n {\n name: \"Enterprise\",\n blurb: \"For high-volume VASPs with complex compliance requirements.\",\n features: [\n \"Unlimited transfers\",\n \"All 45+ jurisdictions\",\n \"Custom AI models\",\n \"Dedicated compliance adviser\",\n \"SLA guarantee\",\n \"SSO & advanced security\",\n \"Data residency options\",\n \"Custom integrations\",\n ],\n ctaLabel: \"Talk to sales\",\n ctaHref: \"/contact\",\n },\n]\n\nfunction PricingCard({\n plan,\n index,\n yearly,\n prevPlanName,\n}: {\n plan: Plan\n index: number\n yearly: boolean\n prevPlanName: string | null\n}) {\n const price = yearly ? plan.annualPrice : plan.monthlyPrice\n const perUnit = yearly ? plan.perUnitAnnual : plan.perUnitMonthly\n\n return (\n <FadeIn\n as=\"article\"\n delay={index * 100}\n className={cn(\"flex flex-col\", plan.highlight && \"bg-muted\")}\n >\n <div className=\"flex h-[300px] flex-col gap-y-4 p-6\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-semibold text-foreground text-lg\">{plan.name}</h3>\n {yearly && plan.badge && (\n <span className=\"rounded-md bg-accent px-2 py-0.5 text-foreground text-xs\">\n {plan.badge}\n </span>\n )}\n </div>\n\n {!!plan.blurb && <p className=\"mt-2 text-muted-foreground text-sm\">{plan.blurb}</p>}\n\n <div className=\"mt-auto\">\n {price ? (\n <>\n <div className=\"font-semibold text-[40px] text-foreground leading-none sm:text-[44px]\">\n {price}\n </div>\n {!!perUnit && <div className=\"mt-2 text-muted-foreground text-sm\">{perUnit}</div>}\n </>\n ) : (\n <>\n <div className=\"font-medium text-[40px] text-foreground leading-none sm:text-[44px]\">\n {index === 0 ? \"Free\" : \"Let\\u2019s talk\"}\n </div>\n <div className=\"mt-2 text-muted-foreground text-sm\">\n {index === 0 ? \"No credit card required\" : \"Contact us for details\"}\n </div>\n </>\n )}\n </div>\n\n <Button\n variant={plan.highlight ? \"default\" : \"outline\"}\n {...(plan.ctaHref ? { render: <Link href={plan.ctaHref} /> } : {})}\n >\n {plan.ctaLabel}\n </Button>\n </div>\n\n <div className=\"border-t p-6\">\n <p className=\"mb-4 font-medium text-foreground\">\n {prevPlanName ? `Everything in ${prevPlanName}, and:` : \"Features\"}\n </p>\n <ul className=\"flex flex-col gap-y-3\">\n {plan.features.map((f) => (\n <li key={f} className=\"flex items-center gap-2\">\n <CheckCircle2 className=\"mt-0.5 size-5 shrink-0 text-primary\" strokeWidth={2.5} />\n <span className=\"font-semibold text-muted-foreground text-sm\">{f}</span>\n </li>\n ))}\n </ul>\n </div>\n </FadeIn>\n )\n}\n\nfunction PricingTable({ headline, subheadline, plans, className }: PricingTableProps) {\n const items = plans?.length ? plans : DEFAULT_PLANS\n const [yearly, setYearly] = useState(true)\n\n return (\n <section data-slot=\"pricing-table\" className={cn(\"bg-background px-6 lg:px-0\", className)}>\n <div className=\"container px-0 md:px-6\">\n <div className=\"relative overflow-hidden\">\n {headline && (\n <div className=\"mx-auto max-w-4xl px-6 py-12 text-center sm:px-8 sm:py-16 md:py-20\">\n <h1 className=\"text-balance font-medium text-4xl text-foreground leading-tight tracking-tight sm:text-5xl md:text-[68px]\">\n {headline}\n </h1>\n {subheadline && (\n <p className=\"mx-auto mt-4 max-w-2xl text-base text-muted-foreground sm:text-lg\">\n {subheadline}\n </p>\n )}\n </div>\n )}\n\n <div className=\"flex items-center justify-center gap-3 pb-8\">\n <span className=\"font-semibold text-muted-foreground text-sm sm:text-base\">\n Monthly\n </span>\n <Switch\n checked={yearly}\n onCheckedChange={setYearly}\n aria-label=\"Toggle yearly billing\"\n />\n <span className={cn(\"font-semibold text-sm sm:text-base\", yearly && \"text-foreground\")}>\n Yearly\n </span>\n </div>\n\n <div className=\"mx-auto max-w-7xl px-6 pb-12 sm:px-8\">\n <div className=\"grid rounded-md border md:grid-cols-2 lg:grid-cols-3 lg:divide-x\">\n {items.map((plan, i) => (\n <PricingCard\n key={plan.name}\n plan={plan}\n index={i}\n yearly={yearly}\n prevPlanName={i > 0 ? items[i - 1].name : null}\n />\n ))}\n </div>\n </div>\n </div>\n </div>\n </section>\n )\n}\n\nexport { PricingTable }\nexport type { Plan, PricingTableProps }\n"]}
@@ -0,0 +1,141 @@
1
+ "use client";
2
+ import { Input } from './chunk-GR6J7HQK.js';
3
+ import { Textarea } from './chunk-MEQYYN4D.js';
4
+ import { Button } from './chunk-EN6GS7O4.js';
5
+ import { cn } from './chunk-MHRCB42B.js';
6
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
7
+ import { cva } from 'class-variance-authority';
8
+ import { jsx } from 'react/jsx-runtime';
9
+
10
+ function InputGroup(_a) {
11
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
12
+ return /* @__PURE__ */ jsx(
13
+ "div",
14
+ __spreadValues({
15
+ "data-slot": "input-group",
16
+ role: "group",
17
+ className: cn(
18
+ "group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",
19
+ className
20
+ )
21
+ }, props)
22
+ );
23
+ }
24
+ var inputGroupAddonVariants = cva(
25
+ "text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",
26
+ {
27
+ variants: {
28
+ align: {
29
+ "inline-start": "pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem] order-first",
30
+ "inline-end": "pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem] order-last",
31
+ "block-start": "px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start",
32
+ "block-end": "px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ align: "inline-start"
37
+ }
38
+ }
39
+ );
40
+ function InputGroupAddon(_a) {
41
+ var _b = _a, {
42
+ className,
43
+ align = "inline-start"
44
+ } = _b, props = __objRest(_b, [
45
+ "className",
46
+ "align"
47
+ ]);
48
+ return /* @__PURE__ */ jsx(
49
+ "div",
50
+ __spreadValues({
51
+ role: "group",
52
+ "data-slot": "input-group-addon",
53
+ "data-align": align,
54
+ className: cn(inputGroupAddonVariants({ align }), className),
55
+ onClick: (e) => {
56
+ var _a2, _b2;
57
+ if (e.target.closest("button")) {
58
+ return;
59
+ }
60
+ (_b2 = (_a2 = e.currentTarget.parentElement) == null ? void 0 : _a2.querySelector("input")) == null ? void 0 : _b2.focus();
61
+ }
62
+ }, props)
63
+ );
64
+ }
65
+ var inputGroupButtonVariants = cva("gap-2 text-sm shadow-none flex items-center", {
66
+ variants: {
67
+ size: {
68
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
69
+ sm: "",
70
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
71
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
72
+ }
73
+ },
74
+ defaultVariants: {
75
+ size: "xs"
76
+ }
77
+ });
78
+ function InputGroupButton(_a) {
79
+ var _b = _a, {
80
+ className,
81
+ type = "button",
82
+ variant = "ghost",
83
+ size = "xs"
84
+ } = _b, props = __objRest(_b, [
85
+ "className",
86
+ "type",
87
+ "variant",
88
+ "size"
89
+ ]);
90
+ return /* @__PURE__ */ jsx(
91
+ Button,
92
+ __spreadValues({
93
+ type,
94
+ "data-size": size,
95
+ variant,
96
+ className: cn(inputGroupButtonVariants({ size }), className)
97
+ }, props)
98
+ );
99
+ }
100
+ function InputGroupText(_a) {
101
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
102
+ return /* @__PURE__ */ jsx(
103
+ "span",
104
+ __spreadValues({
105
+ className: cn(
106
+ "flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none",
107
+ className
108
+ )
109
+ }, props)
110
+ );
111
+ }
112
+ function InputGroupInput(_a) {
113
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
114
+ return /* @__PURE__ */ jsx(
115
+ Input,
116
+ __spreadValues({
117
+ "data-slot": "input-group-control",
118
+ className: cn(
119
+ "flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent",
120
+ className
121
+ )
122
+ }, props)
123
+ );
124
+ }
125
+ function InputGroupTextarea(_a) {
126
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
127
+ return /* @__PURE__ */ jsx(
128
+ Textarea,
129
+ __spreadValues({
130
+ "data-slot": "input-group-control",
131
+ className: cn(
132
+ "flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent",
133
+ className
134
+ )
135
+ }, props)
136
+ );
137
+ }
138
+
139
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
140
+ //# sourceMappingURL=chunk-5OYIXT3N.js.map
141
+ //# sourceMappingURL=chunk-5OYIXT3N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/input-group.tsx"],"names":["_a","_b"],"mappings":"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","file":"chunk-5OYIXT3N.js","sourcesContent":["\"use client\"\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport type * as React from \"react\"\n\nimport { cn } from \"../lib/utils\"\nimport { Button } from \"./button\"\nimport { Input } from \"./input\"\nimport { Textarea } from \"./textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n className,\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n \"inline-start\": \"pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem] order-first\",\n \"inline-end\": \"pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem] order-last\",\n \"block-start\":\n \"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start\",\n \"block-end\":\n \"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\"gap-2 text-sm shadow-none flex items-center\", {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n})\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\"> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\"\n }) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({ className, ...props }: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n"]}
@@ -0,0 +1,119 @@
1
+ "use client";
2
+ import { cn } from './chunk-MHRCB42B.js';
3
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
4
+ import { useRef, useEffect } from 'react';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var PALETTES = {
8
+ blue: {
9
+ light: ["100, 140, 200", "80, 160, 120", "140, 100, 180"],
10
+ dark: ["140, 180, 255", "160, 255, 180", "200, 160, 255"]
11
+ },
12
+ green: {
13
+ light: ["60, 140, 90", "100, 160, 60", "40, 120, 130"],
14
+ dark: ["120, 220, 150", "180, 255, 120", "100, 200, 180"]
15
+ },
16
+ amber: {
17
+ light: ["180, 130, 60", "160, 100, 80", "140, 140, 60"],
18
+ dark: ["255, 200, 120", "255, 160, 140", "220, 220, 120"]
19
+ }
20
+ };
21
+ function SubtleShader(_a) {
22
+ var _b = _a, {
23
+ paused = false,
24
+ palette = "blue",
25
+ className
26
+ } = _b, props = __objRest(_b, [
27
+ "paused",
28
+ "palette",
29
+ "className"
30
+ ]);
31
+ const canvasRef = useRef(null);
32
+ const rafRef = useRef(0);
33
+ const pausedRef = useRef(paused);
34
+ useEffect(() => {
35
+ pausedRef.current = paused;
36
+ }, [paused]);
37
+ useEffect(() => {
38
+ const canvas = canvasRef.current;
39
+ if (!canvas) return;
40
+ const ctx = canvas.getContext("2d");
41
+ if (!ctx) return;
42
+ const mq = window.matchMedia("(prefers-reduced-motion: reduce)");
43
+ if (mq.matches) return;
44
+ const startTime = performance.now();
45
+ const resize = () => {
46
+ const dpr = Math.min(window.devicePixelRatio, 2);
47
+ const w = canvas.clientWidth;
48
+ const h = canvas.clientHeight;
49
+ canvas.width = w * dpr * 0.25;
50
+ canvas.height = h * dpr * 0.25;
51
+ };
52
+ resize();
53
+ window.addEventListener("resize", resize);
54
+ const render = (now) => {
55
+ if (pausedRef.current) {
56
+ rafRef.current = requestAnimationFrame(render);
57
+ return;
58
+ }
59
+ const w = canvas.width;
60
+ const h = canvas.height;
61
+ if (w === 0 || h === 0) {
62
+ rafRef.current = requestAnimationFrame(render);
63
+ return;
64
+ }
65
+ const t = (now - startTime) * 8e-5;
66
+ const isDark = document.documentElement.classList.contains("dark");
67
+ const baseAlpha = isDark ? 0.06 : 0.04;
68
+ const colors = isDark ? PALETTES[palette].dark : PALETTES[palette].light;
69
+ ctx.clearRect(0, 0, w, h);
70
+ const blobs = [
71
+ {
72
+ x: w * (0.3 + 0.2 * Math.sin(t * 1.1)),
73
+ y: h * (0.3 + 0.2 * Math.cos(t * 0.9)),
74
+ r: Math.max(w, h) * 0.6,
75
+ color: colors[0]
76
+ },
77
+ {
78
+ x: w * (0.7 + 0.15 * Math.cos(t * 0.7)),
79
+ y: h * (0.6 + 0.2 * Math.sin(t * 1.3)),
80
+ r: Math.max(w, h) * 0.5,
81
+ color: colors[1]
82
+ },
83
+ {
84
+ x: w * (0.5 + 0.25 * Math.sin(t * 0.5)),
85
+ y: h * (0.4 + 0.15 * Math.cos(t * 1.1)),
86
+ r: Math.max(w, h) * 0.55,
87
+ color: colors[2]
88
+ }
89
+ ];
90
+ for (const blob of blobs) {
91
+ const gradient = ctx.createRadialGradient(blob.x, blob.y, 0, blob.x, blob.y, blob.r);
92
+ gradient.addColorStop(0, `rgba(${blob.color}, ${baseAlpha})`);
93
+ gradient.addColorStop(1, `rgba(${blob.color}, 0)`);
94
+ ctx.fillStyle = gradient;
95
+ ctx.fillRect(0, 0, w, h);
96
+ }
97
+ rafRef.current = requestAnimationFrame(render);
98
+ };
99
+ rafRef.current = requestAnimationFrame(render);
100
+ return () => {
101
+ cancelAnimationFrame(rafRef.current);
102
+ window.removeEventListener("resize", resize);
103
+ };
104
+ }, [palette]);
105
+ return /* @__PURE__ */ jsx(
106
+ "canvas",
107
+ __spreadValues({
108
+ ref: canvasRef,
109
+ "aria-hidden": "true",
110
+ "data-slot": "subtle-shader",
111
+ className: cn("absolute inset-0 h-full w-full", className),
112
+ style: { imageRendering: "auto", filter: "blur(40px)" }
113
+ }, props)
114
+ );
115
+ }
116
+
117
+ export { SubtleShader };
118
+ //# sourceMappingURL=chunk-5Q4NJ7WO.js.map
119
+ //# sourceMappingURL=chunk-5Q4NJ7WO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/subtle-shader.tsx"],"names":[],"mappings":"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","file":"chunk-5Q4NJ7WO.js","sourcesContent":["\"use client\"\n\nimport { useEffect, useRef } from \"react\"\n\nimport { cn } from \"../lib/utils\"\n\ntype Palette = \"blue\" | \"green\" | \"amber\"\n\nconst PALETTES: Record<Palette, { light: string[]; dark: string[] }> = {\n blue: {\n light: [\"100, 140, 200\", \"80, 160, 120\", \"140, 100, 180\"],\n dark: [\"140, 180, 255\", \"160, 255, 180\", \"200, 160, 255\"],\n },\n green: {\n light: [\"60, 140, 90\", \"100, 160, 60\", \"40, 120, 130\"],\n dark: [\"120, 220, 150\", \"180, 255, 120\", \"100, 200, 180\"],\n },\n amber: {\n light: [\"180, 130, 60\", \"160, 100, 80\", \"140, 140, 60\"],\n dark: [\"255, 200, 120\", \"255, 160, 140\", \"220, 220, 120\"],\n },\n}\n\ntype SubtleShaderProps = React.ComponentProps<\"canvas\"> & {\n paused?: boolean\n palette?: Palette\n}\n\nfunction SubtleShader({\n paused = false,\n palette = \"blue\",\n className,\n ...props\n}: SubtleShaderProps) {\n const canvasRef = useRef<HTMLCanvasElement>(null)\n const rafRef = useRef(0)\n const pausedRef = useRef(paused)\n\n useEffect(() => {\n pausedRef.current = paused\n }, [paused])\n\n useEffect(() => {\n const canvas = canvasRef.current\n if (!canvas) return\n\n const ctx = canvas.getContext(\"2d\")\n if (!ctx) return\n\n const mq = window.matchMedia(\"(prefers-reduced-motion: reduce)\")\n if (mq.matches) return\n\n const startTime = performance.now()\n\n const resize = () => {\n const dpr = Math.min(window.devicePixelRatio, 2)\n const w = canvas.clientWidth\n const h = canvas.clientHeight\n canvas.width = w * dpr * 0.25\n canvas.height = h * dpr * 0.25\n }\n\n resize()\n window.addEventListener(\"resize\", resize)\n\n const render = (now: number) => {\n if (pausedRef.current) {\n rafRef.current = requestAnimationFrame(render)\n return\n }\n\n const w = canvas.width\n const h = canvas.height\n if (w === 0 || h === 0) {\n rafRef.current = requestAnimationFrame(render)\n return\n }\n\n const t = (now - startTime) * 0.00008\n\n const isDark = document.documentElement.classList.contains(\"dark\")\n const baseAlpha = isDark ? 0.06 : 0.04\n const colors = isDark ? PALETTES[palette].dark : PALETTES[palette].light\n\n ctx.clearRect(0, 0, w, h)\n\n const blobs = [\n {\n x: w * (0.3 + 0.2 * Math.sin(t * 1.1)),\n y: h * (0.3 + 0.2 * Math.cos(t * 0.9)),\n r: Math.max(w, h) * 0.6,\n color: colors[0],\n },\n {\n x: w * (0.7 + 0.15 * Math.cos(t * 0.7)),\n y: h * (0.6 + 0.2 * Math.sin(t * 1.3)),\n r: Math.max(w, h) * 0.5,\n color: colors[1],\n },\n {\n x: w * (0.5 + 0.25 * Math.sin(t * 0.5)),\n y: h * (0.4 + 0.15 * Math.cos(t * 1.1)),\n r: Math.max(w, h) * 0.55,\n color: colors[2],\n },\n ]\n\n for (const blob of blobs) {\n const gradient = ctx.createRadialGradient(blob.x, blob.y, 0, blob.x, blob.y, blob.r)\n gradient.addColorStop(0, `rgba(${blob.color}, ${baseAlpha})`)\n gradient.addColorStop(1, `rgba(${blob.color}, 0)`)\n ctx.fillStyle = gradient\n ctx.fillRect(0, 0, w, h)\n }\n\n rafRef.current = requestAnimationFrame(render)\n }\n\n rafRef.current = requestAnimationFrame(render)\n\n return () => {\n cancelAnimationFrame(rafRef.current)\n window.removeEventListener(\"resize\", resize)\n }\n }, [palette])\n\n return (\n <canvas\n ref={canvasRef}\n aria-hidden=\"true\"\n data-slot=\"subtle-shader\"\n className={cn(\"absolute inset-0 h-full w-full\", className)}\n style={{ imageRendering: \"auto\", filter: \"blur(40px)\" }}\n {...props}\n />\n )\n}\n\nexport { SubtleShader }\nexport type { Palette as SubtleShaderPalette, SubtleShaderProps }\n"]}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { cn } from './chunk-MHRCB42B.js';
3
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
4
+ import { Checkbox as Checkbox$1 } from '@base-ui/react/checkbox';
5
+ import { CheckIcon } from 'lucide-react';
6
+ import { jsx } from 'react/jsx-runtime';
7
+
8
+ function Checkbox(_a) {
9
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
10
+ return /* @__PURE__ */ jsx(
11
+ Checkbox$1.Root,
12
+ __spreadProps(__spreadValues({
13
+ "data-slot": "checkbox",
14
+ className: cn(
15
+ "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
16
+ className
17
+ )
18
+ }, props), {
19
+ children: /* @__PURE__ */ jsx(
20
+ Checkbox$1.Indicator,
21
+ {
22
+ "data-slot": "checkbox-indicator",
23
+ className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
24
+ children: /* @__PURE__ */ jsx(CheckIcon, {})
25
+ }
26
+ )
27
+ })
28
+ );
29
+ }
30
+
31
+ export { Checkbox };
32
+ //# sourceMappingURL=chunk-5U5NBPQE.js.map
33
+ //# sourceMappingURL=chunk-5U5NBPQE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/checkbox.tsx"],"names":["CheckboxPrimitive"],"mappings":";;;;;;AAQA,SAAS,SAAS,EAAA,EAAuD;AAAvD,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EARpB,GAQkB,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AAClB,EAAA,uBACE,GAAA;AAAA,IAACA,UAAA,CAAkB,IAAA;AAAA,IAAlB,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6qBAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA,CAAA,EANL;AAAA,MAQC,QAAA,kBAAA,GAAA;AAAA,QAACA,UAAA,CAAkB,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,yEAAA;AAAA,UAEV,8BAAC,SAAA,EAAA,EAAU;AAAA;AAAA;AACb,KAAA;AAAA,GACF;AAEJ","file":"chunk-5U5NBPQE.js","sourcesContent":["\"use client\"\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\"\n\nimport { CheckIcon } from \"lucide-react\"\n\nimport { cn } from \"../lib/utils\"\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"]}
@@ -0,0 +1,200 @@
1
+ "use client";
2
+ import { Button } from './chunk-EN6GS7O4.js';
3
+ import { cn } from './chunk-MHRCB42B.js';
4
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
5
+ import useEmblaCarousel from 'embla-carousel-react';
6
+ import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';
7
+ import * as React from 'react';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ var CarouselContext = React.createContext(null);
11
+ function useCarousel() {
12
+ const context = React.useContext(CarouselContext);
13
+ if (!context) {
14
+ throw new Error("useCarousel must be used within a <Carousel />");
15
+ }
16
+ return context;
17
+ }
18
+ function Carousel(_a) {
19
+ var _b = _a, {
20
+ orientation = "horizontal",
21
+ opts,
22
+ setApi,
23
+ plugins,
24
+ className,
25
+ children
26
+ } = _b, props = __objRest(_b, [
27
+ "orientation",
28
+ "opts",
29
+ "setApi",
30
+ "plugins",
31
+ "className",
32
+ "children"
33
+ ]);
34
+ const [carouselRef, api] = useEmblaCarousel(
35
+ __spreadProps(__spreadValues({}, opts), {
36
+ axis: orientation === "horizontal" ? "x" : "y"
37
+ }),
38
+ plugins
39
+ );
40
+ const [canScrollPrev, setCanScrollPrev] = React.useState(false);
41
+ const [canScrollNext, setCanScrollNext] = React.useState(false);
42
+ const onSelect = React.useCallback((api2) => {
43
+ if (!api2) return;
44
+ setCanScrollPrev(api2.canScrollPrev());
45
+ setCanScrollNext(api2.canScrollNext());
46
+ }, []);
47
+ const scrollPrev = React.useCallback(() => {
48
+ api == null ? void 0 : api.scrollPrev();
49
+ }, [api]);
50
+ const scrollNext = React.useCallback(() => {
51
+ api == null ? void 0 : api.scrollNext();
52
+ }, [api]);
53
+ const handleKeyDown = React.useCallback(
54
+ (event) => {
55
+ if (event.key === "ArrowLeft") {
56
+ event.preventDefault();
57
+ scrollPrev();
58
+ } else if (event.key === "ArrowRight") {
59
+ event.preventDefault();
60
+ scrollNext();
61
+ }
62
+ },
63
+ [scrollPrev, scrollNext]
64
+ );
65
+ React.useEffect(() => {
66
+ if (!api || !setApi) return;
67
+ setApi(api);
68
+ }, [api, setApi]);
69
+ React.useEffect(() => {
70
+ if (!api) return;
71
+ onSelect(api);
72
+ api.on("reInit", onSelect);
73
+ api.on("select", onSelect);
74
+ return () => {
75
+ api == null ? void 0 : api.off("select", onSelect);
76
+ };
77
+ }, [api, onSelect]);
78
+ return /* @__PURE__ */ jsx(
79
+ CarouselContext.Provider,
80
+ {
81
+ value: {
82
+ carouselRef,
83
+ api,
84
+ opts,
85
+ orientation: orientation || ((opts == null ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
86
+ scrollPrev,
87
+ scrollNext,
88
+ canScrollPrev,
89
+ canScrollNext
90
+ },
91
+ children: /* @__PURE__ */ jsx(
92
+ "div",
93
+ __spreadProps(__spreadValues({
94
+ onKeyDownCapture: handleKeyDown,
95
+ className: cn("relative", className),
96
+ role: "region",
97
+ "aria-roledescription": "carousel",
98
+ "data-slot": "carousel"
99
+ }, props), {
100
+ children
101
+ })
102
+ )
103
+ }
104
+ );
105
+ }
106
+ function CarouselContent(_a) {
107
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
108
+ const { carouselRef, orientation } = useCarousel();
109
+ return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", "data-slot": "carousel-content", children: /* @__PURE__ */ jsx(
110
+ "div",
111
+ __spreadValues({
112
+ className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className)
113
+ }, props)
114
+ ) });
115
+ }
116
+ function CarouselItem(_a) {
117
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
118
+ const { orientation } = useCarousel();
119
+ return /* @__PURE__ */ jsx(
120
+ "div",
121
+ __spreadValues({
122
+ role: "group",
123
+ "aria-roledescription": "slide",
124
+ "data-slot": "carousel-item",
125
+ className: cn(
126
+ "min-w-0 shrink-0 grow-0 basis-full",
127
+ orientation === "horizontal" ? "pl-4" : "pt-4",
128
+ className
129
+ )
130
+ }, props)
131
+ );
132
+ }
133
+ function CarouselPrevious(_a) {
134
+ var _b = _a, {
135
+ className,
136
+ variant = "outline",
137
+ size = "icon-sm"
138
+ } = _b, props = __objRest(_b, [
139
+ "className",
140
+ "variant",
141
+ "size"
142
+ ]);
143
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
144
+ return /* @__PURE__ */ jsxs(
145
+ Button,
146
+ __spreadProps(__spreadValues({
147
+ "data-slot": "carousel-previous",
148
+ variant,
149
+ size,
150
+ className: cn(
151
+ "absolute touch-manipulation rounded-full",
152
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
153
+ className
154
+ ),
155
+ disabled: !canScrollPrev,
156
+ onClick: scrollPrev
157
+ }, props), {
158
+ children: [
159
+ /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "cn-rtl-flip" }),
160
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
161
+ ]
162
+ })
163
+ );
164
+ }
165
+ function CarouselNext(_a) {
166
+ var _b = _a, {
167
+ className,
168
+ variant = "outline",
169
+ size = "icon-sm"
170
+ } = _b, props = __objRest(_b, [
171
+ "className",
172
+ "variant",
173
+ "size"
174
+ ]);
175
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
176
+ return /* @__PURE__ */ jsxs(
177
+ Button,
178
+ __spreadProps(__spreadValues({
179
+ "data-slot": "carousel-next",
180
+ variant,
181
+ size,
182
+ className: cn(
183
+ "absolute touch-manipulation rounded-full",
184
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
185
+ className
186
+ ),
187
+ disabled: !canScrollNext,
188
+ onClick: scrollNext
189
+ }, props), {
190
+ children: [
191
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "cn-rtl-flip" }),
192
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
193
+ ]
194
+ })
195
+ );
196
+ }
197
+
198
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, useCarousel };
199
+ //# sourceMappingURL=chunk-667PB7XR.js.map
200
+ //# sourceMappingURL=chunk-667PB7XR.js.map