@fluencypassdevs/cycle 1.15.0 → 1.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/bin/mcp.mjs +94 -0
  2. package/dist/{chunk-YINJ5YZ5.js → chunk-2NMEKWO5.js} +2 -2
  3. package/dist/{chunk-YINJ5YZ5.js.map → chunk-2NMEKWO5.js.map} +1 -1
  4. package/dist/{chunk-5I4PGGLN.js → chunk-3TSOMZJO.js} +4 -4
  5. package/dist/{chunk-5I4PGGLN.js.map → chunk-3TSOMZJO.js.map} +1 -1
  6. package/dist/{chunk-L32AMI4K.js → chunk-3VAYZAEF.js} +8 -8
  7. package/dist/{chunk-L32AMI4K.js.map → chunk-3VAYZAEF.js.map} +1 -1
  8. package/dist/{chunk-EF6FQT4Y.js → chunk-46SWH3RS.js} +4 -4
  9. package/dist/{chunk-EF6FQT4Y.js.map → chunk-46SWH3RS.js.map} +1 -1
  10. package/dist/{chunk-YJ4U7ISM.js → chunk-5Z3ZM7PS.js} +4 -4
  11. package/dist/{chunk-YJ4U7ISM.js.map → chunk-5Z3ZM7PS.js.map} +1 -1
  12. package/dist/{chunk-5BNTQSCS.js → chunk-6ANVMIR5.js} +4 -4
  13. package/dist/{chunk-5BNTQSCS.js.map → chunk-6ANVMIR5.js.map} +1 -1
  14. package/dist/{chunk-QZVQPUVT.js → chunk-6RHG4VOA.js} +4 -4
  15. package/dist/{chunk-QZVQPUVT.js.map → chunk-6RHG4VOA.js.map} +1 -1
  16. package/dist/{chunk-JMNMW54C.js → chunk-7AACZB3Q.js} +4 -4
  17. package/dist/{chunk-JMNMW54C.js.map → chunk-7AACZB3Q.js.map} +1 -1
  18. package/dist/{chunk-JGUDRAWA.js → chunk-AIBZJWUG.js} +8 -8
  19. package/dist/{chunk-JGUDRAWA.js.map → chunk-AIBZJWUG.js.map} +1 -1
  20. package/dist/{chunk-MTKKVYNS.js → chunk-AUCSNGST.js} +4 -4
  21. package/dist/{chunk-MTKKVYNS.js.map → chunk-AUCSNGST.js.map} +1 -1
  22. package/dist/{chunk-SZUWVHP4.js → chunk-C2P3ZSEY.js} +4 -4
  23. package/dist/{chunk-SZUWVHP4.js.map → chunk-C2P3ZSEY.js.map} +1 -1
  24. package/dist/{chunk-NOMLQHZS.js → chunk-C5JGLWV6.js} +4 -4
  25. package/dist/{chunk-NOMLQHZS.js.map → chunk-C5JGLWV6.js.map} +1 -1
  26. package/dist/{chunk-HZJRM5EK.js → chunk-C6YZNBOO.js} +5 -5
  27. package/dist/{chunk-HZJRM5EK.js.map → chunk-C6YZNBOO.js.map} +1 -1
  28. package/dist/{chunk-3EFI7PYC.js → chunk-CBBCTX3A.js} +5 -5
  29. package/dist/{chunk-3EFI7PYC.js.map → chunk-CBBCTX3A.js.map} +1 -1
  30. package/dist/{chunk-7NFHHOAE.js → chunk-CMOTOQK7.js} +4 -4
  31. package/dist/{chunk-7NFHHOAE.js.map → chunk-CMOTOQK7.js.map} +1 -1
  32. package/dist/chunk-DJ3DMPKK.js +56 -0
  33. package/dist/chunk-DJ3DMPKK.js.map +1 -0
  34. package/dist/{chunk-UJ6OER6O.js → chunk-DO4M3OVV.js} +6 -6
  35. package/dist/{chunk-UJ6OER6O.js.map → chunk-DO4M3OVV.js.map} +1 -1
  36. package/dist/{chunk-DCNZ2DRR.js → chunk-E3E64CT4.js} +6 -6
  37. package/dist/{chunk-DCNZ2DRR.js.map → chunk-E3E64CT4.js.map} +1 -1
  38. package/dist/{chunk-MSLQRGSP.js → chunk-E6WZOLWX.js} +4 -4
  39. package/dist/{chunk-MSLQRGSP.js.map → chunk-E6WZOLWX.js.map} +1 -1
  40. package/dist/{chunk-C6BQAAHX.js → chunk-EFT7BHN7.js} +3 -3
  41. package/dist/{chunk-C6BQAAHX.js.map → chunk-EFT7BHN7.js.map} +1 -1
  42. package/dist/{chunk-CIM6KJH5.js → chunk-EMX27A3U.js} +4 -4
  43. package/dist/{chunk-CIM6KJH5.js.map → chunk-EMX27A3U.js.map} +1 -1
  44. package/dist/{chunk-ELZCZ6ZH.js → chunk-EZVWNHDF.js} +5 -5
  45. package/dist/{chunk-ELZCZ6ZH.js.map → chunk-EZVWNHDF.js.map} +1 -1
  46. package/dist/{chunk-XHKFKLHD.js → chunk-FTR4NEFA.js} +4 -4
  47. package/dist/{chunk-XHKFKLHD.js.map → chunk-FTR4NEFA.js.map} +1 -1
  48. package/dist/chunk-G57PPNB3.js +74 -0
  49. package/dist/chunk-G57PPNB3.js.map +1 -0
  50. package/dist/{chunk-6JH4YWWX.js → chunk-GR65GV2N.js} +4 -4
  51. package/dist/{chunk-6JH4YWWX.js.map → chunk-GR65GV2N.js.map} +1 -1
  52. package/dist/{chunk-I5A3CME4.js → chunk-H6VG367Y.js} +4 -4
  53. package/dist/{chunk-I5A3CME4.js.map → chunk-H6VG367Y.js.map} +1 -1
  54. package/dist/{chunk-A3Z5GGAI.js → chunk-HBFS7W6V.js} +4 -4
  55. package/dist/{chunk-A3Z5GGAI.js.map → chunk-HBFS7W6V.js.map} +1 -1
  56. package/dist/{chunk-5NKTYXWQ.js → chunk-HCSVANPX.js} +5 -5
  57. package/dist/{chunk-5NKTYXWQ.js.map → chunk-HCSVANPX.js.map} +1 -1
  58. package/dist/{chunk-QANROH2K.js → chunk-HIAYFCBX.js} +4 -4
  59. package/dist/{chunk-QANROH2K.js.map → chunk-HIAYFCBX.js.map} +1 -1
  60. package/dist/{chunk-5HPZCREI.js → chunk-HXFGULDU.js} +4 -4
  61. package/dist/{chunk-5HPZCREI.js.map → chunk-HXFGULDU.js.map} +1 -1
  62. package/dist/{chunk-726XFHED.js → chunk-HZOLDTOT.js} +4 -4
  63. package/dist/{chunk-726XFHED.js.map → chunk-HZOLDTOT.js.map} +1 -1
  64. package/dist/{chunk-74WKJRW7.js → chunk-I4DM7SVV.js} +4 -4
  65. package/dist/{chunk-74WKJRW7.js.map → chunk-I4DM7SVV.js.map} +1 -1
  66. package/dist/{chunk-V7M2NHUO.js → chunk-IGFCIAF3.js} +3 -3
  67. package/dist/{chunk-V7M2NHUO.js.map → chunk-IGFCIAF3.js.map} +1 -1
  68. package/dist/{chunk-NYJMA2T7.js → chunk-ILYZQBBN.js} +4 -4
  69. package/dist/{chunk-NYJMA2T7.js.map → chunk-ILYZQBBN.js.map} +1 -1
  70. package/dist/{chunk-X4IBONFB.js → chunk-J3DGYZGK.js} +4 -4
  71. package/dist/{chunk-X4IBONFB.js.map → chunk-J3DGYZGK.js.map} +1 -1
  72. package/dist/{chunk-6OYSTCGP.js → chunk-JDGM46MB.js} +4 -4
  73. package/dist/{chunk-6OYSTCGP.js.map → chunk-JDGM46MB.js.map} +1 -1
  74. package/dist/{chunk-66CU7J2I.js → chunk-JDPJQSZV.js} +4 -4
  75. package/dist/{chunk-66CU7J2I.js.map → chunk-JDPJQSZV.js.map} +1 -1
  76. package/dist/{chunk-CWMXYPWK.js → chunk-JGZGZIGR.js} +4 -4
  77. package/dist/{chunk-CWMXYPWK.js.map → chunk-JGZGZIGR.js.map} +1 -1
  78. package/dist/chunk-JQRGW2RF.js +82 -0
  79. package/dist/chunk-JQRGW2RF.js.map +1 -0
  80. package/dist/{chunk-JRJBKPXW.js → chunk-JUVL7GN2.js} +4 -4
  81. package/dist/{chunk-JRJBKPXW.js.map → chunk-JUVL7GN2.js.map} +1 -1
  82. package/dist/{chunk-VXWMC2NK.js → chunk-K2XIXOMO.js} +4 -4
  83. package/dist/{chunk-VXWMC2NK.js.map → chunk-K2XIXOMO.js.map} +1 -1
  84. package/dist/{chunk-2MXR6RRJ.js → chunk-KCEFPJZT.js} +4 -4
  85. package/dist/{chunk-2MXR6RRJ.js.map → chunk-KCEFPJZT.js.map} +1 -1
  86. package/dist/{chunk-L2DJS6PG.js → chunk-KRENXLKC.js} +6 -6
  87. package/dist/{chunk-L2DJS6PG.js.map → chunk-KRENXLKC.js.map} +1 -1
  88. package/dist/{chunk-2EKU7RP4.js → chunk-KSALAAWD.js} +4 -4
  89. package/dist/{chunk-2EKU7RP4.js.map → chunk-KSALAAWD.js.map} +1 -1
  90. package/dist/{chunk-JJETOZMI.js → chunk-LBMPZDD5.js} +4 -4
  91. package/dist/{chunk-JJETOZMI.js.map → chunk-LBMPZDD5.js.map} +1 -1
  92. package/dist/{chunk-W4GSXVJ2.js → chunk-LC55JPI4.js} +4 -4
  93. package/dist/{chunk-W4GSXVJ2.js.map → chunk-LC55JPI4.js.map} +1 -1
  94. package/dist/{chunk-CG7NXMBC.js → chunk-M3U2TKWS.js} +8 -8
  95. package/dist/{chunk-CG7NXMBC.js.map → chunk-M3U2TKWS.js.map} +1 -1
  96. package/dist/{chunk-UEJLA7Q6.js → chunk-M56K3ZKY.js} +4 -4
  97. package/dist/{chunk-UEJLA7Q6.js.map → chunk-M56K3ZKY.js.map} +1 -1
  98. package/dist/{chunk-D4UH2HJQ.js → chunk-MJKZELI3.js} +7 -7
  99. package/dist/{chunk-D4UH2HJQ.js.map → chunk-MJKZELI3.js.map} +1 -1
  100. package/dist/{chunk-5XNYJECW.js → chunk-NE5CT5LH.js} +5 -5
  101. package/dist/{chunk-5XNYJECW.js.map → chunk-NE5CT5LH.js.map} +1 -1
  102. package/dist/{chunk-XQUQDZVA.js → chunk-OHRYR7PN.js} +3 -2
  103. package/dist/chunk-OHRYR7PN.js.map +1 -0
  104. package/dist/{chunk-NVA4ZJOS.js → chunk-QM54AVC7.js} +4 -4
  105. package/dist/{chunk-NVA4ZJOS.js.map → chunk-QM54AVC7.js.map} +1 -1
  106. package/dist/{chunk-TYCPXAXF.js → chunk-QTH4LSO6.js} +3 -2
  107. package/dist/chunk-QTH4LSO6.js.map +1 -0
  108. package/dist/{chunk-ZTANTDKS.js → chunk-RXCQLSWL.js} +4 -4
  109. package/dist/{chunk-ZTANTDKS.js.map → chunk-RXCQLSWL.js.map} +1 -1
  110. package/dist/{chunk-IGMII4BK.js → chunk-SCZXIVL5.js} +4 -4
  111. package/dist/{chunk-IGMII4BK.js.map → chunk-SCZXIVL5.js.map} +1 -1
  112. package/dist/{chunk-NW56QDQM.js → chunk-SDPIL7HA.js} +3 -2
  113. package/dist/chunk-SDPIL7HA.js.map +1 -0
  114. package/dist/{chunk-EACBYVLK.js → chunk-SIEPZ5LD.js} +4 -4
  115. package/dist/{chunk-EACBYVLK.js.map → chunk-SIEPZ5LD.js.map} +1 -1
  116. package/dist/{chunk-V3CBOIGK.js → chunk-SXCNJQ7S.js} +6 -6
  117. package/dist/{chunk-V3CBOIGK.js.map → chunk-SXCNJQ7S.js.map} +1 -1
  118. package/dist/{chunk-7ZXAU2CD.js → chunk-T5AHJXEY.js} +5 -5
  119. package/dist/{chunk-7ZXAU2CD.js.map → chunk-T5AHJXEY.js.map} +1 -1
  120. package/dist/{chunk-K2NUBNSA.js → chunk-T7EIAVSF.js} +3 -2
  121. package/dist/chunk-T7EIAVSF.js.map +1 -0
  122. package/dist/{chunk-F2Q3E2ZM.js → chunk-TBLO2A4C.js} +4 -4
  123. package/dist/{chunk-F2Q3E2ZM.js.map → chunk-TBLO2A4C.js.map} +1 -1
  124. package/dist/{chunk-HDCU6QSG.js → chunk-U27GHP5Z.js} +4 -4
  125. package/dist/{chunk-HDCU6QSG.js.map → chunk-U27GHP5Z.js.map} +1 -1
  126. package/dist/{chunk-VYHRNO77.js → chunk-U2SCIVKI.js} +4 -4
  127. package/dist/{chunk-VYHRNO77.js.map → chunk-U2SCIVKI.js.map} +1 -1
  128. package/dist/chunk-WCDYTWKA.js +105 -0
  129. package/dist/chunk-WCDYTWKA.js.map +1 -0
  130. package/dist/{chunk-AL2ALTBH.js → chunk-WL6J5ZVH.js} +4 -4
  131. package/dist/{chunk-AL2ALTBH.js.map → chunk-WL6J5ZVH.js.map} +1 -1
  132. package/dist/{chunk-5LZHXNBV.js → chunk-WMOGNJWP.js} +3 -3
  133. package/dist/{chunk-5LZHXNBV.js.map → chunk-WMOGNJWP.js.map} +1 -1
  134. package/dist/{chunk-TPRZMMT6.js → chunk-WUK6APAX.js} +6 -6
  135. package/dist/{chunk-TPRZMMT6.js.map → chunk-WUK6APAX.js.map} +1 -1
  136. package/dist/{chunk-NZXP7BAH.js → chunk-XDJ2E6KQ.js} +4 -4
  137. package/dist/{chunk-NZXP7BAH.js.map → chunk-XDJ2E6KQ.js.map} +1 -1
  138. package/dist/{chunk-F2XA2Z75.js → chunk-XMZVSCCY.js} +7 -7
  139. package/dist/{chunk-F2XA2Z75.js.map → chunk-XMZVSCCY.js.map} +1 -1
  140. package/dist/{chunk-7LH7PSQS.js → chunk-XXTQV27H.js} +6 -6
  141. package/dist/{chunk-7LH7PSQS.js.map → chunk-XXTQV27H.js.map} +1 -1
  142. package/dist/{chunk-3LXU5C35.js → chunk-Y33BGBHR.js} +4 -4
  143. package/dist/{chunk-3LXU5C35.js.map → chunk-Y33BGBHR.js.map} +1 -1
  144. package/dist/{chunk-JPEDYOV7.js → chunk-YW7VSQJE.js} +4 -4
  145. package/dist/{chunk-JPEDYOV7.js.map → chunk-YW7VSQJE.js.map} +1 -1
  146. package/dist/chunk-YZNOE4TO.js +48 -0
  147. package/dist/chunk-YZNOE4TO.js.map +1 -0
  148. package/dist/{chunk-PY2BIZNB.js → chunk-ZJRXBOM2.js} +4 -4
  149. package/dist/{chunk-PY2BIZNB.js.map → chunk-ZJRXBOM2.js.map} +1 -1
  150. package/dist/composites/chat-thread.js +14 -13
  151. package/dist/hooks/use-intersection.js +3 -2
  152. package/dist/hooks/use-reduced-motion.js +3 -2
  153. package/dist/icons/index.js +4 -3
  154. package/dist/icons/lucide.js +1 -0
  155. package/dist/index.js +56 -55
  156. package/dist/layout/container.js +4 -3
  157. package/dist/layout/grid.js +4 -3
  158. package/dist/layout/stack.js +4 -3
  159. package/dist/lib/utils.js +3 -2
  160. package/dist/logos/fluencypass.js +4 -3
  161. package/dist/logos/product.js +5 -4
  162. package/dist/marketing/buttons/cta-brand.d.ts +39 -0
  163. package/dist/marketing/buttons/cta-brand.js +8 -0
  164. package/dist/marketing/buttons/cta-brand.js.map +1 -0
  165. package/dist/marketing/buttons/index.d.ts +5 -0
  166. package/dist/marketing/buttons/index.js +9 -0
  167. package/dist/marketing/buttons/index.js.map +1 -0
  168. package/dist/marketing/buttons/link-brand.d.ts +39 -0
  169. package/dist/marketing/buttons/link-brand.js +6 -0
  170. package/dist/marketing/buttons/link-brand.js.map +1 -0
  171. package/dist/marketing/effects/card-dark-glow.js +4 -3
  172. package/dist/marketing/effects/circle-glow.js +4 -3
  173. package/dist/marketing/effects/hand-underline.d.ts +33 -0
  174. package/dist/marketing/effects/hand-underline.js +8 -0
  175. package/dist/marketing/effects/hand-underline.js.map +1 -0
  176. package/dist/marketing/effects/index.d.ts +3 -0
  177. package/dist/marketing/effects/index.js +11 -5
  178. package/dist/marketing/effects/magnetic-button.d.ts +36 -0
  179. package/dist/marketing/effects/magnetic-button.js +7 -0
  180. package/dist/marketing/effects/magnetic-button.js.map +1 -0
  181. package/dist/marketing/effects/marquee.js +4 -3
  182. package/dist/marketing/effects/rotating-word.d.ts +40 -0
  183. package/dist/marketing/effects/rotating-word.js +7 -0
  184. package/dist/marketing/effects/rotating-word.js.map +1 -0
  185. package/dist/marketing/layout/index.js +4 -3
  186. package/dist/marketing/layout/section.js +4 -3
  187. package/dist/marketing/motion/animated-number.js +6 -5
  188. package/dist/marketing/motion/index.js +9 -8
  189. package/dist/marketing/motion/reveal-on-scroll.js +6 -5
  190. package/dist/marketing/motion/smooth-anchor.js +3 -2
  191. package/dist/marketing/motion/stagger-reveal.js +6 -5
  192. package/dist/marketing/typography/hero-heading.js +4 -3
  193. package/dist/marketing/typography/index.js +7 -6
  194. package/dist/marketing/typography/section-eyebrow.js +4 -3
  195. package/dist/marketing/typography/section-heading.js +4 -3
  196. package/dist/marketing/typography/section-subtitle.js +4 -3
  197. package/dist/styles/tokens.css +37 -8
  198. package/dist/ui/accordion.js +4 -3
  199. package/dist/ui/alert-dialog.js +5 -4
  200. package/dist/ui/alert.js +6 -5
  201. package/dist/ui/audio-player.js +7 -6
  202. package/dist/ui/avatar.js +4 -3
  203. package/dist/ui/badge.js +4 -3
  204. package/dist/ui/button.js +4 -3
  205. package/dist/ui/chat-bubble.js +5 -4
  206. package/dist/ui/chat-message.js +10 -9
  207. package/dist/ui/chat-panel.js +9 -8
  208. package/dist/ui/checkbox.js +4 -3
  209. package/dist/ui/circular-progress.js +4 -3
  210. package/dist/ui/dialog.js +5 -4
  211. package/dist/ui/drawer.js +4 -3
  212. package/dist/ui/dropdown-menu.js +4 -3
  213. package/dist/ui/editor.js +8 -7
  214. package/dist/ui/empty.js +4 -3
  215. package/dist/ui/fab.js +4 -3
  216. package/dist/ui/file-card.js +4 -3
  217. package/dist/ui/input.js +4 -3
  218. package/dist/ui/label.js +4 -3
  219. package/dist/ui/like-dislike.js +8 -7
  220. package/dist/ui/live-waiting.js +7 -6
  221. package/dist/ui/message-bar.js +4 -3
  222. package/dist/ui/message-rating.js +4 -3
  223. package/dist/ui/player-i18n.js +3 -2
  224. package/dist/ui/popover.js +4 -3
  225. package/dist/ui/progress-dot.js +4 -3
  226. package/dist/ui/progress-stage.js +4 -3
  227. package/dist/ui/progress.js +4 -3
  228. package/dist/ui/radio-group.js +4 -3
  229. package/dist/ui/resizable.js +4 -3
  230. package/dist/ui/scroll-area.js +4 -3
  231. package/dist/ui/select.js +4 -3
  232. package/dist/ui/sheet.js +4 -3
  233. package/dist/ui/skeleton.js +4 -3
  234. package/dist/ui/slider.js +4 -3
  235. package/dist/ui/sonner.js +6 -5
  236. package/dist/ui/spinner.js +6 -5
  237. package/dist/ui/switch.js +4 -3
  238. package/dist/ui/tabs.js +4 -3
  239. package/dist/ui/textarea.js +4 -3
  240. package/dist/ui/toggle.js +4 -3
  241. package/dist/ui/tooltip.js +4 -3
  242. package/dist/ui/video-player.js +7 -6
  243. package/package.json +10 -2
  244. package/dist/chunk-K2NUBNSA.js.map +0 -1
  245. package/dist/chunk-NW56QDQM.js.map +0 -1
  246. package/dist/chunk-TYCPXAXF.js.map +0 -1
  247. package/dist/chunk-XQUQDZVA.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/circular-progress.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,WAAA,GAAc;AAAA,EAClB,IAAI,EAAE,EAAA,EAAI,IAAI,MAAA,EAAQ,CAAA,EAAG,WAAW,uBAAA,EAAwB;AAAA,EAC5D,IAAI,EAAE,EAAA,EAAI,IAAI,MAAA,EAAQ,CAAA,EAAG,WAAW,yBAAA,EAA0B;AAAA,EAC9D,SAAS,EAAE,EAAA,EAAI,IAAI,MAAA,EAAQ,CAAA,EAAG,WAAW,wBAAA,EAAyB;AAAA,EAClE,IAAI,EAAE,EAAA,EAAI,KAAK,MAAA,EAAQ,CAAA,EAAG,WAAW,wBAAA;AACvC,CAAA;AAEA,IAAM,wBAAA,GAA2B,IAAI,+BAAA,EAAiC;AAAA,EACpE,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,OAAA,EAAS,SAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;AAID,SAAS,aAAa,KAAA,EAAuB;AAC3C,EAAA,IAAI,KAAA,GAAQ,IAAI,OAAO,gBAAA;AACvB,EAAA,IAAI,KAAA,GAAQ,IAAI,OAAO,eAAA;AACvB,EAAA,OAAO,gBAAA;AACT;AAiBA,SAAS,iBAAiB,EAAA,EASA;AATA,EAAA,IAAA,EAAA,GAAA,EAAA,EACxB;AAAA,IAAA,KAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,KAAA;AAAA,IACA,SAAA,GAAY,KAAA;AAAA,IACZ,SAAA,GAAY,IAAA;AAAA,IACZ,KAAA;AAAA,IACA;AAAA,GA1DF,GAmD0B,EAAA,EAQrB,KAAA,GAAA,SAAA,CARqB,EAAA,EAQrB;AAAA,IAPH,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,GAAA,EAAK,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAChD,EAAA,MAAM,MAAA,GAAS,WAAA,CAAY,IAAA,IAAA,IAAA,GAAA,IAAA,GAAQ,SAAS,CAAA;AAC5C,EAAA,MAAM,EAAE,EAAA,EAAI,MAAA,EAAQ,SAAA,EAAU,GAAI,MAAA;AAElC,EAAA,MAAM,MAAA,GAAA,CAAU,KAAK,MAAA,IAAU,CAAA;AAC/B,EAAA,MAAM,aAAA,GAAgB,CAAA,GAAI,IAAA,CAAK,EAAA,GAAK,MAAA;AACpC,EAAA,MAAM,IAAA,GAAQ,UAAU,GAAA,GAAO,aAAA;AAE/B,EAAA,MAAM,aAAA,GAAgB,KAAA,IAAA,IAAA,GAAA,KAAA,GAAU,SAAA,GAAY,YAAA,CAAa,OAAO,CAAA,GAAI,MAAA;AACpE,EAAA,MAAM,eAAe,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAA;AAEpD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,IAAA,EAAK,aAAA;AAAA,MACL,eAAA,EAAe,OAAA;AAAA,MACf,eAAA,EAAe,CAAA;AAAA,MACf,eAAA,EAAe,GAAA;AAAA,MACf,YAAA,EAAY,CAAC,SAAA,IAAa,CAAC,KAAA,GAAQ,aAAa,IAAA,CAAK,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAA,GAAM,MAAA;AAAA,MACzE,SAAA,EAAW,GAAG,wBAAA,CAAyB,EAAE,MAAM,CAAA,EAAG,eAAe,SAAS,CAAA;AAAA,MAC1E,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,QAAQ,EAAA;AAAG,KAAA,EAC3B,KAAA,CAAA,EATL;AAAA,MAYC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,uBAAA;AAAA,cACA,gBAAgB,WAAA,GAAc;AAAA,aAChC;AAAA,YACA,KAAA,EAAO,EAAE,KAAA,EAAO,MAAA;AAAO;AAAA,SACzB;AAAA,wBAGA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,uCAAA;AAAA,YACV,OAAA,EAAS,CAAA,IAAA,EAAO,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA;AAAA,YACxB,aAAA,EAAY,MAAA;AAAA,YAEZ,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAI,EAAA,GAAK,CAAA;AAAA,kBACT,IAAI,EAAA,GAAK,CAAA;AAAA,kBACT,CAAA,EAAG,MAAA;AAAA,kBACH,IAAA,EAAK,MAAA;AAAA,kBACL,WAAA,EAAa,MAAA;AAAA,kBACb,SAAA,EAAW,EAAA,CAAG,aAAA,GAAgB,cAAA,GAAiB,sBAAsB;AAAA;AAAA,eACvE;AAAA,8BACA,GAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAI,EAAA,GAAK,CAAA;AAAA,kBACT,IAAI,EAAA,GAAK,CAAA;AAAA,kBACT,CAAA,EAAG,MAAA;AAAA,kBACH,IAAA,EAAK,MAAA;AAAA,kBACL,WAAA,EAAa,MAAA;AAAA,kBACb,aAAA,EAAc,OAAA;AAAA,kBACd,eAAA,EAAiB,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,aAAa,CAAA,CAAA;AAAA,kBACzC,SAAA,EAAW,EAAA,CAAG,4CAAA,EAA8C,aAAA,GAAgB,mBAAmB,2BAA2B;AAAA;AAAA;AAC5H;AAAA;AAAA,SACF;AAAA,QAGC,SAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,kFAAA;AAAA,cACA;AAAA,aACF;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,KAAA;AAAA,GAEJ;AAEJ","file":"chunk-A3Z5GGAI.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* ─── Size config ─── */\n\nconst SIZE_CONFIG = {\n xs: { px: 48, stroke: 4, fontClass: \"text-sm font-semibold\" },\n sm: { px: 64, stroke: 5, fontClass: \"text-base font-semibold\" },\n default: { px: 80, stroke: 6, fontClass: \"text-2xl font-semibold\" },\n lg: { px: 120, stroke: 8, fontClass: \"text-3xl font-semibold\" },\n} as const\n\nconst circularProgressVariants = cva(\"relative inline-flex shrink-0\", {\n variants: {\n size: {\n xs: \"size-12\",\n sm: \"size-16\",\n default: \"size-20\",\n lg: \"size-30\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\n/* ─── Auto-theme thresholds ─── */\n\nfunction getAutoTheme(value: number): string {\n if (value < 34) return \"theme-critical\"\n if (value < 67) return \"theme-warning\"\n return \"theme-positive\"\n}\n\nexport interface CircularProgressProps\n extends Omit<React.ComponentProps<\"div\">, \"children\">,\n VariantProps<typeof circularProgressVariants> {\n /** Valor de 0 a 100 (clamped) */\n value: number\n /** Classe de tema fixa (ex: \"theme-brand\", \"theme-class\"). Tem precedencia sobre autoTheme. */\n theme?: string\n /** Se true, escolhe o tema automaticamente: 0–33 critical, 34–66 warning, 67–100 positive. */\n autoTheme?: boolean\n /** Mostrar label central com a porcentagem (default true) */\n showLabel?: boolean\n /** Label customizado — sobrescreve `${value}%` */\n label?: string\n}\n\nfunction CircularProgress({\n value,\n size = \"default\",\n theme,\n autoTheme = false,\n showLabel = true,\n label,\n className,\n ...props\n}: CircularProgressProps) {\n const clamped = Math.min(100, Math.max(0, value))\n const config = SIZE_CONFIG[size ?? \"default\"]\n const { px, stroke, fontClass } = config\n\n const radius = (px - stroke) / 2\n const circumference = 2 * Math.PI * radius\n const dash = (clamped / 100) * circumference\n\n const resolvedTheme = theme ?? (autoTheme ? getAutoTheme(clamped) : undefined)\n const displayLabel = label ?? `${Math.round(clamped)}%`\n\n return (\n <div\n data-slot=\"circular-progress\"\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={!showLabel && !label ? `Progress: ${Math.round(clamped)}%` : undefined}\n className={cn(circularProgressVariants({ size }), resolvedTheme, className)}\n style={{ width: px, height: px }}\n {...props}\n >\n {/* Inner pastel fill */}\n <div\n className={cn(\n \"absolute rounded-full\",\n resolvedTheme ? \"bg-accent\" : \"bg-neutral-input/40\"\n )}\n style={{ inset: stroke }}\n />\n\n {/* Progress arcs */}\n <svg\n className=\"absolute inset-0 size-full -rotate-90\"\n viewBox={`0 0 ${px} ${px}`}\n aria-hidden=\"true\"\n >\n <circle\n cx={px / 2}\n cy={px / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n className={cn(resolvedTheme ? \"stroke-muted\" : \"stroke-neutral-input\")}\n />\n <circle\n cx={px / 2}\n cy={px / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n strokeLinecap=\"round\"\n strokeDasharray={`${dash} ${circumference}`}\n className={cn(\"transition-[stroke-dasharray] duration-500\", resolvedTheme ? \"stroke-primary\" : \"stroke-neutral-foreground\")}\n />\n </svg>\n\n {/* Center label */}\n {showLabel && (\n <span\n className={cn(\n \"relative z-10 flex size-full items-center justify-center text-neutral-foreground\",\n fontClass\n )}\n >\n {displayLabel}\n </span>\n )}\n </div>\n )\n}\n\nexport { CircularProgress, circularProgressVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/circular-progress.tsx"],"names":[],"mappings":"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","file":"chunk-HBFS7W6V.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* ─── Size config ─── */\n\nconst SIZE_CONFIG = {\n xs: { px: 48, stroke: 4, fontClass: \"text-sm font-semibold\" },\n sm: { px: 64, stroke: 5, fontClass: \"text-base font-semibold\" },\n default: { px: 80, stroke: 6, fontClass: \"text-2xl font-semibold\" },\n lg: { px: 120, stroke: 8, fontClass: \"text-3xl font-semibold\" },\n} as const\n\nconst circularProgressVariants = cva(\"relative inline-flex shrink-0\", {\n variants: {\n size: {\n xs: \"size-12\",\n sm: \"size-16\",\n default: \"size-20\",\n lg: \"size-30\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\n/* ─── Auto-theme thresholds ─── */\n\nfunction getAutoTheme(value: number): string {\n if (value < 34) return \"theme-critical\"\n if (value < 67) return \"theme-warning\"\n return \"theme-positive\"\n}\n\nexport interface CircularProgressProps\n extends Omit<React.ComponentProps<\"div\">, \"children\">,\n VariantProps<typeof circularProgressVariants> {\n /** Valor de 0 a 100 (clamped) */\n value: number\n /** Classe de tema fixa (ex: \"theme-brand\", \"theme-class\"). Tem precedencia sobre autoTheme. */\n theme?: string\n /** Se true, escolhe o tema automaticamente: 0–33 critical, 34–66 warning, 67–100 positive. */\n autoTheme?: boolean\n /** Mostrar label central com a porcentagem (default true) */\n showLabel?: boolean\n /** Label customizado — sobrescreve `${value}%` */\n label?: string\n}\n\nfunction CircularProgress({\n value,\n size = \"default\",\n theme,\n autoTheme = false,\n showLabel = true,\n label,\n className,\n ...props\n}: CircularProgressProps) {\n const clamped = Math.min(100, Math.max(0, value))\n const config = SIZE_CONFIG[size ?? \"default\"]\n const { px, stroke, fontClass } = config\n\n const radius = (px - stroke) / 2\n const circumference = 2 * Math.PI * radius\n const dash = (clamped / 100) * circumference\n\n const resolvedTheme = theme ?? (autoTheme ? getAutoTheme(clamped) : undefined)\n const displayLabel = label ?? `${Math.round(clamped)}%`\n\n return (\n <div\n data-slot=\"circular-progress\"\n role=\"progressbar\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={!showLabel && !label ? `Progress: ${Math.round(clamped)}%` : undefined}\n className={cn(circularProgressVariants({ size }), resolvedTheme, className)}\n style={{ width: px, height: px }}\n {...props}\n >\n {/* Inner pastel fill */}\n <div\n className={cn(\n \"absolute rounded-full\",\n resolvedTheme ? \"bg-accent\" : \"bg-neutral-input/40\"\n )}\n style={{ inset: stroke }}\n />\n\n {/* Progress arcs */}\n <svg\n className=\"absolute inset-0 size-full -rotate-90\"\n viewBox={`0 0 ${px} ${px}`}\n aria-hidden=\"true\"\n >\n <circle\n cx={px / 2}\n cy={px / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n className={cn(resolvedTheme ? \"stroke-muted\" : \"stroke-neutral-input\")}\n />\n <circle\n cx={px / 2}\n cy={px / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n strokeLinecap=\"round\"\n strokeDasharray={`${dash} ${circumference}`}\n className={cn(\"transition-[stroke-dasharray] duration-500\", resolvedTheme ? \"stroke-primary\" : \"stroke-neutral-foreground\")}\n />\n </svg>\n\n {/* Center label */}\n {showLabel && (\n <span\n className={cn(\n \"relative z-10 flex size-full items-center justify-center text-neutral-foreground\",\n fontClass\n )}\n >\n {displayLabel}\n </span>\n )}\n </div>\n )\n}\n\nexport { CircularProgress, circularProgressVariants }\n"]}
@@ -1,6 +1,6 @@
1
- import { Button } from './chunk-5I4PGGLN.js';
2
- import { cn } from './chunk-TYCPXAXF.js';
3
- import { __objRest, __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
1
+ import { Button } from './chunk-3TSOMZJO.js';
2
+ import { cn } from './chunk-QTH4LSO6.js';
3
+ import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
4
4
  import { XIcon } from 'lucide-react';
5
5
  import { Dialog as Dialog$1 } from 'radix-ui';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -143,5 +143,5 @@ function DialogDescription(_a) {
143
143
  }
144
144
 
145
145
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
146
- //# sourceMappingURL=chunk-5NKTYXWQ.js.map
147
- //# sourceMappingURL=chunk-5NKTYXWQ.js.map
146
+ //# sourceMappingURL=chunk-HCSVANPX.js.map
147
+ //# sourceMappingURL=chunk-HCSVANPX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/dialog.tsx"],"names":["DialogPrimitive"],"mappings":"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","file":"chunk-5NKTYXWQ.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { XIcon } from \"lucide-react\"\nimport { Dialog as DialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/ui/dialog.tsx"],"names":["DialogPrimitive"],"mappings":"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","file":"chunk-HCSVANPX.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { XIcon } from \"lucide-react\"\nimport { Dialog as DialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -46,5 +46,5 @@ function Container(_a) {
46
46
  }
47
47
 
48
48
  export { Container, containerVariants };
49
- //# sourceMappingURL=chunk-QANROH2K.js.map
50
- //# sourceMappingURL=chunk-QANROH2K.js.map
49
+ //# sourceMappingURL=chunk-HIAYFCBX.js.map
50
+ //# sourceMappingURL=chunk-HIAYFCBX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/layout/container.tsx"],"names":[],"mappings":";;;;;AAaA,IAAM,iBAAA,GAAoB,IAAI,gBAAA,EAAkB;AAAA,EAC9C,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,eAAA;AAAA,MACP,OAAA,EAAS,gBAAA;AAAA,MACT,IAAA,EAAM,gBAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA;AAAA,MAEP,OAAA,EAAS,cAAA;AAAA;AAAA,MAET,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAC;AASD,SAAS,UAAU,EAAA,EAMA;AANA,EAAA,IAAA,EAAA,GAAA,EAAA,EACjB;AAAA,IAAA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,EAAA,GAAK,KAAA;AAAA,IACL;AAAA,GA7CF,GAyCmB,EAAA,EAKd,KAAA,GAAA,SAAA,CALc,EAAA,EAKd;AAAA,IAJH,MAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,SAAA,GAAY,EAAA;AAClB,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,GAAG,iBAAA,CAAkB,EAAE,MAAM,OAAA,EAAS,GAAG,SAAS;AAAA,KAAA,EACzD,KAAA;AAAA,GACN;AAEJ","file":"chunk-QANROH2K.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n/**\n * Container — wrapper centralizado com max-width e margin lateral.\n *\n * Margin (locked system value): 16px mobile / 24px desktop. Para casos especiais\n * que pedem mais respiro (ex: conteudo luxuoso), use override via className: `sm:px-10`.\n *\n * O Container nao define gutter ou colunas — isso e responsabilidade do Grid interno.\n */\nconst containerVariants = cva(\"mx-auto w-full\", {\n variants: {\n size: {\n prose: \"max-w-[860px]\",\n default: \"max-w-[1380px]\",\n wide: \"max-w-[1440px]\",\n full: \"\",\n },\n padding: {\n /** 16px mobile / 24px desktop (system margin) */\n default: \"px-4 sm:px-6\",\n /** Sem padding — para hero/banner full-bleed */\n none: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n padding: \"default\",\n },\n})\n\nexport interface ContainerProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof containerVariants> {\n /** HTML element to render (default: div) */\n as?: \"div\" | \"section\" | \"main\" | \"article\"\n}\n\nfunction Container({\n size,\n padding,\n as = \"div\",\n className,\n ...props\n}: ContainerProps) {\n const Component = as as React.ElementType\n return (\n <Component\n data-slot=\"container\"\n className={cn(containerVariants({ size, padding }), className)}\n {...props}\n />\n )\n}\n\nexport { Container, containerVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/layout/container.tsx"],"names":[],"mappings":";;;;;AAaA,IAAM,iBAAA,GAAoB,IAAI,gBAAA,EAAkB;AAAA,EAC9C,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,KAAA,EAAO,eAAA;AAAA,MACP,OAAA,EAAS,gBAAA;AAAA,MACT,IAAA,EAAM,gBAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA;AAAA,MAEP,OAAA,EAAS,cAAA;AAAA;AAAA,MAET,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAC;AASD,SAAS,UAAU,EAAA,EAMA;AANA,EAAA,IAAA,EAAA,GAAA,EAAA,EACjB;AAAA,IAAA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,EAAA,GAAK,KAAA;AAAA,IACL;AAAA,GA7CF,GAyCmB,EAAA,EAKd,KAAA,GAAA,SAAA,CALc,EAAA,EAKd;AAAA,IAJH,MAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,SAAA,GAAY,EAAA;AAClB,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,GAAG,iBAAA,CAAkB,EAAE,MAAM,OAAA,EAAS,GAAG,SAAS;AAAA,KAAA,EACzD,KAAA;AAAA,GACN;AAEJ","file":"chunk-HIAYFCBX.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\n/**\n * Container — wrapper centralizado com max-width e margin lateral.\n *\n * Margin (locked system value): 16px mobile / 24px desktop. Para casos especiais\n * que pedem mais respiro (ex: conteudo luxuoso), use override via className: `sm:px-10`.\n *\n * O Container nao define gutter ou colunas — isso e responsabilidade do Grid interno.\n */\nconst containerVariants = cva(\"mx-auto w-full\", {\n variants: {\n size: {\n prose: \"max-w-[860px]\",\n default: \"max-w-[1380px]\",\n wide: \"max-w-[1440px]\",\n full: \"\",\n },\n padding: {\n /** 16px mobile / 24px desktop (system margin) */\n default: \"px-4 sm:px-6\",\n /** Sem padding — para hero/banner full-bleed */\n none: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n padding: \"default\",\n },\n})\n\nexport interface ContainerProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof containerVariants> {\n /** HTML element to render (default: div) */\n as?: \"div\" | \"section\" | \"main\" | \"article\"\n}\n\nfunction Container({\n size,\n padding,\n as = \"div\",\n className,\n ...props\n}: ContainerProps) {\n const Component = as as React.ElementType\n return (\n <Component\n data-slot=\"container\"\n className={cn(containerVariants({ size, padding }), className)}\n {...props}\n />\n )\n}\n\nexport { Container, containerVariants }\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadProps, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import * as React from 'react';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
@@ -51,5 +51,5 @@ var Marquee = React.forwardRef(function Marquee2(_a, ref) {
51
51
  });
52
52
 
53
53
  export { Marquee };
54
- //# sourceMappingURL=chunk-5HPZCREI.js.map
55
- //# sourceMappingURL=chunk-5HPZCREI.js.map
54
+ //# sourceMappingURL=chunk-HXFGULDU.js.map
55
+ //# sourceMappingURL=chunk-HXFGULDU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/marketing/effects/marquee.tsx"],"names":["Marquee"],"mappings":";;;;;AA8BA,IAAM,OAAA,GAAgB,KAAA,CAAA,UAAA,CAAyC,SAASA,QAAAA,CACtE,IAUA,GAAA,EACA;AAXA,EAAA,IAAA,EAAA,GAAA,EAAA,EACE;AAAA,IAAA,KAAA,GAAQ,EAAA;AAAA,IACR,SAAA,GAAY,MAAA;AAAA,IACZ,YAAA,GAAe,IAAA;AAAA,IACf,GAAA,GAAM,EAAA;AAAA,IACN,SAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GAtCJ,GA+BE,EAAA,EAQK,KAAA,GAAA,SAAA,CARL,EAAA,EAQK;AAAA,IAPH,OAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAMF,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,CAAC,0BAAoC,GAAG,CAAA,EAAG,KAAK,CAAA,CAAA,CAAA;AAAA,IAChD,CAAC,qBAA+B,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA;AAAA,GAC3C;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,SAAA;AAAA,MACV,qBAAA,EAAqB,eAAe,MAAA,GAAS,OAAA;AAAA,MAC7C,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACxC;AAAA,KAAA,EACI,KAAA,CAAA,EANL;AAAA,MAQC,QAAA,kBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,qBAAA;AAAA,UACV,gBAAA,EAAgB,SAAA;AAAA,UAChB,KAAA,EAAO,UAAA;AAAA,UAEN,QAAA,EAAA;AAAA,YAAA,QAAA;AAAA,gCAEA,KAAA,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,YAC/B,QAAA,EACH;AAAA;AAAA;AAAA;AACF,KAAA;AAAA,GACF;AAEJ,CAAC","file":"chunk-5HPZCREI.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface MarqueeProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Duracao de um ciclo completo em segundos. Default `40`. */\n speed?: number\n /** Direcao do movimento. Default `\"left\"`. */\n direction?: \"left\" | \"right\"\n /** Pausa em `:hover` e `:focus-within`. Default `true` (acessibilidade). */\n pauseOnHover?: boolean\n /** Espacamento entre cada item em px. Default `48`. */\n gap?: number\n}\n\n/**\n * Scroll horizontal infinito (logo cloud, partner band). Duplica os children\n * internamente pra criar loop seamless. Pausa em hover/focus pra dar tempo\n * de leitura. Respeita `prefers-reduced-motion` (anima zerada).\n *\n * Importante: a duplicacao usa `aria-hidden` no segundo bloco pra evitar\n * leitura repetida por screen readers.\n *\n * @example\n * <Marquee speed={30} gap={64}>\n * <img src=\"/logos/logo-a.png\" alt=\"Cliente A\" />\n * <img src=\"/logos/logo-b.png\" alt=\"Cliente B\" />\n * <img src=\"/logos/logo-c.png\" alt=\"Cliente C\" />\n * </Marquee>\n */\nconst Marquee = React.forwardRef<HTMLDivElement, MarqueeProps>(function Marquee(\n {\n speed = 40,\n direction = \"left\",\n pauseOnHover = true,\n gap = 48,\n className,\n children,\n style,\n ...props\n },\n ref\n) {\n // Style merge: nossas CSS vars + qualquer style passado pelo consumer\n const trackStyle = {\n [\"--cycle-marquee-duration\" as string]: `${speed}s`,\n [\"--cycle-marquee-gap\" as string]: `${gap}px`,\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"marquee\"\n data-pause-on-hover={pauseOnHover ? \"true\" : \"false\"}\n className={cn(\"cycle-marquee\", className)}\n style={style}\n {...props}\n >\n <div\n className=\"cycle-marquee-track\"\n data-direction={direction}\n style={trackStyle}\n >\n {children}\n {/* Duplicacao pro loop seamless — `aria-hidden` pra screen readers ignorarem. */}\n <div aria-hidden=\"true\" className=\"contents\">\n {children}\n </div>\n </div>\n </div>\n )\n})\n\nexport { Marquee }\n"]}
1
+ {"version":3,"sources":["../src/components/marketing/effects/marquee.tsx"],"names":["Marquee"],"mappings":";;;;;AA8BA,IAAM,OAAA,GAAgB,KAAA,CAAA,UAAA,CAAyC,SAASA,QAAAA,CACtE,IAUA,GAAA,EACA;AAXA,EAAA,IAAA,EAAA,GAAA,EAAA,EACE;AAAA,IAAA,KAAA,GAAQ,EAAA;AAAA,IACR,SAAA,GAAY,MAAA;AAAA,IACZ,YAAA,GAAe,IAAA;AAAA,IACf,GAAA,GAAM,EAAA;AAAA,IACN,SAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GAtCJ,GA+BE,EAAA,EAQK,KAAA,GAAA,SAAA,CARL,EAAA,EAQK;AAAA,IAPH,OAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAMF,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,CAAC,0BAAoC,GAAG,CAAA,EAAG,KAAK,CAAA,CAAA,CAAA;AAAA,IAChD,CAAC,qBAA+B,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA;AAAA,GAC3C;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAA,EAAU,SAAA;AAAA,MACV,qBAAA,EAAqB,eAAe,MAAA,GAAS,OAAA;AAAA,MAC7C,SAAA,EAAW,EAAA,CAAG,eAAA,EAAiB,SAAS,CAAA;AAAA,MACxC;AAAA,KAAA,EACI,KAAA,CAAA,EANL;AAAA,MAQC,QAAA,kBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,qBAAA;AAAA,UACV,gBAAA,EAAgB,SAAA;AAAA,UAChB,KAAA,EAAO,UAAA;AAAA,UAEN,QAAA,EAAA;AAAA,YAAA,QAAA;AAAA,gCAEA,KAAA,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,YAC/B,QAAA,EACH;AAAA;AAAA;AAAA;AACF,KAAA;AAAA,GACF;AAEJ,CAAC","file":"chunk-HXFGULDU.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface MarqueeProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Duracao de um ciclo completo em segundos. Default `40`. */\n speed?: number\n /** Direcao do movimento. Default `\"left\"`. */\n direction?: \"left\" | \"right\"\n /** Pausa em `:hover` e `:focus-within`. Default `true` (acessibilidade). */\n pauseOnHover?: boolean\n /** Espacamento entre cada item em px. Default `48`. */\n gap?: number\n}\n\n/**\n * Scroll horizontal infinito (logo cloud, partner band). Duplica os children\n * internamente pra criar loop seamless. Pausa em hover/focus pra dar tempo\n * de leitura. Respeita `prefers-reduced-motion` (anima zerada).\n *\n * Importante: a duplicacao usa `aria-hidden` no segundo bloco pra evitar\n * leitura repetida por screen readers.\n *\n * @example\n * <Marquee speed={30} gap={64}>\n * <img src=\"/logos/logo-a.png\" alt=\"Cliente A\" />\n * <img src=\"/logos/logo-b.png\" alt=\"Cliente B\" />\n * <img src=\"/logos/logo-c.png\" alt=\"Cliente C\" />\n * </Marquee>\n */\nconst Marquee = React.forwardRef<HTMLDivElement, MarqueeProps>(function Marquee(\n {\n speed = 40,\n direction = \"left\",\n pauseOnHover = true,\n gap = 48,\n className,\n children,\n style,\n ...props\n },\n ref\n) {\n // Style merge: nossas CSS vars + qualquer style passado pelo consumer\n const trackStyle = {\n [\"--cycle-marquee-duration\" as string]: `${speed}s`,\n [\"--cycle-marquee-gap\" as string]: `${gap}px`,\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"marquee\"\n data-pause-on-hover={pauseOnHover ? \"true\" : \"false\"}\n className={cn(\"cycle-marquee\", className)}\n style={style}\n {...props}\n >\n <div\n className=\"cycle-marquee-track\"\n data-direction={direction}\n style={trackStyle}\n >\n {children}\n {/* Duplicacao pro loop seamless — `aria-hidden` pra screen readers ignorarem. */}\n <div aria-hidden=\"true\" className=\"contents\">\n {children}\n </div>\n </div>\n </div>\n )\n})\n\nexport { Marquee }\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import { Label as Label$1 } from 'radix-ui';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -18,5 +18,5 @@ function Label(_a) {
18
18
  }
19
19
 
20
20
  export { Label };
21
- //# sourceMappingURL=chunk-726XFHED.js.map
22
- //# sourceMappingURL=chunk-726XFHED.js.map
21
+ //# sourceMappingURL=chunk-HZOLDTOT.js.map
22
+ //# sourceMappingURL=chunk-HZOLDTOT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/label.tsx"],"names":["LabelPrimitive"],"mappings":";;;;;AAUA,SAAS,MAAM,EAAA,EAAqC;AAArC,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAVjB,GAUe,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACf,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA,CAAe,IAAA;AAAA,IAAf,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ","file":"chunk-726XFHED.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface LabelProps\n extends React.ComponentProps<typeof LabelPrimitive.Root> {}\n\nfunction Label({ className, ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/label.tsx"],"names":["LabelPrimitive"],"mappings":";;;;;AAUA,SAAS,MAAM,EAAA,EAAqC;AAArC,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAVjB,GAUe,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACf,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA,CAAe,IAAA;AAAA,IAAf,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,qNAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAEJ","file":"chunk-HZOLDTOT.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface LabelProps\n extends React.ComponentProps<typeof LabelPrimitive.Root> {}\n\nfunction Label({ className, ...props }: LabelProps) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import * as React from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -40,5 +40,5 @@ var Input = React.forwardRef(
40
40
  Input.displayName = "Input";
41
41
 
42
42
  export { Input };
43
- //# sourceMappingURL=chunk-74WKJRW7.js.map
44
- //# sourceMappingURL=chunk-74WKJRW7.js.map
43
+ //# sourceMappingURL=chunk-I4DM7SVV.js.map
44
+ //# sourceMappingURL=chunk-I4DM7SVV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/input.tsx"],"names":[],"mappings":";;;;;AAUA,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA;AAAA,EAClB,CAAC,IAA2E,GAAA,KAAQ;AAAnF,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,IAAA,EAAM,SAAA,GAAY,SAAA,EAAW,OAAA,GAAU,SAAA,EAXvD,GAWG,EAAA,EAAkE,KAAA,GAAA,SAAA,CAAlE,EAAA,EAAkE,CAAhE,WAAA,EAAW,QAAM,WAAA,EAAuB,SAAA,CAAA,CAAA;AACzC,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,IAAA;AAAA,QACA,GAAA;AAAA,QACA,WAAA,EAAU,OAAA;AAAA,QACV,WAAA,EAAW,SAAA;AAAA,QACX,cAAA,EAAc,OAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA;AAAA,UAET,2YAAA;AAAA;AAAA,UAEA,YAAY,SAAA,IAAa,uHAAA;AAAA,UACzB,YAAY,SAAA,IAAa,mCAAA;AAAA,UACzB,YAAY,SAAA,IAAa,uGAAA;AAAA;AAAA,UAEzB,YAAY,QAAA,IAAY,6CAAA;AAAA,UACxB,YAAY,QAAA,IAAY,sCAAA;AAAA,UACxB,YAAY,QAAA,IAAY,0GAAA;AAAA;AAAA,UAExB,mLAAA;AAAA;AAAA,UAEA,cAAc,IAAA,IAAQ,uBAAA;AAAA,UACtB,cAAc,SAAA,IAAa,wBAAA;AAAA,UAC3B,cAAc,IAAA,IAAQ,0BAAA;AAAA,UACtB;AAAA;AACF,OAAA,EACI,KAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-74WKJRW7.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface InputProps extends React.ComponentProps<\"input\"> {\n inputSize?: \"sm\" | \"default\" | \"lg\"\n /** Variante visual: outline (borda) ou filled (fundo preenchido) */\n variant?: \"outline\" | \"filled\"\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, inputSize = \"default\", variant = \"outline\", ...props }, ref) => {\n return (\n <input\n type={type}\n ref={ref}\n data-slot=\"input\"\n data-size={inputSize}\n data-variant={variant}\n className={cn(\n // Base\n \"w-full min-w-0 rounded-lg text-neutral-foreground transition-[color,border-color,box-shadow,background-color] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:border-0 file:bg-transparent file:font-medium file:text-neutral-foreground placeholder:text-neutral-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n // Variant: outline\n variant === \"outline\" && \"border border-neutral-border bg-transparent shadow-xs dark:border-neutral-border dark:bg-transparent dark:shadow-none\",\n variant === \"outline\" && \"hover:border-ring hover:bg-ring/5\",\n variant === \"outline\" && \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:bg-ring/5\",\n // Variant: filled (mesmos tokens do Button outline: accent light, input dark)\n variant === \"filled\" && \"border border-transparent bg-neutral-accent\",\n variant === \"filled\" && \"hover:border-ring hover:bg-secondary\",\n variant === \"filled\" && \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:bg-secondary\",\n // Error (sempre visível, ambas variantes)\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:hover:border-destructive dark:aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40\",\n // Sizes\n inputSize === \"sm\" && \"h-8 px-3 py-2 text-sm\",\n inputSize === \"default\" && \"h-10 px-4 py-2 text-sm\",\n inputSize === \"lg\" && \"h-12 px-4 py-3 text-base\",\n className\n )}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/input.tsx"],"names":[],"mappings":";;;;;AAUA,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA;AAAA,EAClB,CAAC,IAA2E,GAAA,KAAQ;AAAnF,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,IAAA,EAAM,SAAA,GAAY,SAAA,EAAW,OAAA,GAAU,SAAA,EAXvD,GAWG,EAAA,EAAkE,KAAA,GAAA,SAAA,CAAlE,EAAA,EAAkE,CAAhE,WAAA,EAAW,QAAM,WAAA,EAAuB,SAAA,CAAA,CAAA;AACzC,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,IAAA;AAAA,QACA,GAAA;AAAA,QACA,WAAA,EAAU,OAAA;AAAA,QACV,WAAA,EAAW,SAAA;AAAA,QACX,cAAA,EAAc,OAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA;AAAA,UAET,2YAAA;AAAA;AAAA,UAEA,YAAY,SAAA,IAAa,uHAAA;AAAA,UACzB,YAAY,SAAA,IAAa,mCAAA;AAAA,UACzB,YAAY,SAAA,IAAa,uGAAA;AAAA;AAAA,UAEzB,YAAY,QAAA,IAAY,6CAAA;AAAA,UACxB,YAAY,QAAA,IAAY,sCAAA;AAAA,UACxB,YAAY,QAAA,IAAY,0GAAA;AAAA;AAAA,UAExB,mLAAA;AAAA;AAAA,UAEA,cAAc,IAAA,IAAQ,uBAAA;AAAA,UACtB,cAAc,SAAA,IAAa,wBAAA;AAAA,UAC3B,cAAc,IAAA,IAAQ,0BAAA;AAAA,UACtB;AAAA;AACF,OAAA,EACI,KAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-I4DM7SVV.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nexport interface InputProps extends React.ComponentProps<\"input\"> {\n inputSize?: \"sm\" | \"default\" | \"lg\"\n /** Variante visual: outline (borda) ou filled (fundo preenchido) */\n variant?: \"outline\" | \"filled\"\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, inputSize = \"default\", variant = \"outline\", ...props }, ref) => {\n return (\n <input\n type={type}\n ref={ref}\n data-slot=\"input\"\n data-size={inputSize}\n data-variant={variant}\n className={cn(\n // Base\n \"w-full min-w-0 rounded-lg text-neutral-foreground transition-[color,border-color,box-shadow,background-color] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:border-0 file:bg-transparent file:font-medium file:text-neutral-foreground placeholder:text-neutral-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n // Variant: outline\n variant === \"outline\" && \"border border-neutral-border bg-transparent shadow-xs dark:border-neutral-border dark:bg-transparent dark:shadow-none\",\n variant === \"outline\" && \"hover:border-ring hover:bg-ring/5\",\n variant === \"outline\" && \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:bg-ring/5\",\n // Variant: filled (mesmos tokens do Button outline: accent light, input dark)\n variant === \"filled\" && \"border border-transparent bg-neutral-accent\",\n variant === \"filled\" && \"hover:border-ring hover:bg-secondary\",\n variant === \"filled\" && \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:bg-secondary\",\n // Error (sempre visível, ambas variantes)\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:hover:border-destructive dark:aria-invalid:border-destructive dark:aria-invalid:ring-destructive/40\",\n // Sizes\n inputSize === \"sm\" && \"h-8 px-3 py-2 text-sm\",\n inputSize === \"default\" && \"h-10 px-4 py-2 text-sm\",\n inputSize === \"lg\" && \"h-12 px-4 py-3 text-base\",\n className\n )}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n"]}
@@ -1,4 +1,4 @@
1
- import { __objRest, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { __objRest, __spreadValues } from './chunk-2NMEKWO5.js';
2
2
  import { forwardRef } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -33,5 +33,5 @@ var CycleIcon = forwardRef(
33
33
  );
34
34
 
35
35
  export { CycleIcon, ICON_SIZES };
36
- //# sourceMappingURL=chunk-V7M2NHUO.js.map
37
- //# sourceMappingURL=chunk-V7M2NHUO.js.map
36
+ //# sourceMappingURL=chunk-IGFCIAF3.js.map
37
+ //# sourceMappingURL=chunk-IGFCIAF3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/icons/sizes.ts","../src/components/icons/CycleIcon.tsx"],"names":["CycleIcon"],"mappings":";;;;;AASO,IAAM,UAAA,GAAa;AAAA,EACxB,KAAA,EAAO,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,CAAA,EAAE;AAAA,EAC7B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA;AAC1B;ACgCO,IAAM,SAAA,GAAY,UAAA;AAAA,EACvB,SAASA,UAAAA,CAAU,KAAA,EAAO,GAAA,EAAyB;AACjD,IAAA,MAAoE,EAAA,GAAA,KAAA,EAA5D,EAAA,IAAA,EAAM,IAAA,EAAM,IAAA,GAAO,MAAM,UAAA,EAAY,SAAA,EAlDjD,GAkDwE,EAAA,EAAT,IAAA,GAAA,SAAA,CAAS,EAAA,EAAT,CAAnD,MAAA,EAAY,QAAa,YAAA,EAAY,WAAA,CAAA,CAAA;AAE7C,IAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAI,MAAA,EAAO,GAAI,WAAW,IAAI,CAAA;AAM5C,IAAA,MAAM,OAAA,GAAU,EAAA;AAChB,IAAA,MAAM,cAAA,GAAiB,UAAU,OAAA,GAAU,EAAA,CAAA;AAE3C,IAAA,MAAM,SAAA,GAAY,UAAA,GACd,EAAE,aAAA,EAAe,IAAA,EAAe,WAAW,OAAA,EAAiB,GAC5D,EAAE,IAAA,EAAM,KAAA,EAAe;AAE3B,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA,cAAA,CAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAO,EAAA;AAAA,QACP,MAAA,EAAQ,EAAA;AAAA,QACR,WAAA,EAAa,cAAA;AAAA,QACb,SAAA;AAAA,QACA,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,QAAQ,EAAA;AAAG,OAAA,EAC3B,SAAA,CAAA,EACA,IAAA;AAAA,KACN;AAAA,EAEJ;AACF","file":"chunk-V7M2NHUO.js","sourcesContent":["/**\n * Cycle Design — Icon Size Map\n *\n * Fonte da verdade para componentes React.\n * Derivado de: figma/Icons size/icon-{size}.json\n *\n * REGRA: strokeWidth nunca é prop — é sempre derivado de size.\n * Isso garante consistência visual em todos os ícones.\n */\nexport const ICON_SIZES = {\n '2xs': { size: 12, stroke: 1 },\n xs: { size: 16, stroke: 1.2 },\n sm: { size: 24, stroke: 1.5 },\n md: { size: 32, stroke: 1.8 },\n lg: { size: 40, stroke: 2.1 },\n xl: { size: 48, stroke: 2.4 },\n} as const satisfies Record<string, { size: number; stroke: number }>\n\nexport type IconSize = keyof typeof ICON_SIZES\n","import { forwardRef } from 'react'\nimport type { Ref } from 'react'\nimport type { LucideIcon } from 'lucide-react'\nimport { ICON_SIZES } from './sizes'\nimport type { IconSize } from './sizes'\n\n/**\n * Props base compartilhada.\n */\ntype BaseProps = {\n icon: LucideIcon\n size?: IconSize\n className?: string\n}\n\n/**\n * Ícone semântico — comunica algo para o usuário.\n * @example <CycleIcon icon={Home} size=\"sm\" aria-label=\"Ir para home\" />\n */\ntype SemanticProps = BaseProps & {\n decorative?: false\n 'aria-label': string\n}\n\n/**\n * Ícone decorativo — puramente visual.\n * @example <CycleIcon icon={Home} size=\"sm\" decorative />\n */\ntype DecorativeProps = BaseProps & {\n decorative: true\n 'aria-label'?: never\n}\n\nexport type CycleIconProps = SemanticProps | DecorativeProps\n\n/**\n * CycleIcon — wrapper para ícones Lucide com regras de size/stroke da Cycle.\n *\n * Aplica automaticamente width, height e strokeWidth baseado no size token.\n * Use para todos os ícones Lucide no produto.\n *\n * @example\n * import { Home, Search } from \"@fluencypassdevs/cycle/icons/lucide\"\n * import { CycleIcon } from \"@/components/icons\"\n *\n * <CycleIcon icon={Home} size=\"sm\" decorative />\n * <CycleIcon icon={Search} size=\"lg\" aria-label=\"Buscar\" />\n */\nexport const CycleIcon = forwardRef<SVGSVGElement, CycleIconProps>(\n function CycleIcon(props, ref: Ref<SVGSVGElement>) {\n const { icon: Icon, size = 'sm', decorative, className, ...rest } = props\n\n const { size: px, stroke } = ICON_SIZES[size]\n\n // Lucide usa viewBox=\"0 0 24 24\" fixo. Quando renderizado em tamanho\n // diferente de 24px, o stroke-width e escalado proporcionalmente.\n // Compensamos dividindo pelo fator de escala para que o stroke\n // renderizado em pixels corresponda ao valor definido em ICON_SIZES.\n const VIEWBOX = 24\n const adjustedStroke = stroke * (VIEWBOX / px)\n\n const ariaProps = decorative\n ? { 'aria-hidden': true as const, focusable: 'false' as const }\n : { role: 'img' as const }\n\n return (\n <Icon\n ref={ref}\n width={px}\n height={px}\n strokeWidth={adjustedStroke}\n className={className}\n style={{ width: px, height: px }}\n {...ariaProps}\n {...rest}\n />\n )\n }\n)\n"]}
1
+ {"version":3,"sources":["../src/components/icons/sizes.ts","../src/components/icons/CycleIcon.tsx"],"names":["CycleIcon"],"mappings":";;;;;AASO,IAAM,UAAA,GAAa;AAAA,EACxB,KAAA,EAAO,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,CAAA,EAAE;AAAA,EAC7B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA,EAAI;AAAA,EAC5B,EAAA,EAAI,EAAE,IAAA,EAAM,EAAA,EAAI,QAAQ,GAAA;AAC1B;ACgCO,IAAM,SAAA,GAAY,UAAA;AAAA,EACvB,SAASA,UAAAA,CAAU,KAAA,EAAO,GAAA,EAAyB;AACjD,IAAA,MAAoE,EAAA,GAAA,KAAA,EAA5D,EAAA,IAAA,EAAM,IAAA,EAAM,IAAA,GAAO,MAAM,UAAA,EAAY,SAAA,EAlDjD,GAkDwE,EAAA,EAAT,IAAA,GAAA,SAAA,CAAS,EAAA,EAAT,CAAnD,MAAA,EAAY,QAAa,YAAA,EAAY,WAAA,CAAA,CAAA;AAE7C,IAAA,MAAM,EAAE,IAAA,EAAM,EAAA,EAAI,MAAA,EAAO,GAAI,WAAW,IAAI,CAAA;AAM5C,IAAA,MAAM,OAAA,GAAU,EAAA;AAChB,IAAA,MAAM,cAAA,GAAiB,UAAU,OAAA,GAAU,EAAA,CAAA;AAE3C,IAAA,MAAM,SAAA,GAAY,UAAA,GACd,EAAE,aAAA,EAAe,IAAA,EAAe,WAAW,OAAA,EAAiB,GAC5D,EAAE,IAAA,EAAM,KAAA,EAAe;AAE3B,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA,cAAA,CAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAO,EAAA;AAAA,QACP,MAAA,EAAQ,EAAA;AAAA,QACR,WAAA,EAAa,cAAA;AAAA,QACb,SAAA;AAAA,QACA,KAAA,EAAO,EAAE,KAAA,EAAO,EAAA,EAAI,QAAQ,EAAA;AAAG,OAAA,EAC3B,SAAA,CAAA,EACA,IAAA;AAAA,KACN;AAAA,EAEJ;AACF","file":"chunk-IGFCIAF3.js","sourcesContent":["/**\n * Cycle Design — Icon Size Map\n *\n * Fonte da verdade para componentes React.\n * Derivado de: figma/Icons size/icon-{size}.json\n *\n * REGRA: strokeWidth nunca é prop — é sempre derivado de size.\n * Isso garante consistência visual em todos os ícones.\n */\nexport const ICON_SIZES = {\n '2xs': { size: 12, stroke: 1 },\n xs: { size: 16, stroke: 1.2 },\n sm: { size: 24, stroke: 1.5 },\n md: { size: 32, stroke: 1.8 },\n lg: { size: 40, stroke: 2.1 },\n xl: { size: 48, stroke: 2.4 },\n} as const satisfies Record<string, { size: number; stroke: number }>\n\nexport type IconSize = keyof typeof ICON_SIZES\n","import { forwardRef } from 'react'\nimport type { Ref } from 'react'\nimport type { LucideIcon } from 'lucide-react'\nimport { ICON_SIZES } from './sizes'\nimport type { IconSize } from './sizes'\n\n/**\n * Props base compartilhada.\n */\ntype BaseProps = {\n icon: LucideIcon\n size?: IconSize\n className?: string\n}\n\n/**\n * Ícone semântico — comunica algo para o usuário.\n * @example <CycleIcon icon={Home} size=\"sm\" aria-label=\"Ir para home\" />\n */\ntype SemanticProps = BaseProps & {\n decorative?: false\n 'aria-label': string\n}\n\n/**\n * Ícone decorativo — puramente visual.\n * @example <CycleIcon icon={Home} size=\"sm\" decorative />\n */\ntype DecorativeProps = BaseProps & {\n decorative: true\n 'aria-label'?: never\n}\n\nexport type CycleIconProps = SemanticProps | DecorativeProps\n\n/**\n * CycleIcon — wrapper para ícones Lucide com regras de size/stroke da Cycle.\n *\n * Aplica automaticamente width, height e strokeWidth baseado no size token.\n * Use para todos os ícones Lucide no produto.\n *\n * @example\n * import { Home, Search } from \"@fluencypassdevs/cycle/icons/lucide\"\n * import { CycleIcon } from \"@/components/icons\"\n *\n * <CycleIcon icon={Home} size=\"sm\" decorative />\n * <CycleIcon icon={Search} size=\"lg\" aria-label=\"Buscar\" />\n */\nexport const CycleIcon = forwardRef<SVGSVGElement, CycleIconProps>(\n function CycleIcon(props, ref: Ref<SVGSVGElement>) {\n const { icon: Icon, size = 'sm', decorative, className, ...rest } = props\n\n const { size: px, stroke } = ICON_SIZES[size]\n\n // Lucide usa viewBox=\"0 0 24 24\" fixo. Quando renderizado em tamanho\n // diferente de 24px, o stroke-width e escalado proporcionalmente.\n // Compensamos dividindo pelo fator de escala para que o stroke\n // renderizado em pixels corresponda ao valor definido em ICON_SIZES.\n const VIEWBOX = 24\n const adjustedStroke = stroke * (VIEWBOX / px)\n\n const ariaProps = decorative\n ? { 'aria-hidden': true as const, focusable: 'false' as const }\n : { role: 'img' as const }\n\n return (\n <Icon\n ref={ref}\n width={px}\n height={px}\n strokeWidth={adjustedStroke}\n className={className}\n style={{ width: px, height: px }}\n {...ariaProps}\n {...rest}\n />\n )\n }\n)\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadProps, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -53,5 +53,5 @@ function ProgressStage(_a) {
53
53
  }
54
54
 
55
55
  export { ProgressStage };
56
- //# sourceMappingURL=chunk-NYJMA2T7.js.map
57
- //# sourceMappingURL=chunk-NYJMA2T7.js.map
56
+ //# sourceMappingURL=chunk-ILYZQBBN.js.map
57
+ //# sourceMappingURL=chunk-ILYZQBBN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/progress-stage.tsx"],"names":[],"mappings":";;;;;AAKA,IAAM,yBAAA,GAA4B,IAAI,qBAAA,EAAuB;AAAA,EAC3D,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,OAAA,EAAS,KAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAaD,SAAS,cAAc,EAAA,EAOA;AAPA,EAAA,IAAA,EAAA,GAAA,EAAA,EACrB;AAAA,IAAA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,KAAA;AAAA,IACA;AAAA,GAnCF,GA8BuB,EAAA,EAMlB,KAAA,GAAA,SAAA,CANkB,EAAA,EAMlB;AAAA,IALH,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,KAAA,GAAQ,KAAK,GAAA,CAAI,EAAA,EAAI,KAAK,GAAA,CAAI,CAAA,EAAG,MAAM,CAAC,CAAA;AAC9C,EAAA,MAAM,MAAA,GAAS,KAAK,GAAA,CAAI,KAAA,EAAO,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAEjD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,mBAAA,EAAqB,SAAS;AAAA,KAAA,EACxC,KAAA,CAAA,EAHL;AAAA,MAKE,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAM,EAAG,CAAC,GAAG,CAAA,qBACjC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,EAAA;AAAA,YACT,yBAAA,CAA0B,EAAE,IAAA,EAAM,CAAA;AAAA,YAClC,CAAA,GAAI,MAAA,GACA,EAAA,CAAG,KAAA,EAAO,YAAY,CAAA,GACtB;AAAA;AACN,SAAA;AAAA,QANK;AAAA,OAQR;AAAA,KAAA;AAAA,GACH;AAEJ","file":"chunk-NYJMA2T7.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst progressStagePillVariants = cva(\"flex-1 rounded-full\", {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-1.5\",\n default: \"h-2\",\n lg: \"h-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nexport interface ProgressStageProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof progressStagePillVariants> {\n /** Numero total de stages (2–10) */\n stages: number\n /** Quantos stages estao preenchidos (0–stages) */\n value: number\n /** Classe de tema aplicada apenas nas pills preenchidas (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction ProgressStage({\n stages,\n value,\n size = \"default\",\n theme,\n className,\n ...props\n}: ProgressStageProps) {\n const total = Math.min(10, Math.max(2, stages))\n const filled = Math.min(total, Math.max(0, value))\n\n return (\n <div\n data-slot=\"progress-stage\"\n className={cn(\"flex w-full gap-2\", className)}\n {...props}\n >\n {Array.from({ length: total }, (_, i) => (\n <div\n key={i}\n className={cn(\n progressStagePillVariants({ size }),\n i < filled\n ? cn(theme, \"bg-primary\")\n : \"bg-neutral-input\"\n )}\n />\n ))}\n </div>\n )\n}\n\nexport { ProgressStage }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/progress-stage.tsx"],"names":[],"mappings":";;;;;AAKA,IAAM,yBAAA,GAA4B,IAAI,qBAAA,EAAuB;AAAA,EAC3D,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,KAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,OAAA,EAAS,KAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAaD,SAAS,cAAc,EAAA,EAOA;AAPA,EAAA,IAAA,EAAA,GAAA,EAAA,EACrB;AAAA,IAAA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP,KAAA;AAAA,IACA;AAAA,GAnCF,GA8BuB,EAAA,EAMlB,KAAA,GAAA,SAAA,CANkB,EAAA,EAMlB;AAAA,IALH,QAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,MAAM,KAAA,GAAQ,KAAK,GAAA,CAAI,EAAA,EAAI,KAAK,GAAA,CAAI,CAAA,EAAG,MAAM,CAAC,CAAA;AAC9C,EAAA,MAAM,MAAA,GAAS,KAAK,GAAA,CAAI,KAAA,EAAO,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,CAAC,CAAA;AAEjD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,mBAAA,EAAqB,SAAS;AAAA,KAAA,EACxC,KAAA,CAAA,EAHL;AAAA,MAKE,QAAA,EAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAM,EAAG,CAAC,GAAG,CAAA,qBACjC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,EAAA;AAAA,YACT,yBAAA,CAA0B,EAAE,IAAA,EAAM,CAAA;AAAA,YAClC,CAAA,GAAI,MAAA,GACA,EAAA,CAAG,KAAA,EAAO,YAAY,CAAA,GACtB;AAAA;AACN,SAAA;AAAA,QANK;AAAA,OAQR;AAAA,KAAA;AAAA,GACH;AAEJ","file":"chunk-ILYZQBBN.js","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst progressStagePillVariants = cva(\"flex-1 rounded-full\", {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-1.5\",\n default: \"h-2\",\n lg: \"h-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n})\n\nexport interface ProgressStageProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof progressStagePillVariants> {\n /** Numero total de stages (2–10) */\n stages: number\n /** Quantos stages estao preenchidos (0–stages) */\n value: number\n /** Classe de tema aplicada apenas nas pills preenchidas (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction ProgressStage({\n stages,\n value,\n size = \"default\",\n theme,\n className,\n ...props\n}: ProgressStageProps) {\n const total = Math.min(10, Math.max(2, stages))\n const filled = Math.min(total, Math.max(0, value))\n\n return (\n <div\n data-slot=\"progress-stage\"\n className={cn(\"flex w-full gap-2\", className)}\n {...props}\n >\n {Array.from({ length: total }, (_, i) => (\n <div\n key={i}\n className={cn(\n progressStagePillVariants({ size }),\n i < filled\n ? cn(theme, \"bg-primary\")\n : \"bg-neutral-input\"\n )}\n />\n ))}\n </div>\n )\n}\n\nexport { ProgressStage }\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
3
3
  import { CircleIcon } from 'lucide-react';
4
4
  import { RadioGroup as RadioGroup$1 } from 'radix-ui';
5
5
  import { cva } from 'class-variance-authority';
@@ -59,5 +59,5 @@ function RadioGroupItem(_a) {
59
59
  }
60
60
 
61
61
  export { RadioGroup, RadioGroupItem, radioVariants };
62
- //# sourceMappingURL=chunk-X4IBONFB.js.map
63
- //# sourceMappingURL=chunk-X4IBONFB.js.map
62
+ //# sourceMappingURL=chunk-J3DGYZGK.js.map
63
+ //# sourceMappingURL=chunk-J3DGYZGK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/radio-group.tsx"],"names":["RadioGroupPrimitive"],"mappings":";;;;;;;AASA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,8ZAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,OAAA,EAAS,yBAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAKA,SAAS,WAAW,EAAA,EAA0C;AAA1C,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EA5BtB,GA4BoB,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACpB,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS;AAAA,KAAA,EACjC,KAAA;AAAA,GACN;AAEJ;AASA,SAAS,eAAe,EAAA,EAKA;AALA,EAAA,IAAA,EAAA,GAAA,EAAA,EACtB;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP;AAAA,GAhDF,GA6CwB,EAAA,EAInB,KAAA,GAAA,SAAA,CAJmB,EAAA,EAInB;AAAA,IAHH,WAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,GAAG,KAAA,EAAO,aAAA,CAAc,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EACnD,KAAA,CAAA,EAHL;AAAA,MAKC,QAAA,kBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,wCAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA;AACvC,KAAA;AAAA,GACF;AAEJ","file":"chunk-X4IBONFB.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { CircleIcon } from \"lucide-react\"\nimport { RadioGroup as RadioGroupPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst radioVariants = cva(\n \"aspect-square rounded-full border border-neutral-border bg-neutral-bg shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:text-foreground dark:aria-invalid:ring-destructive/40\",\n {\n variants: {\n size: {\n sm: \"size-3.5 [&_svg]:size-2\",\n default: \"size-4 [&_svg]:size-2.5\",\n lg: \"size-5 [&_svg]:size-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface RadioGroupProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Root> {}\n\nfunction RadioGroup({ className, ...props }: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n )\n}\n\nexport interface RadioGroupItemProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n VariantProps<typeof radioVariants> {\n /** Classe de tema aplicada apenas no estado checked (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction RadioGroupItem({\n className,\n size = \"default\",\n theme,\n ...props\n}: RadioGroupItemProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(theme, radioVariants({ size }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"grid place-content-center text-current\"\n >\n <CircleIcon className=\"fill-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem, radioVariants }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/radio-group.tsx"],"names":["RadioGroupPrimitive"],"mappings":";;;;;;;AASA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,8ZAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yBAAA;AAAA,QACJ,OAAA,EAAS,yBAAA;AAAA,QACT,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ;AAKA,SAAS,WAAW,EAAA,EAA0C;AAA1C,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EA5BtB,GA4BoB,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACpB,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS;AAAA,KAAA,EACjC,KAAA;AAAA,GACN;AAEJ;AASA,SAAS,eAAe,EAAA,EAKA;AALA,EAAA,IAAA,EAAA,GAAA,EAAA,EACtB;AAAA,IAAA,SAAA;AAAA,IACA,IAAA,GAAO,SAAA;AAAA,IACP;AAAA,GAhDF,GA6CwB,EAAA,EAInB,KAAA,GAAA,SAAA,CAJmB,EAAA,EAInB;AAAA,IAHH,WAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GAAA,CAAA;AAGA,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,GAAG,KAAA,EAAO,aAAA,CAAc,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EACnD,KAAA,CAAA,EAHL;AAAA,MAKC,QAAA,kBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,wCAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA;AACvC,KAAA;AAAA,GACF;AAEJ","file":"chunk-J3DGYZGK.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { CircleIcon } from \"lucide-react\"\nimport { RadioGroup as RadioGroupPrimitive } from \"radix-ui\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst radioVariants = cva(\n \"aspect-square rounded-full border border-neutral-border bg-neutral-bg shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:text-foreground dark:aria-invalid:ring-destructive/40\",\n {\n variants: {\n size: {\n sm: \"size-3.5 [&_svg]:size-2\",\n default: \"size-4 [&_svg]:size-2.5\",\n lg: \"size-5 [&_svg]:size-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport interface RadioGroupProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Root> {}\n\nfunction RadioGroup({ className, ...props }: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n )\n}\n\nexport interface RadioGroupItemProps\n extends React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n VariantProps<typeof radioVariants> {\n /** Classe de tema aplicada apenas no estado checked (ex: \"theme-class\") */\n theme?: string\n}\n\nfunction RadioGroupItem({\n className,\n size = \"default\",\n theme,\n ...props\n}: RadioGroupItemProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(theme, radioVariants({ size }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"grid place-content-center text-current\"\n >\n <CircleIcon className=\"fill-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem, radioVariants }\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadValues, __spreadProps } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadValues, __spreadProps } from './chunk-2NMEKWO5.js';
3
3
  import * as React from 'react';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
@@ -98,5 +98,5 @@ function MessageRating(_a) {
98
98
  }
99
99
 
100
100
  export { DEFAULT_MESSAGE_RATING_LABELS, MessageRating };
101
- //# sourceMappingURL=chunk-6OYSTCGP.js.map
102
- //# sourceMappingURL=chunk-6OYSTCGP.js.map
101
+ //# sourceMappingURL=chunk-JDGM46MB.js.map
102
+ //# sourceMappingURL=chunk-JDGM46MB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ui/message-rating.tsx"],"names":[],"mappings":"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","file":"chunk-6OYSTCGP.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* ─── Types ───────────────────────────────────────────────────── */\n\nexport type MessageRatingValue = 1 | 2 | 3 | 4 | 5\n\nexport interface RatingLabel {\n emoji: string\n title: string\n subtitle: string\n}\n\nexport type MessageRatingLabels = Record<MessageRatingValue, RatingLabel>\n\nexport interface MessageRatingProps extends Omit<React.ComponentProps<\"div\">, \"onChange\" | \"defaultValue\"> {\n /** Valor selecionado (controlado) */\n value?: MessageRatingValue | null\n /** Valor inicial (nao controlado) */\n defaultValue?: MessageRatingValue | null\n /** Callback ao escolher uma opcao */\n onChange?: (value: MessageRatingValue) => void\n /** Layout. \"auto\" usa vertical (column) abaixo de sm e horizontal acima */\n layout?: \"horizontal\" | \"vertical\" | \"auto\"\n /** Labels customizadas (default: PT-BR) */\n labels?: Partial<MessageRatingLabels>\n /** Desabilita a interacao */\n disabled?: boolean\n /** Titulo opcional acima das opcoes */\n title?: string\n}\n\n/* ─── Default labels (PT-BR) ──────────────────────────────────── */\n\nexport const DEFAULT_MESSAGE_RATING_LABELS: MessageRatingLabels = {\n 1: { emoji: \"😡\", title: \"Disappointing\", subtitle: \"Decepcionante\" },\n 2: { emoji: \"😞\", title: \"Frustrating\", subtitle: \"Frustrante\" },\n 3: { emoji: \"😐\", title: \"Ok\", subtitle: \"Tudo bem\" },\n 4: { emoji: \"🙂\", title: \"Helpful\", subtitle: \"Ajudou\" },\n 5: { emoji: \"😍\", title: \"Loved it\", subtitle: \"Amei\" },\n}\n\n// Backwards-compatible alias usado internamente\nconst DEFAULT_LABELS = DEFAULT_MESSAGE_RATING_LABELS\n\nconst VALUES: MessageRatingValue[] = [1, 2, 3, 4, 5]\n\n/* ─── Component ───────────────────────────────────────────────── */\n\nfunction MessageRating({\n value: controlledValue,\n defaultValue,\n onChange,\n layout = \"auto\",\n labels: labelOverrides,\n disabled = false,\n title,\n className,\n ...props\n}: MessageRatingProps) {\n const [internalValue, setInternalValue] = React.useState<MessageRatingValue | null>(\n defaultValue ?? null\n )\n const isControlled = controlledValue !== undefined\n const value = isControlled ? controlledValue : internalValue\n\n const labels: MessageRatingLabels = React.useMemo(\n () => ({ ...DEFAULT_LABELS, ...labelOverrides }),\n [labelOverrides]\n )\n\n const handleSelect = (v: MessageRatingValue) => {\n if (disabled) return\n if (!isControlled) setInternalValue(v)\n onChange?.(v)\n }\n\n /* Layout: vertical (column) sobrescreve so essa direcao. horizontal/auto\n sao iguais agora (sempre flex-row, pois mobile e desktop diferem no\n conteudo de cada botao, nao na direcao do container). */\n const layoutClass = layout === \"vertical\" ? \"flex-col\" : \"flex-row\"\n\n return (\n <div\n data-slot=\"message-rating\"\n role=\"radiogroup\"\n aria-label={title ?? \"Avalie sua experiencia\"}\n className={cn(\"flex flex-col gap-3\", className)}\n {...props}\n >\n {title && (\n <p className=\"text-sm font-medium text-foreground\">{title}</p>\n )}\n <div className={cn(\"flex gap-2\", layoutClass)}>\n {VALUES.map((v) => {\n const label = labels[v]\n const selected = value === v\n return (\n <button\n key={v}\n type=\"button\"\n role=\"radio\"\n aria-checked={selected}\n aria-label={`${label.title} — ${label.subtitle}`}\n disabled={disabled}\n onClick={() => handleSelect(v)}\n className={cn(\n /* Base — shared mobile/desktop */\n \"flex items-center transition-[color,background-color,border-color,box-shadow] outline-none\",\n \"hover:opacity-90 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n /* Mobile: compacto, justa o emoji centralizado em pill cinza */\n \"rounded-xl px-3 py-2 justify-center\",\n /* Desktop: card completo com texto, flex-1, border */\n \"sm:flex-1 sm:gap-3 sm:px-3 sm:py-2.5 sm:text-left sm:justify-start sm:border\",\n /* Selected vs unselected (estados diferentes por breakpoint) */\n selected\n ? \"bg-accent theme-brand sm:border-primary sm:shadow-xs\"\n : \"bg-muted sm:bg-transparent sm:border-neutral-border\"\n )}\n >\n <span className=\"text-base sm:text-2xl leading-none shrink-0\" aria-hidden=\"true\">\n {label.emoji}\n </span>\n {/* Labels: visiveis apenas no desktop */}\n <span className=\"hidden sm:flex sm:flex-col min-w-0\">\n <span className=\"text-sm font-medium leading-tight text-foreground truncate\">\n {label.title}\n </span>\n <span className=\"text-xs text-muted-foreground leading-tight truncate\">\n {label.subtitle}\n </span>\n </span>\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport { MessageRating }\n"]}
1
+ {"version":3,"sources":["../src/components/ui/message-rating.tsx"],"names":[],"mappings":"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","file":"chunk-JDGM46MB.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n/* ─── Types ───────────────────────────────────────────────────── */\n\nexport type MessageRatingValue = 1 | 2 | 3 | 4 | 5\n\nexport interface RatingLabel {\n emoji: string\n title: string\n subtitle: string\n}\n\nexport type MessageRatingLabels = Record<MessageRatingValue, RatingLabel>\n\nexport interface MessageRatingProps extends Omit<React.ComponentProps<\"div\">, \"onChange\" | \"defaultValue\"> {\n /** Valor selecionado (controlado) */\n value?: MessageRatingValue | null\n /** Valor inicial (nao controlado) */\n defaultValue?: MessageRatingValue | null\n /** Callback ao escolher uma opcao */\n onChange?: (value: MessageRatingValue) => void\n /** Layout. \"auto\" usa vertical (column) abaixo de sm e horizontal acima */\n layout?: \"horizontal\" | \"vertical\" | \"auto\"\n /** Labels customizadas (default: PT-BR) */\n labels?: Partial<MessageRatingLabels>\n /** Desabilita a interacao */\n disabled?: boolean\n /** Titulo opcional acima das opcoes */\n title?: string\n}\n\n/* ─── Default labels (PT-BR) ──────────────────────────────────── */\n\nexport const DEFAULT_MESSAGE_RATING_LABELS: MessageRatingLabels = {\n 1: { emoji: \"😡\", title: \"Disappointing\", subtitle: \"Decepcionante\" },\n 2: { emoji: \"😞\", title: \"Frustrating\", subtitle: \"Frustrante\" },\n 3: { emoji: \"😐\", title: \"Ok\", subtitle: \"Tudo bem\" },\n 4: { emoji: \"🙂\", title: \"Helpful\", subtitle: \"Ajudou\" },\n 5: { emoji: \"😍\", title: \"Loved it\", subtitle: \"Amei\" },\n}\n\n// Backwards-compatible alias usado internamente\nconst DEFAULT_LABELS = DEFAULT_MESSAGE_RATING_LABELS\n\nconst VALUES: MessageRatingValue[] = [1, 2, 3, 4, 5]\n\n/* ─── Component ───────────────────────────────────────────────── */\n\nfunction MessageRating({\n value: controlledValue,\n defaultValue,\n onChange,\n layout = \"auto\",\n labels: labelOverrides,\n disabled = false,\n title,\n className,\n ...props\n}: MessageRatingProps) {\n const [internalValue, setInternalValue] = React.useState<MessageRatingValue | null>(\n defaultValue ?? null\n )\n const isControlled = controlledValue !== undefined\n const value = isControlled ? controlledValue : internalValue\n\n const labels: MessageRatingLabels = React.useMemo(\n () => ({ ...DEFAULT_LABELS, ...labelOverrides }),\n [labelOverrides]\n )\n\n const handleSelect = (v: MessageRatingValue) => {\n if (disabled) return\n if (!isControlled) setInternalValue(v)\n onChange?.(v)\n }\n\n /* Layout: vertical (column) sobrescreve so essa direcao. horizontal/auto\n sao iguais agora (sempre flex-row, pois mobile e desktop diferem no\n conteudo de cada botao, nao na direcao do container). */\n const layoutClass = layout === \"vertical\" ? \"flex-col\" : \"flex-row\"\n\n return (\n <div\n data-slot=\"message-rating\"\n role=\"radiogroup\"\n aria-label={title ?? \"Avalie sua experiencia\"}\n className={cn(\"flex flex-col gap-3\", className)}\n {...props}\n >\n {title && (\n <p className=\"text-sm font-medium text-foreground\">{title}</p>\n )}\n <div className={cn(\"flex gap-2\", layoutClass)}>\n {VALUES.map((v) => {\n const label = labels[v]\n const selected = value === v\n return (\n <button\n key={v}\n type=\"button\"\n role=\"radio\"\n aria-checked={selected}\n aria-label={`${label.title} — ${label.subtitle}`}\n disabled={disabled}\n onClick={() => handleSelect(v)}\n className={cn(\n /* Base — shared mobile/desktop */\n \"flex items-center transition-[color,background-color,border-color,box-shadow] outline-none\",\n \"hover:opacity-90 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n /* Mobile: compacto, justa o emoji centralizado em pill cinza */\n \"rounded-xl px-3 py-2 justify-center\",\n /* Desktop: card completo com texto, flex-1, border */\n \"sm:flex-1 sm:gap-3 sm:px-3 sm:py-2.5 sm:text-left sm:justify-start sm:border\",\n /* Selected vs unselected (estados diferentes por breakpoint) */\n selected\n ? \"bg-accent theme-brand sm:border-primary sm:shadow-xs\"\n : \"bg-muted sm:bg-transparent sm:border-neutral-border\"\n )}\n >\n <span className=\"text-base sm:text-2xl leading-none shrink-0\" aria-hidden=\"true\">\n {label.emoji}\n </span>\n {/* Labels: visiveis apenas no desktop */}\n <span className=\"hidden sm:flex sm:flex-col min-w-0\">\n <span className=\"text-sm font-medium leading-tight text-foreground truncate\">\n {label.title}\n </span>\n <span className=\"text-xs text-muted-foreground leading-tight truncate\">\n {label.subtitle}\n </span>\n </span>\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport { MessageRating }\n"]}
@@ -1,5 +1,5 @@
1
- import { FluencypassIcon } from './chunk-5LZHXNBV.js';
2
- import { cn } from './chunk-TYCPXAXF.js';
1
+ import { FluencypassIcon } from './chunk-WMOGNJWP.js';
2
+ import { cn } from './chunk-QTH4LSO6.js';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  var sizeMap = {
@@ -27,5 +27,5 @@ function GroupTalkLogo({ size = "sm", className }) {
27
27
  }
28
28
 
29
29
  export { ClassLogo, GroupTalkLogo, PrivateTalkLogo, ProductLogo };
30
- //# sourceMappingURL=chunk-66CU7J2I.js.map
31
- //# sourceMappingURL=chunk-66CU7J2I.js.map
30
+ //# sourceMappingURL=chunk-JDPJQSZV.js.map
31
+ //# sourceMappingURL=chunk-JDPJQSZV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/product-logo.tsx"],"names":[],"mappings":";;;;AAGA,IAAM,OAAA,GAAU;AAAA,EACd,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,WAAA,EAAa,KAAK,OAAA,EAAQ;AAAA,EAC1D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA;AACrD,CAAA;AAUO,SAAS,YAAY,EAAE,KAAA,EAAO,IAAA,GAAO,IAAA,EAAM,WAAU,EAAqB;AAC/E,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,GAAA,EAAI,GAAI,QAAQ,IAAI,CAAA;AACxC,EAAA,4BACG,MAAA,EAAA,EAAK,SAAA,EAAW,GAAG,0BAAA,EAA4B,GAAA,EAAK,SAAS,CAAA,EAC5D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAW,IAAA,EAAM,CAAA;AAAA,wBACjC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,IAAI,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACpC,CAAA;AAEJ;AAGO,SAAS,SAAA,CAAU,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACpG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,OAAA,EAAQ,MAAY,SAAA,EAAsB,CAAA;AACtE;AAEO,SAAS,eAAA,CAAgB,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AAC1G,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,cAAA,EAAe,MAAY,SAAA,EAAsB,CAAA;AAC7E;AAEO,SAAS,aAAA,CAAc,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACxG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,YAAA,EAAa,MAAY,SAAA,EAAsB,CAAA;AAC3E","file":"chunk-66CU7J2I.js","sourcesContent":["import { cn } from \"@/lib/utils\"\nimport { FluencypassIcon } from \"@/components/fluencypass-logo\"\n\nconst sizeMap = {\n xs: { icon: \"h-4 w-auto\", text: \"button-sm\", gap: \"gap-1\" },\n sm: { icon: \"h-5 w-auto\", text: \"heading-xs\", gap: \"gap-1\" },\n md: { icon: \"h-6 w-auto\", text: \"heading-sm\", gap: \"gap-1\" },\n lg: { icon: \"h-7 w-auto\", text: \"heading-md\", gap: \"gap-2\" },\n xl: { icon: \"h-8 w-auto\", text: \"heading-lg\", gap: \"gap-2\" },\n} as const\n\ntype ProductLogoSize = keyof typeof sizeMap\n\ninterface ProductLogoProps {\n label: string\n size?: ProductLogoSize\n className?: string\n}\n\nexport function ProductLogo({ label, size = \"sm\", className }: ProductLogoProps) {\n const { icon, text, gap } = sizeMap[size]\n return (\n <span className={cn(\"inline-flex items-center\", gap, className)}>\n <FluencypassIcon className={icon} />\n <span className={cn(text)}>{label}</span>\n </span>\n )\n}\n\n/* Pre-built product logos */\nexport function ClassLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Class\" size={size} className={className} />\n}\n\nexport function PrivateTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Private Talk\" size={size} className={className} />\n}\n\nexport function GroupTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Group Talk\" size={size} className={className} />\n}\n"]}
1
+ {"version":3,"sources":["../src/components/product-logo.tsx"],"names":[],"mappings":";;;;AAGA,IAAM,OAAA,GAAU;AAAA,EACd,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,WAAA,EAAa,KAAK,OAAA,EAAQ;AAAA,EAC1D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA,EAAQ;AAAA,EAC3D,IAAI,EAAE,IAAA,EAAM,cAAc,IAAA,EAAM,YAAA,EAAc,KAAK,OAAA;AACrD,CAAA;AAUO,SAAS,YAAY,EAAE,KAAA,EAAO,IAAA,GAAO,IAAA,EAAM,WAAU,EAAqB;AAC/E,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,GAAA,EAAI,GAAI,QAAQ,IAAI,CAAA;AACxC,EAAA,4BACG,MAAA,EAAA,EAAK,SAAA,EAAW,GAAG,0BAAA,EAA4B,GAAA,EAAK,SAAS,CAAA,EAC5D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,WAAW,IAAA,EAAM,CAAA;AAAA,wBACjC,MAAA,EAAA,EAAK,SAAA,EAAW,EAAA,CAAG,IAAI,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACpC,CAAA;AAEJ;AAGO,SAAS,SAAA,CAAU,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACpG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,OAAA,EAAQ,MAAY,SAAA,EAAsB,CAAA;AACtE;AAEO,SAAS,eAAA,CAAgB,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AAC1G,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,cAAA,EAAe,MAAY,SAAA,EAAsB,CAAA;AAC7E;AAEO,SAAS,aAAA,CAAc,EAAE,IAAA,GAAO,IAAA,EAAM,WAAU,EAAmD;AACxG,EAAA,uBAAO,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAM,YAAA,EAAa,MAAY,SAAA,EAAsB,CAAA;AAC3E","file":"chunk-JDPJQSZV.js","sourcesContent":["import { cn } from \"@/lib/utils\"\nimport { FluencypassIcon } from \"@/components/fluencypass-logo\"\n\nconst sizeMap = {\n xs: { icon: \"h-4 w-auto\", text: \"button-sm\", gap: \"gap-1\" },\n sm: { icon: \"h-5 w-auto\", text: \"heading-xs\", gap: \"gap-1\" },\n md: { icon: \"h-6 w-auto\", text: \"heading-sm\", gap: \"gap-1\" },\n lg: { icon: \"h-7 w-auto\", text: \"heading-md\", gap: \"gap-2\" },\n xl: { icon: \"h-8 w-auto\", text: \"heading-lg\", gap: \"gap-2\" },\n} as const\n\ntype ProductLogoSize = keyof typeof sizeMap\n\ninterface ProductLogoProps {\n label: string\n size?: ProductLogoSize\n className?: string\n}\n\nexport function ProductLogo({ label, size = \"sm\", className }: ProductLogoProps) {\n const { icon, text, gap } = sizeMap[size]\n return (\n <span className={cn(\"inline-flex items-center\", gap, className)}>\n <FluencypassIcon className={icon} />\n <span className={cn(text)}>{label}</span>\n </span>\n )\n}\n\n/* Pre-built product logos */\nexport function ClassLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Class\" size={size} className={className} />\n}\n\nexport function PrivateTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Private Talk\" size={size} className={className} />\n}\n\nexport function GroupTalkLogo({ size = \"sm\", className }: { size?: ProductLogoSize; className?: string }) {\n return <ProductLogo label=\"Group Talk\" size={size} className={className} />\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { cn } from './chunk-TYCPXAXF.js';
2
- import { __objRest, __spreadProps, __spreadValues } from './chunk-YINJ5YZ5.js';
1
+ import { cn } from './chunk-QTH4LSO6.js';
2
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-2NMEKWO5.js';
3
3
  import * as React from 'react';
4
4
  import { Trash2, Pause, Play, Mic, ChevronLeft, Lock, ChevronUp, Send } from 'lucide-react';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -932,5 +932,5 @@ function MessageBar(_a) {
932
932
  }
933
933
 
934
934
  export { MessageBar };
935
- //# sourceMappingURL=chunk-CWMXYPWK.js.map
936
- //# sourceMappingURL=chunk-CWMXYPWK.js.map
935
+ //# sourceMappingURL=chunk-JGZGZIGR.js.map
936
+ //# sourceMappingURL=chunk-JGZGZIGR.js.map