@etus/ui 0.4.0-beta.21 → 0.4.0-beta.22

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 (234) hide show
  1. package/dist/{chunk-KBU4KJKC.js → chunk-2DFFIU44.js} +4 -4
  2. package/dist/{chunk-KBU4KJKC.js.map → chunk-2DFFIU44.js.map} +1 -1
  3. package/dist/{chunk-MR6RUPVT.js → chunk-2JDLQ4VR.js} +3 -3
  4. package/dist/{chunk-MR6RUPVT.js.map → chunk-2JDLQ4VR.js.map} +1 -1
  5. package/dist/{chunk-JE46MFMN.js → chunk-2LVRSLWI.js} +4 -4
  6. package/dist/{chunk-JE46MFMN.js.map → chunk-2LVRSLWI.js.map} +1 -1
  7. package/dist/{chunk-GRODCJS4.js → chunk-2VOKY2TU.js} +4 -4
  8. package/dist/{chunk-GRODCJS4.js.map → chunk-2VOKY2TU.js.map} +1 -1
  9. package/dist/{chunk-UC5J6GWG.js → chunk-3TRT6TKW.js} +6 -6
  10. package/dist/chunk-3TRT6TKW.js.map +1 -0
  11. package/dist/{chunk-UZZCEQH4.js → chunk-3XVOI4HK.js} +3 -3
  12. package/dist/{chunk-UZZCEQH4.js.map → chunk-3XVOI4HK.js.map} +1 -1
  13. package/dist/{chunk-WGKOYZRI.js → chunk-4S6CPTSO.js} +5 -5
  14. package/dist/chunk-4S6CPTSO.js.map +1 -0
  15. package/dist/{chunk-GVNG5ME6.js → chunk-6CO3FRGG.js} +201 -17
  16. package/dist/chunk-6CO3FRGG.js.map +1 -0
  17. package/dist/chunk-7MJS37Q4.js +135 -0
  18. package/dist/chunk-7MJS37Q4.js.map +1 -0
  19. package/dist/{chunk-QXET2TML.js → chunk-A33MLHXO.js} +3 -3
  20. package/dist/{chunk-QXET2TML.js.map → chunk-A33MLHXO.js.map} +1 -1
  21. package/dist/{chunk-STADVFL2.js → chunk-A6BDDZ27.js} +3 -3
  22. package/dist/{chunk-STADVFL2.js.map → chunk-A6BDDZ27.js.map} +1 -1
  23. package/dist/{chunk-WSDWJX4Y.js → chunk-AGXEGVSY.js} +3 -3
  24. package/dist/{chunk-WSDWJX4Y.js.map → chunk-AGXEGVSY.js.map} +1 -1
  25. package/dist/{chunk-R42LSLJL.js → chunk-AOLVER6U.js} +3 -3
  26. package/dist/{chunk-R42LSLJL.js.map → chunk-AOLVER6U.js.map} +1 -1
  27. package/dist/{chunk-YMQDTTO7.js → chunk-CEUARW3D.js} +3 -3
  28. package/dist/{chunk-YMQDTTO7.js.map → chunk-CEUARW3D.js.map} +1 -1
  29. package/dist/{chunk-LDK6ADKM.js → chunk-DZV32N5V.js} +4 -4
  30. package/dist/{chunk-LDK6ADKM.js.map → chunk-DZV32N5V.js.map} +1 -1
  31. package/dist/{chunk-2SUZS6GZ.js → chunk-E5UFATRY.js} +11 -3
  32. package/dist/chunk-E5UFATRY.js.map +1 -0
  33. package/dist/{chunk-RQBYBBMP.js → chunk-EINYBB7T.js} +5 -5
  34. package/dist/{chunk-RQBYBBMP.js.map → chunk-EINYBB7T.js.map} +1 -1
  35. package/dist/{chunk-4LZ53BAG.js → chunk-EKKJXJX7.js} +4 -2
  36. package/dist/chunk-EKKJXJX7.js.map +1 -0
  37. package/dist/{chunk-4OWRNWHW.js → chunk-FCVFYUCL.js} +14 -5
  38. package/dist/chunk-FCVFYUCL.js.map +1 -0
  39. package/dist/{chunk-6QVXMYKH.js → chunk-FGTYI4ZG.js} +3 -3
  40. package/dist/{chunk-6QVXMYKH.js.map → chunk-FGTYI4ZG.js.map} +1 -1
  41. package/dist/{chunk-6G5QK3SU.js → chunk-FLXU5LWR.js} +44 -4
  42. package/dist/chunk-FLXU5LWR.js.map +1 -0
  43. package/dist/{chunk-P4WMDGAQ.js → chunk-G5JO3Q3K.js} +3 -3
  44. package/dist/{chunk-P4WMDGAQ.js.map → chunk-G5JO3Q3K.js.map} +1 -1
  45. package/dist/{chunk-RMJVCJ6U.js → chunk-GKG2LRGY.js} +6 -6
  46. package/dist/chunk-GKG2LRGY.js.map +1 -0
  47. package/dist/{chunk-N7VMQWM3.js → chunk-GN6B4W3G.js} +4 -4
  48. package/dist/{chunk-N7VMQWM3.js.map → chunk-GN6B4W3G.js.map} +1 -1
  49. package/dist/chunk-GX2VJT7D.js +136 -0
  50. package/dist/chunk-GX2VJT7D.js.map +1 -0
  51. package/dist/{chunk-MNYU5MHO.js → chunk-H4KC2YSL.js} +5 -5
  52. package/dist/{chunk-MNYU5MHO.js.map → chunk-H4KC2YSL.js.map} +1 -1
  53. package/dist/{chunk-GLHKHYJY.js → chunk-IARO2PPN.js} +55 -15
  54. package/dist/chunk-IARO2PPN.js.map +1 -0
  55. package/dist/{chunk-ELRIFGMN.js → chunk-JWXZFGNT.js} +30 -6
  56. package/dist/chunk-JWXZFGNT.js.map +1 -0
  57. package/dist/{chunk-Y4FEW7SR.js → chunk-K5RHYIFF.js} +16 -6
  58. package/dist/chunk-K5RHYIFF.js.map +1 -0
  59. package/dist/{chunk-T3LWBCVR.js → chunk-LKCOHB3C.js} +36 -3
  60. package/dist/chunk-LKCOHB3C.js.map +1 -0
  61. package/dist/{chunk-7PX3WBR3.js → chunk-LWIIO75I.js} +5 -3
  62. package/dist/chunk-LWIIO75I.js.map +1 -0
  63. package/dist/{chunk-U7TPJMGY.js → chunk-MR3IPJAO.js} +6 -2
  64. package/dist/chunk-MR3IPJAO.js.map +1 -0
  65. package/dist/chunk-MVL4DVRW.js +177 -0
  66. package/dist/chunk-MVL4DVRW.js.map +1 -0
  67. package/dist/{chunk-L4OQ6BJ5.js → chunk-N3DBRKUS.js} +3 -3
  68. package/dist/{chunk-L4OQ6BJ5.js.map → chunk-N3DBRKUS.js.map} +1 -1
  69. package/dist/{chunk-TIPKU427.js → chunk-N7DAU4LE.js} +3 -3
  70. package/dist/{chunk-TIPKU427.js.map → chunk-N7DAU4LE.js.map} +1 -1
  71. package/dist/{chunk-ZVSMLMMS.js → chunk-NORI6ECA.js} +44 -4
  72. package/dist/chunk-NORI6ECA.js.map +1 -0
  73. package/dist/{chunk-7MLRRVOX.js → chunk-NT4GLWNR.js} +3 -3
  74. package/dist/{chunk-7MLRRVOX.js.map → chunk-NT4GLWNR.js.map} +1 -1
  75. package/dist/{chunk-7AR5QRRX.js → chunk-NZNAR4HJ.js} +27 -11
  76. package/dist/chunk-NZNAR4HJ.js.map +1 -0
  77. package/dist/{chunk-TNSMTINE.js → chunk-OJIFG4LW.js} +3 -3
  78. package/dist/{chunk-TNSMTINE.js.map → chunk-OJIFG4LW.js.map} +1 -1
  79. package/dist/{chunk-PTXC4KPQ.js → chunk-OSHGYI2O.js} +4 -4
  80. package/dist/{chunk-PTXC4KPQ.js.map → chunk-OSHGYI2O.js.map} +1 -1
  81. package/dist/chunk-OW5R4KST.js +108 -0
  82. package/dist/chunk-OW5R4KST.js.map +1 -0
  83. package/dist/{chunk-QJOWG2D4.js → chunk-PVF23ZX2.js} +3 -3
  84. package/dist/{chunk-QJOWG2D4.js.map → chunk-PVF23ZX2.js.map} +1 -1
  85. package/dist/{chunk-KHCHATTD.js → chunk-PYCQBP4O.js} +4 -4
  86. package/dist/{chunk-KHCHATTD.js.map → chunk-PYCQBP4O.js.map} +1 -1
  87. package/dist/{chunk-KDNTSZF5.js → chunk-Q4E7OG7J.js} +3 -3
  88. package/dist/{chunk-KDNTSZF5.js.map → chunk-Q4E7OG7J.js.map} +1 -1
  89. package/dist/{chunk-KLFYTLF3.js → chunk-Q7MAQ7MO.js} +3 -3
  90. package/dist/{chunk-KLFYTLF3.js.map → chunk-Q7MAQ7MO.js.map} +1 -1
  91. package/dist/{chunk-S6BREP2G.js → chunk-QMCQIOCP.js} +21 -7
  92. package/dist/chunk-QMCQIOCP.js.map +1 -0
  93. package/dist/{chunk-SSKSWSVO.js → chunk-R2Z64IC3.js} +4 -4
  94. package/dist/{chunk-SSKSWSVO.js.map → chunk-R2Z64IC3.js.map} +1 -1
  95. package/dist/{chunk-UNHPLKMR.js → chunk-RK27HS7W.js} +3 -3
  96. package/dist/{chunk-UNHPLKMR.js.map → chunk-RK27HS7W.js.map} +1 -1
  97. package/dist/{chunk-IKLFWGFS.js → chunk-RTSAERFS.js} +7 -7
  98. package/dist/{chunk-IKLFWGFS.js.map → chunk-RTSAERFS.js.map} +1 -1
  99. package/dist/{chunk-EO4NGM5W.js → chunk-S7HXZ5T3.js} +65 -16
  100. package/dist/chunk-S7HXZ5T3.js.map +1 -0
  101. package/dist/{chunk-I5RDX6O3.js → chunk-TBPPBA3S.js} +31 -25
  102. package/dist/chunk-TBPPBA3S.js.map +1 -0
  103. package/dist/{chunk-TDANAN5A.js → chunk-TD2EFGHO.js} +7 -3
  104. package/dist/chunk-TD2EFGHO.js.map +1 -0
  105. package/dist/{chunk-3R6MY3YJ.js → chunk-TVAIT3F5.js} +3 -3
  106. package/dist/{chunk-3R6MY3YJ.js.map → chunk-TVAIT3F5.js.map} +1 -1
  107. package/dist/{chunk-VHJ6ALIE.js → chunk-TX4GUAZ6.js} +11 -3
  108. package/dist/chunk-TX4GUAZ6.js.map +1 -0
  109. package/dist/{chunk-7XJQYAGY.js → chunk-U55YU7DB.js} +22 -6
  110. package/dist/chunk-U55YU7DB.js.map +1 -0
  111. package/dist/{chunk-5GV4LDX7.js → chunk-VI3QWOII.js} +4 -2
  112. package/dist/chunk-VI3QWOII.js.map +1 -0
  113. package/dist/{chunk-PXR6CZIL.js → chunk-VYCXCOUH.js} +3 -3
  114. package/dist/{chunk-PXR6CZIL.js.map → chunk-VYCXCOUH.js.map} +1 -1
  115. package/dist/{chunk-SKI25Q7O.js → chunk-W72PXQDH.js} +4 -4
  116. package/dist/{chunk-SKI25Q7O.js.map → chunk-W72PXQDH.js.map} +1 -1
  117. package/dist/{chunk-4SFBDK4E.js → chunk-WTKHA2NF.js} +3 -3
  118. package/dist/{chunk-4SFBDK4E.js.map → chunk-WTKHA2NF.js.map} +1 -1
  119. package/dist/{chunk-KXJ3SEW7.js → chunk-YNZ6T4IU.js} +13 -5
  120. package/dist/chunk-YNZ6T4IU.js.map +1 -0
  121. package/dist/{chunk-7QEFKWUR.js → chunk-YZBCJDYO.js} +4 -4
  122. package/dist/{chunk-7QEFKWUR.js.map → chunk-YZBCJDYO.js.map} +1 -1
  123. package/dist/{chunk-PVIIIQJI.js → chunk-ZTD3QXLY.js} +4 -4
  124. package/dist/{chunk-PVIIIQJI.js.map → chunk-ZTD3QXLY.js.map} +1 -1
  125. package/dist/{chunk-HHWUROMA.js → chunk-ZZFCKHE2.js} +4 -4
  126. package/dist/{chunk-HHWUROMA.js.map → chunk-ZZFCKHE2.js.map} +1 -1
  127. package/dist/components/advanced/Calendar/index.js +3 -3
  128. package/dist/components/advanced/Command/index.js +2 -2
  129. package/dist/components/advanced/EventCalendar/index.js +3 -3
  130. package/dist/components/advanced/FilterBuilder/index.js +5 -5
  131. package/dist/components/advanced/MarkdownEditor/index.js +2 -2
  132. package/dist/components/advanced/ReportBuilder/index.js +4 -4
  133. package/dist/components/advanced/index.js +12 -12
  134. package/dist/components/data-display/Banner/index.js +1 -1
  135. package/dist/components/data-display/BarChart/index.js +1 -1
  136. package/dist/components/data-display/Carousel/index.js +3 -3
  137. package/dist/components/data-display/DataTable/FilterBuilder/index.js +5 -5
  138. package/dist/components/data-display/DataTable/index.js +9 -9
  139. package/dist/components/data-display/ImageGallery/index.js +4 -4
  140. package/dist/components/data-display/Item/index.js +1 -1
  141. package/dist/components/data-display/KPICard/index.js +1 -1
  142. package/dist/components/data-display/List/index.js +2 -2
  143. package/dist/components/data-display/RadarChart/index.js +1 -1
  144. package/dist/components/data-display/RadialChart/index.js +1 -1
  145. package/dist/components/data-display/index.js +35 -35
  146. package/dist/components/feedback/AlertDialog/index.js +3 -3
  147. package/dist/components/feedback/ConfirmModal/index.js +4 -4
  148. package/dist/components/feedback/Dialog/index.js +1 -1
  149. package/dist/components/feedback/ErrorPage/index.js +1 -1
  150. package/dist/components/feedback/Notification/index.js +2 -2
  151. package/dist/components/feedback/index.js +9 -9
  152. package/dist/components/forms/DatePicker/index.js +4 -4
  153. package/dist/components/forms/DateRangePicker/index.js +5 -5
  154. package/dist/components/forms/EmailInput/index.js +3 -3
  155. package/dist/components/forms/InputGroup/index.js +5 -5
  156. package/dist/components/forms/NumberInput/index.js +2 -2
  157. package/dist/components/forms/PasswordInput/index.js +3 -3
  158. package/dist/components/forms/PaymentInput/index.js +1 -1
  159. package/dist/components/forms/PhoneInput/index.js +1 -1
  160. package/dist/components/forms/RadioGroup/index.js +1 -1
  161. package/dist/components/forms/Rating/index.js +1 -1
  162. package/dist/components/forms/SearchInput/index.js +3 -3
  163. package/dist/components/forms/Switch/index.js +1 -1
  164. package/dist/components/forms/TagsInput/index.js +1 -1
  165. package/dist/components/forms/TextInput/index.js +2 -2
  166. package/dist/components/forms/URLInput/index.js +3 -3
  167. package/dist/components/forms/index.js +25 -25
  168. package/dist/components/index.js +137 -137
  169. package/dist/components/layout/Collapsible/index.js +1 -1
  170. package/dist/components/layout/index.js +4 -4
  171. package/dist/components/navigation/AccountSwitch/index.js +3 -3
  172. package/dist/components/navigation/Breadcrumb/index.js +1 -1
  173. package/dist/components/navigation/ContextMenu/index.js +1 -1
  174. package/dist/components/navigation/DropdownMenu/index.js +1 -1
  175. package/dist/components/navigation/Pagination/index.js +3 -3
  176. package/dist/components/navigation/Sidebar/index.js +8 -7
  177. package/dist/components/navigation/index.js +17 -16
  178. package/dist/components/primitives/Avatar/index.js +1 -1
  179. package/dist/components/primitives/Button/index.js +2 -2
  180. package/dist/components/primitives/ButtonGroup/index.js +1 -1
  181. package/dist/components/primitives/ConfirmButton/index.js +4 -4
  182. package/dist/components/primitives/Icon/index.js +1 -1
  183. package/dist/components/primitives/Kbd/index.js +1 -1
  184. package/dist/components/primitives/Link/index.js +1 -1
  185. package/dist/components/primitives/ProgressCircle/index.js +1 -1
  186. package/dist/components/primitives/SplitButton/index.js +2 -2
  187. package/dist/components/primitives/Text/index.js +1 -1
  188. package/dist/components/primitives/index.js +16 -16
  189. package/dist/components/workflow/ApprovalFlow/index.js +4 -4
  190. package/dist/components/workflow/CommentSystem/index.js +4 -4
  191. package/dist/components/workflow/Dashboard/index.js +3 -3
  192. package/dist/components/workflow/DashboardBuilder/index.js +5 -5
  193. package/dist/components/workflow/KanbanBoard/index.js +4 -4
  194. package/dist/components/workflow/ReportGenerator/index.js +3 -3
  195. package/dist/components/workflow/TaskStatus/index.js +2 -2
  196. package/dist/components/workflow/Wizard/index.js +3 -3
  197. package/dist/components/workflow/index.js +16 -16
  198. package/dist/hooks/index.js +1 -1
  199. package/dist/index.d.ts +303 -42
  200. package/dist/index.js +137 -137
  201. package/dist/styles.css +27 -8
  202. package/package.json +2 -2
  203. package/dist/chunk-2SUZS6GZ.js.map +0 -1
  204. package/dist/chunk-4LZ53BAG.js.map +0 -1
  205. package/dist/chunk-4OWRNWHW.js.map +0 -1
  206. package/dist/chunk-5GV4LDX7.js.map +0 -1
  207. package/dist/chunk-6G5QK3SU.js.map +0 -1
  208. package/dist/chunk-6VEQLD2P.js +0 -75
  209. package/dist/chunk-6VEQLD2P.js.map +0 -1
  210. package/dist/chunk-7AR5QRRX.js.map +0 -1
  211. package/dist/chunk-7PX3WBR3.js.map +0 -1
  212. package/dist/chunk-7XJQYAGY.js.map +0 -1
  213. package/dist/chunk-ELRIFGMN.js.map +0 -1
  214. package/dist/chunk-EO4NGM5W.js.map +0 -1
  215. package/dist/chunk-GLHKHYJY.js.map +0 -1
  216. package/dist/chunk-GVNG5ME6.js.map +0 -1
  217. package/dist/chunk-I5RDX6O3.js.map +0 -1
  218. package/dist/chunk-JUZ4JQWH.js +0 -69
  219. package/dist/chunk-JUZ4JQWH.js.map +0 -1
  220. package/dist/chunk-K4UCALQQ.js +0 -67
  221. package/dist/chunk-K4UCALQQ.js.map +0 -1
  222. package/dist/chunk-KXJ3SEW7.js.map +0 -1
  223. package/dist/chunk-RMJVCJ6U.js.map +0 -1
  224. package/dist/chunk-S6BREP2G.js.map +0 -1
  225. package/dist/chunk-T3LWBCVR.js.map +0 -1
  226. package/dist/chunk-TDANAN5A.js.map +0 -1
  227. package/dist/chunk-U7TPJMGY.js.map +0 -1
  228. package/dist/chunk-UC5J6GWG.js.map +0 -1
  229. package/dist/chunk-VHJ6ALIE.js.map +0 -1
  230. package/dist/chunk-WGKOYZRI.js.map +0 -1
  231. package/dist/chunk-WUS45IZW.js +0 -36
  232. package/dist/chunk-WUS45IZW.js.map +0 -1
  233. package/dist/chunk-Y4FEW7SR.js.map +0 -1
  234. package/dist/chunk-ZVSMLMMS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/workflow/Wizard/Wizard.variants.ts","../src/components/workflow/Wizard/Wizard.tsx"],"names":[],"mappings":"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","file":"chunk-STADVFL2.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Main wizard container variants\n */\nexport const wizardVariants = cva(\"flex gap-6\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"flex-col rounded-lg border border-border bg-card\",\n default: \"flex-col\",\n vertical: \"flex-row\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard content area variants\n */\nexport const wizardContentVariants = cva(\"flex-1\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"border-t border-border\",\n default: \"\",\n vertical: \"border-l border-border\",\n },\n size: {\n default: \"p-6\",\n lg: \"p-8\",\n sm: \"p-4\",\n },\n },\n})\n\n/**\n * Wizard stepper area variants\n */\nexport const wizardStepperVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"p-6 pb-0\",\n default: \"\",\n vertical: \"min-w-48\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard actions area variants\n */\nexport const wizardActionsVariants = cva(\"flex items-center gap-3\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"justify-between border-t border-border p-6\",\n default: \"justify-between\",\n vertical: \"justify-end border-t border-border pt-4\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard step content wrapper variants\n */\nexport const wizardStepContentVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n },\n variants: {\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n","import type { StepItem } from \"../Stepper\"\nimport type { WizardProps, WizardStep } from \"./Wizard.types\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Button } from \"../../primitives/Button\"\nimport { Stepper } from \"../Stepper\"\nimport {\n wizardActionsVariants,\n wizardContentVariants,\n wizardStepperVariants,\n wizardVariants,\n} from \"./Wizard.variants\"\n\n/**\n * Convert WizardStep to StepItem for the Stepper component\n */\nfunction convertToStepItem(step: WizardStep, index: number, currentStep: number): StepItem {\n return {\n description: step.description,\n icon: step.icon,\n id: step.id,\n label: step.title,\n status: index < currentStep ? \"complete\" : index === currentStep ? \"active\" : \"pending\",\n }\n}\n\n/**\n * Wizard component guides users through a multi-step process.\n *\n * @example\n * ```tsx\n * const steps = [\n * { id: \"1\", title: \"Dados Pessoais\", content: <PersonalForm /> },\n * { id: \"2\", title: \"Endereço\", content: <AddressForm /> },\n * { id: \"3\", title: \"Conclusão\", content: <Summary /> },\n * ]\n *\n * <Wizard\n * steps={steps}\n * currentStep={0}\n * onStepChange={setStep}\n * onComplete={handleComplete}\n * />\n * ```\n */\nfunction Wizard({\n backLabel = \"Voltar\",\n canGoBack = true,\n canSkip = false,\n className,\n completeLabel = \"Completar\",\n currentStep = 0,\n isLoading = false,\n nextLabel = \"Próximo\",\n onComplete,\n onStepChange,\n onValidate,\n ref,\n showActions = true,\n showSteps = true,\n size = \"default\",\n skipLabel = \"Pular\",\n steps,\n variant = \"default\",\n ...props\n}: WizardProps) {\n const [isValidating, setIsValidating] = useState(false)\n const contentRef = useRef<HTMLDivElement>(null)\n const isLastStep = currentStep >= steps.length - 1\n const isFirstStep = currentStep === 0\n const currentStepData = steps[currentStep]\n\n // Convert steps for the Stepper component\n const stepperSteps: StepItem[] = steps.map((step, index) =>\n convertToStepItem(step, index, currentStep)\n )\n\n // Focus management - move focus to content when step changes\n useEffect(() => {\n if (contentRef.current) {\n contentRef.current.focus()\n }\n }, [currentStep])\n\n // Handle next step\n const handleNext = useCallback(async () => {\n if (isLoading || isValidating) return\n\n // Run step validation if provided\n if (currentStepData?.validate) {\n setIsValidating(true)\n try {\n const isValid = await currentStepData.validate()\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n // Run onValidate callback if provided\n if (onValidate) {\n setIsValidating(true)\n try {\n const isValid = await Promise.resolve(onValidate(currentStep))\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n if (isLastStep) {\n onComplete?.()\n } else {\n onStepChange?.(currentStep + 1)\n }\n }, [currentStep, currentStepData, isLastStep, isLoading, isValidating, onComplete, onStepChange, onValidate])\n\n // Handle back step\n const handleBack = useCallback(() => {\n if (isLoading || isValidating || !canGoBack || isFirstStep) return\n onStepChange?.(currentStep - 1)\n }, [canGoBack, currentStep, isFirstStep, isLoading, isValidating, onStepChange])\n\n // Handle skip step\n const handleSkip = useCallback(() => {\n if (isLoading || isValidating || !canSkip || isLastStep) return\n if (currentStepData?.optional) {\n onStepChange?.(currentStep + 1)\n }\n }, [canSkip, currentStep, currentStepData?.optional, isLastStep, isLoading, isValidating, onStepChange])\n\n // Handle step click from stepper\n const handleStepClick = useCallback(\n (stepIndex: number) => {\n if (isLoading || isValidating) return\n // Only allow clicking on completed steps or the next step\n if (stepIndex <= currentStep) {\n onStepChange?.(stepIndex)\n }\n },\n [currentStep, isLoading, isValidating, onStepChange]\n )\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault()\n void handleNext()\n } else if (event.key === \"Escape\") {\n // Could implement cancel confirmation here\n }\n },\n [handleNext]\n )\n\n const isVertical = variant === \"vertical\"\n\n return (\n <div\n ref={ref}\n className={cn(\n wizardVariants({ size, variant }),\n isLoading && \"pointer-events-none opacity-50\",\n className\n )}\n aria-label={`Wizard: Step ${String(currentStep + 1)} of ${String(steps.length)}`}\n data-slot=\"wizard\"\n role=\"region\"\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Stepper */}\n {showSteps && (\n <div\n className={wizardStepperVariants({ size, variant })}\n data-slot=\"wizard-stepper\"\n >\n <Stepper\n clickable\n currentStep={currentStep}\n size={size === \"lg\" ? \"lg\" : size === \"sm\" ? \"sm\" : \"default\"}\n steps={stepperSteps}\n variant={isVertical ? \"vertical\" : \"default\"}\n onStepClick={handleStepClick}\n />\n </div>\n )}\n\n {/* Content */}\n <div\n ref={contentRef}\n className={wizardContentVariants({ size, variant })}\n data-slot=\"wizard-content\"\n tabIndex={-1}\n >\n {/* Step content */}\n <div\n aria-label={currentStepData?.title}\n data-slot=\"wizard-step\"\n data-step={currentStep + 1}\n >\n {currentStepData?.title && (\n <h2\n className=\"mb-4 text-lg font-semibold\"\n data-slot=\"wizard-step-title\"\n >\n {currentStepData.title}\n </h2>\n )}\n <div data-slot=\"wizard-step-form\">{currentStepData?.content}</div>\n </div>\n\n {/* Actions */}\n {showActions && (\n <div\n className={cn(wizardActionsVariants({ size, variant }), \"mt-6\")}\n data-slot=\"wizard-actions\"\n >\n <div className=\"flex gap-3\">\n {/* Back button */}\n {canGoBack && !isFirstStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-back\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"outline\"\n onClick={handleBack}\n >\n {backLabel}\n </Button>\n )}\n\n {/* Skip button */}\n {canSkip && currentStepData?.optional && !isLastStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-skip\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"ghost\"\n onClick={handleSkip}\n >\n {skipLabel}\n </Button>\n )}\n </div>\n\n {/* Next/Complete button */}\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-next\"\n disabled={isLoading || isValidating}\n type=\"button\"\n onClick={() => void handleNext()}\n >\n {isLoading || isValidating ? \"Carregando...\" : isLastStep ? completeLabel : nextLabel}\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { Wizard }\n"]}
1
+ {"version":3,"sources":["../src/components/workflow/Wizard/Wizard.variants.ts","../src/components/workflow/Wizard/Wizard.tsx"],"names":[],"mappings":"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","file":"chunk-A6BDDZ27.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Main wizard container variants\n */\nexport const wizardVariants = cva(\"flex gap-6\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"flex-col rounded-lg border border-border bg-card\",\n default: \"flex-col\",\n vertical: \"flex-row\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard content area variants\n */\nexport const wizardContentVariants = cva(\"flex-1\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"border-t border-border\",\n default: \"\",\n vertical: \"border-l border-border\",\n },\n size: {\n default: \"p-6\",\n lg: \"p-8\",\n sm: \"p-4\",\n },\n },\n})\n\n/**\n * Wizard stepper area variants\n */\nexport const wizardStepperVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"p-6 pb-0\",\n default: \"\",\n vertical: \"min-w-48\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard actions area variants\n */\nexport const wizardActionsVariants = cva(\"flex items-center gap-3\", {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n variant: {\n card: \"justify-between border-t border-border p-6\",\n default: \"justify-between\",\n vertical: \"justify-end border-t border-border pt-4\",\n },\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n\n/**\n * Wizard step content wrapper variants\n */\nexport const wizardStepContentVariants = cva(\"\", {\n defaultVariants: {\n size: \"default\",\n },\n variants: {\n size: {\n default: \"\",\n lg: \"\",\n sm: \"\",\n },\n },\n})\n","import type { StepItem } from \"../Stepper\"\nimport type { WizardProps, WizardStep } from \"./Wizard.types\"\n\nimport { useCallback, useEffect, useRef, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Button } from \"../../primitives/Button\"\nimport { Stepper } from \"../Stepper\"\nimport {\n wizardActionsVariants,\n wizardContentVariants,\n wizardStepperVariants,\n wizardVariants,\n} from \"./Wizard.variants\"\n\n/**\n * Convert WizardStep to StepItem for the Stepper component\n */\nfunction convertToStepItem(step: WizardStep, index: number, currentStep: number): StepItem {\n return {\n description: step.description,\n icon: step.icon,\n id: step.id,\n label: step.title,\n status: index < currentStep ? \"complete\" : index === currentStep ? \"active\" : \"pending\",\n }\n}\n\n/**\n * Wizard component guides users through a multi-step process.\n *\n * @example\n * ```tsx\n * const steps = [\n * { id: \"1\", title: \"Dados Pessoais\", content: <PersonalForm /> },\n * { id: \"2\", title: \"Endereço\", content: <AddressForm /> },\n * { id: \"3\", title: \"Conclusão\", content: <Summary /> },\n * ]\n *\n * <Wizard\n * steps={steps}\n * currentStep={0}\n * onStepChange={setStep}\n * onComplete={handleComplete}\n * />\n * ```\n */\nfunction Wizard({\n backLabel = \"Voltar\",\n canGoBack = true,\n canSkip = false,\n className,\n completeLabel = \"Completar\",\n currentStep = 0,\n isLoading = false,\n nextLabel = \"Próximo\",\n onComplete,\n onStepChange,\n onValidate,\n ref,\n showActions = true,\n showSteps = true,\n size = \"default\",\n skipLabel = \"Pular\",\n steps,\n variant = \"default\",\n ...props\n}: WizardProps) {\n const [isValidating, setIsValidating] = useState(false)\n const contentRef = useRef<HTMLDivElement>(null)\n const isLastStep = currentStep >= steps.length - 1\n const isFirstStep = currentStep === 0\n const currentStepData = steps[currentStep]\n\n // Convert steps for the Stepper component\n const stepperSteps: StepItem[] = steps.map((step, index) =>\n convertToStepItem(step, index, currentStep)\n )\n\n // Focus management - move focus to content when step changes\n useEffect(() => {\n if (contentRef.current) {\n contentRef.current.focus()\n }\n }, [currentStep])\n\n // Handle next step\n const handleNext = useCallback(async () => {\n if (isLoading || isValidating) return\n\n // Run step validation if provided\n if (currentStepData?.validate) {\n setIsValidating(true)\n try {\n const isValid = await currentStepData.validate()\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n // Run onValidate callback if provided\n if (onValidate) {\n setIsValidating(true)\n try {\n const isValid = await Promise.resolve(onValidate(currentStep))\n if (!isValid) {\n setIsValidating(false)\n return\n }\n } catch {\n setIsValidating(false)\n return\n }\n setIsValidating(false)\n }\n\n if (isLastStep) {\n onComplete?.()\n } else {\n onStepChange?.(currentStep + 1)\n }\n }, [currentStep, currentStepData, isLastStep, isLoading, isValidating, onComplete, onStepChange, onValidate])\n\n // Handle back step\n const handleBack = useCallback(() => {\n if (isLoading || isValidating || !canGoBack || isFirstStep) return\n onStepChange?.(currentStep - 1)\n }, [canGoBack, currentStep, isFirstStep, isLoading, isValidating, onStepChange])\n\n // Handle skip step\n const handleSkip = useCallback(() => {\n if (isLoading || isValidating || !canSkip || isLastStep) return\n if (currentStepData?.optional) {\n onStepChange?.(currentStep + 1)\n }\n }, [canSkip, currentStep, currentStepData?.optional, isLastStep, isLoading, isValidating, onStepChange])\n\n // Handle step click from stepper\n const handleStepClick = useCallback(\n (stepIndex: number) => {\n if (isLoading || isValidating) return\n // Only allow clicking on completed steps or the next step\n if (stepIndex <= currentStep) {\n onStepChange?.(stepIndex)\n }\n },\n [currentStep, isLoading, isValidating, onStepChange]\n )\n\n // Handle keyboard navigation\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault()\n void handleNext()\n } else if (event.key === \"Escape\") {\n // Could implement cancel confirmation here\n }\n },\n [handleNext]\n )\n\n const isVertical = variant === \"vertical\"\n\n return (\n <div\n ref={ref}\n className={cn(\n wizardVariants({ size, variant }),\n isLoading && \"pointer-events-none opacity-50\",\n className\n )}\n aria-label={`Wizard: Step ${String(currentStep + 1)} of ${String(steps.length)}`}\n data-slot=\"wizard\"\n role=\"region\"\n onKeyDown={handleKeyDown}\n {...props}\n >\n {/* Stepper */}\n {showSteps && (\n <div\n className={wizardStepperVariants({ size, variant })}\n data-slot=\"wizard-stepper\"\n >\n <Stepper\n clickable\n currentStep={currentStep}\n size={size === \"lg\" ? \"lg\" : size === \"sm\" ? \"sm\" : \"default\"}\n steps={stepperSteps}\n variant={isVertical ? \"vertical\" : \"default\"}\n onStepClick={handleStepClick}\n />\n </div>\n )}\n\n {/* Content */}\n <div\n ref={contentRef}\n className={wizardContentVariants({ size, variant })}\n data-slot=\"wizard-content\"\n tabIndex={-1}\n >\n {/* Step content */}\n <div\n aria-label={currentStepData?.title}\n data-slot=\"wizard-step\"\n data-step={currentStep + 1}\n >\n {currentStepData?.title && (\n <h2\n className=\"mb-4 text-lg font-semibold\"\n data-slot=\"wizard-step-title\"\n >\n {currentStepData.title}\n </h2>\n )}\n <div data-slot=\"wizard-step-form\">{currentStepData?.content}</div>\n </div>\n\n {/* Actions */}\n {showActions && (\n <div\n className={cn(wizardActionsVariants({ size, variant }), \"mt-6\")}\n data-slot=\"wizard-actions\"\n >\n <div className=\"flex gap-3\">\n {/* Back button */}\n {canGoBack && !isFirstStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-back\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"outline\"\n onClick={handleBack}\n >\n {backLabel}\n </Button>\n )}\n\n {/* Skip button */}\n {canSkip && currentStepData?.optional && !isLastStep && (\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-skip\"\n disabled={isLoading || isValidating}\n type=\"button\"\n variant=\"ghost\"\n onClick={handleSkip}\n >\n {skipLabel}\n </Button>\n )}\n </div>\n\n {/* Next/Complete button */}\n <Button\n aria-disabled={isLoading || isValidating}\n data-slot=\"wizard-next\"\n disabled={isLoading || isValidating}\n type=\"button\"\n onClick={() => void handleNext()}\n >\n {isLoading || isValidating ? \"Carregando...\" : isLastStep ? completeLabel : nextLabel}\n </Button>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { Wizard }\n"]}
@@ -1,4 +1,4 @@
1
- import { TextInput } from './chunk-K4UCALQQ.js';
1
+ import { TextInput } from './chunk-GX2VJT7D.js';
2
2
  import { cn } from './chunk-RVAYDRMA.js';
3
3
  import { SearchIcon, XIcon } from 'lucide-react';
4
4
  import * as React from 'react';
@@ -115,5 +115,5 @@ function SearchInput({
115
115
  }
116
116
 
117
117
  export { SearchInput, searchClearButtonVariants, searchIconVariants };
118
- //# sourceMappingURL=chunk-WSDWJX4Y.js.map
119
- //# sourceMappingURL=chunk-WSDWJX4Y.js.map
118
+ //# sourceMappingURL=chunk-AGXEGVSY.js.map
119
+ //# sourceMappingURL=chunk-AGXEGVSY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/forms/SearchInput/SearchInput.variants.ts","../src/components/forms/SearchInput/SearchInput.tsx"],"names":[],"mappings":"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","file":"chunk-WSDWJX4Y.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Search icon visual variants\n */\nexport const searchIconVariants = cva(\n \"flex items-center justify-center text-muted-foreground/80\",\n {\n variants: {\n size: {\n xs: \"[&_svg]:size-3\",\n sm: \"[&_svg]:size-3.5\",\n md: \"[&_svg]:size-4\",\n lg: \"[&_svg]:size-4.5\",\n xl: \"[&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Clear button visual variants\n */\nexport const searchClearButtonVariants = cva(\n [\n \"flex items-center justify-center\",\n \"text-muted-foreground hover:text-foreground\",\n \"transition-colors rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n ],\n {\n variants: {\n size: {\n xs: \"size-4 [&_svg]:size-3\",\n sm: \"size-5 [&_svg]:size-3.5\",\n md: \"size-6 [&_svg]:size-4\",\n lg: \"size-7 [&_svg]:size-4.5\",\n xl: \"size-8 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n\nexport type SearchIconVariantProps = VariantProps<typeof searchIconVariants>\nexport type SearchClearButtonVariantProps = VariantProps<typeof searchClearButtonVariants>\n","\"use client\"\n\nimport type { SearchInputProps } from \"./SearchInput.types\"\n\nimport { SearchIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { TextInput } from \"../TextInput\"\nimport { searchClearButtonVariants, searchIconVariants } from \"./SearchInput.variants\"\n\n/**\n * SearchInput component with search icon and optional clear button.\n * Now uses TextInput internally for consistency.\n *\n * @example\n * ```tsx\n * <SearchInput placeholder=\"Search...\" />\n * ```\n */\nfunction SearchInput({\n className,\n size = \"md\",\n variant = \"default\",\n showClearButton = true,\n onClear,\n searchIcon,\n clearIcon,\n disabled,\n value,\n defaultValue,\n onChange,\n ...props\n}: SearchInputProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\")\n\n // Determine if component is controlled\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n const hasValue = currentValue !== \"\"\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalValue(e.target.value)\n }\n onChange?.(e)\n },\n [isControlled, onChange]\n )\n\n const handleClear = React.useCallback(() => {\n if (!isControlled) {\n setInternalValue(\"\")\n }\n onClear?.()\n }, [isControlled, onClear])\n\n const showClear = showClearButton && hasValue\n\n const leading = (\n <span className={cn(searchIconVariants({ size }))} data-slot=\"search-icon\">\n {searchIcon ?? <SearchIcon aria-hidden=\"true\" />}\n </span>\n )\n\n const trailing = showClear ? (\n <button\n aria-label=\"Clear search\"\n className={cn(searchClearButtonVariants({ size }))}\n data-slot=\"clear-button\"\n disabled={disabled}\n tabIndex={-1}\n type=\"button\"\n onClick={handleClear}\n >\n {clearIcon ?? <XIcon aria-hidden=\"true\" />}\n </button>\n ) : undefined\n\n return (\n <TextInput\n className={cn(\n // Hide native search clear button (WebKit)\n \"[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden\",\n className\n )}\n data-slot=\"search-input\"\n disabled={disabled}\n leadingIcon={leading}\n size={size}\n trailingIcon={trailing}\n trailingIconInteractive={true}\n type=\"search\"\n value={currentValue}\n variant={variant}\n onChange={handleChange}\n {...props}\n />\n )\n}\n\nexport { SearchInput }"]}
1
+ {"version":3,"sources":["../src/components/forms/SearchInput/SearchInput.variants.ts","../src/components/forms/SearchInput/SearchInput.tsx"],"names":[],"mappings":"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","file":"chunk-AGXEGVSY.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Search icon visual variants\n */\nexport const searchIconVariants = cva(\n \"flex items-center justify-center text-muted-foreground/80\",\n {\n variants: {\n size: {\n xs: \"[&_svg]:size-3\",\n sm: \"[&_svg]:size-3.5\",\n md: \"[&_svg]:size-4\",\n lg: \"[&_svg]:size-4.5\",\n xl: \"[&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * Clear button visual variants\n */\nexport const searchClearButtonVariants = cva(\n [\n \"flex items-center justify-center\",\n \"text-muted-foreground hover:text-foreground\",\n \"transition-colors rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n ],\n {\n variants: {\n size: {\n xs: \"size-4 [&_svg]:size-3\",\n sm: \"size-5 [&_svg]:size-3.5\",\n md: \"size-6 [&_svg]:size-4\",\n lg: \"size-7 [&_svg]:size-4.5\",\n xl: \"size-8 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n\nexport type SearchIconVariantProps = VariantProps<typeof searchIconVariants>\nexport type SearchClearButtonVariantProps = VariantProps<typeof searchClearButtonVariants>\n","\"use client\"\n\nimport type { SearchInputProps } from \"./SearchInput.types\"\n\nimport { SearchIcon, XIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { TextInput } from \"../TextInput\"\nimport { searchClearButtonVariants, searchIconVariants } from \"./SearchInput.variants\"\n\n/**\n * SearchInput component with search icon and optional clear button.\n * Now uses TextInput internally for consistency.\n *\n * @example\n * ```tsx\n * <SearchInput placeholder=\"Search...\" />\n * ```\n */\nfunction SearchInput({\n className,\n size = \"md\",\n variant = \"default\",\n showClearButton = true,\n onClear,\n searchIcon,\n clearIcon,\n disabled,\n value,\n defaultValue,\n onChange,\n ...props\n}: SearchInputProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\")\n\n // Determine if component is controlled\n const isControlled = value !== undefined\n const currentValue = isControlled ? value : internalValue\n const hasValue = currentValue !== \"\"\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalValue(e.target.value)\n }\n onChange?.(e)\n },\n [isControlled, onChange]\n )\n\n const handleClear = React.useCallback(() => {\n if (!isControlled) {\n setInternalValue(\"\")\n }\n onClear?.()\n }, [isControlled, onClear])\n\n const showClear = showClearButton && hasValue\n\n const leading = (\n <span className={cn(searchIconVariants({ size }))} data-slot=\"search-icon\">\n {searchIcon ?? <SearchIcon aria-hidden=\"true\" />}\n </span>\n )\n\n const trailing = showClear ? (\n <button\n aria-label=\"Clear search\"\n className={cn(searchClearButtonVariants({ size }))}\n data-slot=\"clear-button\"\n disabled={disabled}\n tabIndex={-1}\n type=\"button\"\n onClick={handleClear}\n >\n {clearIcon ?? <XIcon aria-hidden=\"true\" />}\n </button>\n ) : undefined\n\n return (\n <TextInput\n className={cn(\n // Hide native search clear button (WebKit)\n \"[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden\",\n className\n )}\n data-slot=\"search-input\"\n disabled={disabled}\n leadingIcon={leading}\n size={size}\n trailingIcon={trailing}\n trailingIconInteractive={true}\n type=\"search\"\n value={currentValue}\n variant={variant}\n onChange={handleChange}\n {...props}\n />\n )\n}\n\nexport { SearchInput }"]}
@@ -1,6 +1,6 @@
1
1
  import { Label } from './chunk-7Y325TBV.js';
2
2
  import { Checkbox } from './chunk-JXEIRIU4.js';
3
- import { Button } from './chunk-L4OQ6BJ5.js';
3
+ import { Button } from './chunk-N3DBRKUS.js';
4
4
  import { cn } from './chunk-RVAYDRMA.js';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { Loader2, AlertCircle, ArrowLeft, ArrowRight, Check, Settings2, Table2, Filter, Eye, Clock, Download, Printer, FileJson, FileSpreadsheet, FileText, Calendar } from 'lucide-react';
@@ -991,5 +991,5 @@ function ReportGenerator({
991
991
  }
992
992
 
993
993
  export { ReportGenerator, configSectionVariants, errorStateVariants, exportButtonGroupVariants, formActionsVariants, loadingStateVariants, previewContainerVariants, previewContentVariants, previewHeaderVariants, reportGeneratorVariants, stepBadgeVariants, stepIndicatorVariants, stepItemVariants, templateCardVariants, templateGridVariants };
994
- //# sourceMappingURL=chunk-R42LSLJL.js.map
995
- //# sourceMappingURL=chunk-R42LSLJL.js.map
994
+ //# sourceMappingURL=chunk-AOLVER6U.js.map
995
+ //# sourceMappingURL=chunk-AOLVER6U.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/workflow/ReportGenerator/ReportGenerator.variants.ts","../src/components/workflow/ReportGenerator/ReportGenerator.tsx"],"names":["FilterIcon"],"mappings":"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","file":"chunk-R42LSLJL.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Tailwind classes are intentionally duplicated across variants */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ReportGenerator container variants\n */\nexport const reportGeneratorVariants = cva(\n [\n \"relative\",\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-card\",\n \"text-card-foreground\",\n ],\n {\n variants: {\n size: {\n default: \"p-6\",\n sm: \"p-4\",\n lg: \"p-8\",\n },\n layout: {\n default: \"\",\n compact: \"max-w-2xl\",\n full: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"default\",\n layout: \"default\",\n },\n }\n)\n\n/**\n * Step indicator variants\n */\nexport const stepIndicatorVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"mb-6\",\n \"pb-6\",\n \"border-b\",\n \"border-border\",\n ],\n {\n variants: {\n size: {\n default: \"gap-4\",\n sm: \"gap-3\",\n lg: \"gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Step item variants\n */\nexport const stepItemVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"text-muted-foreground\",\n active: \"text-primary\",\n complete: \"text-success\",\n },\n clickable: {\n true: \"cursor-pointer hover:text-primary\",\n false: \"\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n clickable: false,\n },\n }\n)\n\n/**\n * Step badge variants\n */\nexport const stepBadgeVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-full\",\n \"font-medium\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"bg-muted text-muted-foreground\",\n active: \"bg-primary text-primary-foreground\",\n complete: \"bg-success text-success-foreground\",\n },\n size: {\n default: \"h-8 w-8 text-sm\",\n sm: \"h-6 w-6 text-xs\",\n lg: \"h-10 w-10 text-base\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Template grid variants\n */\nexport const templateGridVariants = cva(\n [\n \"grid\",\n \"gap-4\",\n ],\n {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n)\n\n/**\n * Template card variants\n */\nexport const templateCardVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-background\",\n \"p-4\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n default: \"hover:border-primary/50 hover:shadow-sm\",\n selected: \"border-primary ring-2 ring-primary/20\",\n },\n },\n defaultVariants: {\n state: \"default\",\n },\n }\n)\n\n/**\n * Configuration section variants\n */\nexport const configSectionVariants = cva(\n [\n \"space-y-4\",\n ],\n {\n variants: {\n size: {\n default: \"mb-6\",\n sm: \"mb-4\",\n lg: \"mb-8\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview container variants\n */\nexport const previewContainerVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-muted/30\",\n \"overflow-hidden\",\n ],\n {\n variants: {\n size: {\n default: \"min-h-96\",\n sm: \"min-h-72\",\n lg: \"min-h-[var(--report-generator-root-min-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview header variants\n */\nexport const previewHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"border-b\",\n \"border-border\",\n \"bg-card\",\n ],\n {\n variants: {\n size: {\n default: \"px-4 py-3\",\n sm: \"px-3 py-2\",\n lg: \"px-6 py-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview content variants\n */\nexport const previewContentVariants = cva(\n [\n \"overflow-auto\",\n ],\n {\n variants: {\n size: {\n default: \"p-4 max-h-96\",\n sm: \"p-3 max-h-72\",\n lg: \"p-6 max-h-[var(--report-generator-output-max-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Export button group variants\n */\nexport const exportButtonGroupVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"gap-2\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n\n/**\n * Form actions variants\n */\nexport const formActionsVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-3\",\n \"pt-6\",\n \"border-t\",\n \"border-border\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n between: \"justify-between\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"between\",\n },\n }\n)\n\n/**\n * Loading state variants\n */\nexport const loadingStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Error state variants\n */\nexport const errorStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n \"text-destructive\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport type ReportGeneratorVariantProps = VariantProps<\n typeof reportGeneratorVariants\n>\nexport type StepIndicatorVariantProps = VariantProps<\n typeof stepIndicatorVariants\n>\nexport type StepBadgeVariantProps = VariantProps<typeof stepBadgeVariants>\nexport type TemplateCardVariantProps = VariantProps<typeof templateCardVariants>\nexport type PreviewContainerVariantProps = VariantProps<\n typeof previewContainerVariants\n>\n","import type {\n ColumnDefinition,\n ExportFormat,\n ReportConfig,\n ReportGeneratorProps,\n ReportGeneratorState,\n ReportTemplate,\n ScheduleConfig,\n} from \"./ReportGenerator.types\"\nimport type { KeyboardEvent } from \"react\"\n\nimport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Calendar,\n Check,\n Clock,\n Download,\n Eye,\n FileJson,\n FileSpreadsheet,\n FileText,\n Filter as FilterIcon,\n Loader2,\n Printer,\n Settings2,\n Table2,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n configSectionVariants,\n errorStateVariants,\n exportButtonGroupVariants,\n formActionsVariants,\n loadingStateVariants,\n previewContainerVariants,\n previewContentVariants,\n previewHeaderVariants,\n reportGeneratorVariants,\n stepBadgeVariants,\n stepIndicatorVariants,\n stepItemVariants,\n templateCardVariants,\n templateGridVariants,\n} from \"./ReportGenerator.variants\"\n\n/**\n * Step definitions\n */\nconst STEPS = [\n { label: \"Selecionar Template\", description: \"Escolha o tipo de relatório\" },\n { label: \"Configurar\", description: \"Defina filtros e colunas\" },\n { label: \"Visualizar\", description: \"Prévia do relatório\" },\n { label: \"Exportar\", description: \"Baixe o relatório\" },\n] as const\n\n/**\n * Export format labels and icons\n */\nconst EXPORT_FORMAT_INFO: Record<\n ExportFormat,\n { icon: React.ComponentType<{ className?: string }>; label: string; }\n> = {\n pdf: { label: \"PDF\", icon: FileText },\n xlsx: { label: \"Excel\", icon: FileSpreadsheet },\n csv: { label: \"CSV\", icon: Table2 },\n json: { label: \"JSON\", icon: FileJson },\n print: { label: \"Imprimir\", icon: Printer },\n}\n\n/**\n * StepIndicator displays the current progress through the wizard\n */\nfunction StepIndicator({\n currentStep,\n completedSteps,\n onStepClick,\n}: {\n completedSteps: number[]\n currentStep: number\n onStepClick?: (step: number) => void\n}) {\n return (\n <div\n aria-label=\"Etapas do gerador de relatórios\"\n className={stepIndicatorVariants()}\n role=\"navigation\"\n >\n {STEPS.map((step, index) => {\n const isComplete = completedSteps.includes(index)\n const isActive = index === currentStep\n const isClickable = onStepClick && (isComplete || index < currentStep)\n\n const handleClick = () => {\n if (isClickable) {\n onStepClick(index)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (isClickable && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n onStepClick(index)\n }\n }\n\n return (\n <div\n key={step.label}\n className={cn(\n stepItemVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n clickable: isClickable,\n }),\n index > 0 && \"flex-1\"\n )}\n aria-current={isActive ? \"step\" : undefined}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {index > 0 && (\n <div\n className={cn(\n \"h-px flex-1 mr-2\",\n isComplete || isActive ? \"bg-primary\" : \"bg-border\"\n )}\n />\n )}\n <div\n className={stepBadgeVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n })}\n >\n {isComplete ? <Check className=\"h-4 w-4\" /> : index + 1}\n </div>\n <div className=\"hidden sm:block\">\n <div className=\"text-sm font-medium\">{step.label}</div>\n <div className=\"text-xs text-muted-foreground\">\n {step.description}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\n/**\n * TemplateSelector displays available templates for selection\n */\nfunction TemplateSelector({\n templates,\n selectedTemplate,\n onSelect,\n}: {\n onSelect: (templateId: string) => void\n selectedTemplate?: string\n templates: ReportTemplate[]\n}) {\n const groupedTemplates = useMemo(() => {\n const groups: Record<string, ReportTemplate[]> = {}\n for (const template of templates) {\n const category = template.category\n groups[category] ??= []\n groups[category].push(template)\n }\n return groups\n }, [templates])\n\n const handleTemplateClick = (templateId: string) => {\n onSelect(templateId)\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>, templateId: string) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onSelect(templateId)\n }\n }\n\n return (\n <div aria-label=\"Templates disponíveis\" className=\"space-y-6\" role=\"listbox\">\n {Object.entries(groupedTemplates).map(([category, categoryTemplates]) => (\n <div key={category} className=\"space-y-3\">\n <h3 className=\"text-sm font-medium text-muted-foreground\">\n {category}\n </h3>\n <div className={templateGridVariants()}>\n {categoryTemplates.map((template) => {\n const isSelected = selectedTemplate === template.id\n return (\n <div\n key={template.id}\n className={templateCardVariants({\n state: isSelected ? \"selected\" : \"default\",\n })}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={0}\n onClick={() => { handleTemplateClick(template.id); }}\n onKeyDown={(e) => { handleKeyDown(e, template.id); }}\n >\n <div className=\"flex items-start gap-3\">\n {template.icon && (\n <div className=\"shrink-0 text-primary\">{template.icon}</div>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"font-medium\">{template.name}</div>\n <div className=\"text-sm text-muted-foreground line-clamp-2\">\n {template.description}\n </div>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n {template.columns.length} colunas\n </div>\n </div>\n {isSelected && (\n <Check className=\"h-5 w-5 text-primary shrink-0\" />\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * ConfigurationForm allows configuring the report\n */\nfunction ConfigurationForm({\n template,\n config,\n onChange,\n showSchedule,\n}: {\n config: Partial<ReportConfig>\n onChange: (config: Partial<ReportConfig>) => void\n showSchedule?: boolean\n template: ReportTemplate\n}) {\n const formId = useId()\n\n const handleColumnToggle = (columnId: string, checked: boolean) => {\n const currentColumns = config.columns ?? template.columns.map((c) => c.id)\n const newColumns = checked\n ? [...currentColumns, columnId]\n : currentColumns.filter((id) => id !== columnId)\n onChange({ ...config, columns: newColumns })\n }\n\n const handleTitleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...config, title: e.target.value })\n }\n\n const handleIncludeChartsChange = (checked: boolean) => {\n onChange({ ...config, includeCharts: checked })\n }\n\n const handleIncludeSummaryChange = (checked: boolean) => {\n onChange({ ...config, includeSummary: checked })\n }\n\n const selectedColumns = config.columns ?? template.columns.map((c) => c.id)\n\n return (\n <div aria-describedby={`${formId}-desc`} className=\"space-y-6\" role=\"form\">\n <p className=\"sr-only\" id={`${formId}-desc`}>\n Configure o relatório selecionando colunas e opções\n </p>\n\n {/* Report Title */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Settings2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Configurações Gerais</h3>\n </div>\n <div className=\"space-y-4\">\n <div>\n <Label htmlFor={`${formId}-title`}>Título do Relatório</Label>\n <input\n className=\"mt-1.5 w-full px-3 py-2 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n id={`${formId}-title`}\n placeholder={template.name}\n type=\"text\"\n value={config.title ?? \"\"}\n onChange={handleTitleChange}\n />\n </div>\n </div>\n </div>\n\n {/* Column Selection */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Table2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Colunas</h3>\n </div>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {template.columns.map((column) => (\n <div key={column.id} className=\"flex items-center gap-2\">\n <Checkbox\n checked={selectedColumns.includes(column.id)}\n id={`${formId}-col-${column.id}`}\n onCheckedChange={(checked) =>\n { handleColumnToggle(column.id, checked === true); }\n }\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-col-${column.id}`}\n >\n {column.label}\n </Label>\n </div>\n ))}\n </div>\n </div>\n\n {/* Filters Section */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <FilterIcon className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Filtros</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {template.defaultFilters && template.defaultFilters.length > 0\n ? `${String(template.defaultFilters.length)} filtro(s) configurado(s)`\n : \"Nenhum filtro configurado\"}\n </p>\n </div>\n\n {/* Options */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Opções</h3>\n </div>\n <div className=\"space-y-3\">\n {template.charts && template.charts.length > 0 && (\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeCharts ?? true}\n id={`${formId}-charts`}\n onCheckedChange={handleIncludeChartsChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-charts`}\n >\n Incluir gráficos\n </Label>\n </div>\n )}\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeSummary ?? true}\n id={`${formId}-summary`}\n onCheckedChange={handleIncludeSummaryChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-summary`}\n >\n Incluir resumo estatístico\n </Label>\n </div>\n </div>\n </div>\n\n {/* Schedule Option */}\n {showSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Clock className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendamento</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n Configure o agendamento após gerar o relatório\n </p>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * PreviewPanel displays the report preview\n */\nfunction PreviewPanel({\n data,\n columns,\n config,\n branding,\n}: {\n branding?: ReportGeneratorProps[\"branding\"]\n columns: ColumnDefinition[]\n config: ReportConfig\n data: unknown[]\n}) {\n const selectedColumns = columns.filter((c) => config.columns.includes(c.id))\n\n const formatValue = (value: unknown, column: ColumnDefinition): string => {\n if (value === null || value === undefined) return \"-\"\n\n switch (column.type) {\n case \"currency\":\n return new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(Number(value))\n case \"date\":\n return new Intl.DateTimeFormat(\"pt-BR\").format(\n new Date(typeof value === \"string\" || typeof value === \"number\" ? value : 0)\n )\n case \"number\":\n return new Intl.NumberFormat(\"pt-BR\").format(Number(value))\n case \"boolean\":\n return value === true ? \"Sim\" : \"Não\"\n default:\n return typeof value === \"object\" ? JSON.stringify(value) : String(value as boolean | number | string)\n }\n }\n\n return (\n <div className={previewContainerVariants()}>\n <div className={previewHeaderVariants()}>\n <div className=\"flex items-center gap-3\">\n {branding?.logo && (\n <img\n alt={branding.companyName ?? \"Logo\"}\n className=\"h-8 w-auto\"\n src={branding.logo}\n />\n )}\n <div>\n <div className=\"font-semibold\">{config.title || \"Relatório\"}</div>\n {config.description && (\n <div className=\"text-xs text-muted-foreground\">\n {config.description}\n </div>\n )}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n {data.length} registro(s)\n </div>\n </div>\n <div className={previewContentVariants()}>\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b border-border\">\n {selectedColumns.map((column) => (\n <th\n key={column.id}\n className=\"px-3 py-2 text-left font-medium text-muted-foreground\"\n >\n {column.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.slice(0, 10).map((row, rowIndex) => {\n // Generate stable key from row data since preview data has no IDs\n const rowKey = `row-${String(rowIndex)}-${JSON.stringify(Object.values(row as Record<string, unknown>).slice(0, 2))}`\n return (\n <tr key={rowKey} className=\"border-b border-border/50\">\n {selectedColumns.map((column) => (\n <td key={column.id} className=\"px-3 py-2\">\n {formatValue(\n (row as Record<string, unknown>)[column.field],\n column\n )}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n {data.length > 10 && (\n <div className=\"mt-4 text-center text-sm text-muted-foreground\">\n Mostrando 10 de {data.length} registros\n </div>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * ExportPanel displays export options\n */\nfunction ExportPanel({\n exportFormats,\n onExport,\n isExporting,\n showSchedule,\n onSchedule,\n}: {\n exportFormats: ExportFormat[]\n isExporting: boolean\n onExport: (format: ExportFormat) => void\n onSchedule?: () => void\n showSchedule?: boolean\n}) {\n return (\n <div className=\"space-y-6\">\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Download className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Formato de Exportação</h3>\n </div>\n <div className={exportButtonGroupVariants({ align: \"start\" })}>\n {exportFormats.map((format) => {\n const info = EXPORT_FORMAT_INFO[format]\n const Icon = info.icon\n return (\n <Button\n key={format}\n disabled={isExporting}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => { onExport(format); }}\n >\n <Icon className=\"h-4 w-4 mr-2\" />\n {info.label}\n </Button>\n )\n })}\n </div>\n </div>\n\n {showSchedule && onSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Calendar className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendar Relatório</h3>\n </div>\n <Button variant=\"outline\" onClick={onSchedule}>\n <Clock className=\"h-4 w-4 mr-2\" />\n Configurar Agendamento\n </Button>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * ReportGenerator is a wizard-style component for creating and exporting reports\n */\nfunction ReportGenerator({\n templates,\n dataSource,\n defaultTemplate,\n exportFormats = [\"pdf\", \"xlsx\", \"csv\"],\n showPreview = true,\n showSchedule = false,\n maxRows = 10000,\n branding,\n className,\n onGenerate,\n onReportExport,\n onSchedule,\n onReportError,\n onConfigChange,\n size,\n layout,\n}: ReportGeneratorProps) {\n const componentId = useId()\n\n // State\n const [currentStep, setCurrentStep] = useState(0)\n const [completedSteps, setCompletedSteps] = useState<number[]>([])\n const [generatorState, setGeneratorState] =\n useState<ReportGeneratorState>(\"idle\")\n const [selectedTemplateId, setSelectedTemplateId] = useState<string | undefined>(\n defaultTemplate\n )\n const [config, setConfig] = useState<Partial<ReportConfig>>({})\n const [previewData, setPreviewData] = useState<unknown[]>([])\n const [error, setError] = useState<Error | null>(null)\n\n // Computed values\n const selectedTemplate = useMemo(\n () => templates.find((t) => t.id === selectedTemplateId),\n [templates, selectedTemplateId]\n )\n\n const effectiveSteps = useMemo(() => {\n if (!showPreview) {\n return STEPS.filter((_, index) => index !== 2)\n }\n return STEPS\n }, [showPreview])\n\n const isGenerating = generatorState === \"generating\"\n const isExporting = generatorState === \"exporting\"\n\n // Handlers\n const handleTemplateSelect = useCallback(\n (templateId: string) => {\n setSelectedTemplateId(templateId)\n const template = templates.find((t) => t.id === templateId)\n if (template) {\n const initialConfig: Partial<ReportConfig> = {\n templateId,\n title: template.name,\n columns: template.columns.map((c) => c.id),\n filters: template.defaultFilters ?? [],\n includeCharts: true,\n includeSummary: true,\n }\n setConfig(initialConfig)\n onConfigChange?.({ config: initialConfig as ReportConfig })\n }\n },\n [templates, onConfigChange]\n )\n\n const handleConfigChange = useCallback(\n (newConfig: Partial<ReportConfig>) => {\n setConfig(newConfig)\n onConfigChange?.({ config: newConfig as ReportConfig })\n },\n [onConfigChange]\n )\n\n const handleNext = useCallback(() => {\n // Mark current step as complete\n if (!completedSteps.includes(currentStep)) {\n setCompletedSteps((prev) => [...prev, currentStep])\n }\n\n // Moving from template selection to configuration\n if (currentStep === 0 && !selectedTemplateId) {\n return\n }\n\n // Moving to preview step - generate report\n if (currentStep === 1 && showPreview) {\n setGeneratorState(\"generating\")\n try {\n onGenerate?.({ config: config as ReportConfig })\n\n // Simulate data fetching based on data source\n let data: unknown[] = []\n if (dataSource.type === \"static\" && dataSource.data) {\n data = dataSource.data.slice(0, maxRows)\n } else {\n // For API/query, we'd fetch data here\n // For now, use empty array as placeholder\n data = []\n }\n\n setPreviewData(data)\n setGeneratorState(\"preview\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n return\n }\n }\n\n setCurrentStep((prev) => Math.min(prev + 1, effectiveSteps.length - 1))\n }, [\n currentStep,\n completedSteps,\n selectedTemplateId,\n showPreview,\n config,\n dataSource,\n maxRows,\n effectiveSteps.length,\n onGenerate,\n onReportError,\n ])\n\n const handleBack = useCallback(() => {\n setCurrentStep((prev) => Math.max(prev - 1, 0))\n if (generatorState === \"error\") {\n setGeneratorState(\"idle\")\n setError(null)\n }\n }, [generatorState])\n\n const handleStepClick = useCallback(\n (step: number) => {\n if (step < currentStep || completedSteps.includes(step)) {\n setCurrentStep(step)\n }\n },\n [currentStep, completedSteps]\n )\n\n const handleExport = useCallback(\n (format: ExportFormat) => {\n setGeneratorState(\"exporting\")\n try {\n // Create export blob based on format\n const content = JSON.stringify({\n config,\n data: previewData,\n format,\n generatedAt: new Date().toISOString(),\n })\n const blob = new Blob([content], { type: \"application/json\" })\n\n onReportExport?.({ format, data: blob })\n setGeneratorState(\"idle\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n }\n },\n [config, previewData, onReportExport, onReportError]\n )\n\n const handleSchedule = useCallback(() => {\n const schedule: ScheduleConfig = {\n frequency: \"weekly\",\n time: \"09:00\",\n recipients: [],\n format: \"pdf\",\n }\n onSchedule?.({ schedule })\n }, [onSchedule])\n\n // Determine if we can proceed to next step\n const canProceed = useMemo(() => {\n switch (currentStep) {\n case 0:\n return !!selectedTemplateId\n case 1:\n return (\n config.columns && config.columns.length > 0 && !!config.title?.trim()\n )\n default:\n return true\n }\n }, [currentStep, selectedTemplateId, config])\n\n // Render loading state for generation only\n if (isGenerating) {\n return (\n <div\n aria-busy=\"true\"\n aria-describedby={`${componentId}-loading`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"status\"\n >\n <div className={loadingStateVariants()}>\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n <div id={`${componentId}-loading`}>\n <p className=\"font-medium\">Gerando relatório...</p>\n <p className=\"text-sm text-muted-foreground\">\n Por favor, aguarde\n </p>\n </div>\n </div>\n </div>\n )\n }\n\n // Render error state\n if (generatorState === \"error\" && error) {\n return (\n <div\n aria-describedby={`${componentId}-error`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"alert\"\n >\n <div className={errorStateVariants()}>\n <AlertCircle className=\"h-8 w-8\" />\n <div id={`${componentId}-error`}>\n <p className=\"font-medium\">Erro ao gerar relatório</p>\n <p className=\"text-sm\">{error.message}</p>\n </div>\n <Button variant=\"outline\" onClick={handleBack}>\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n aria-describedby={`${componentId}-desc`}\n aria-label=\"Gerador de Relatórios\"\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n data-slot=\"report-generator\"\n role=\"form\"\n >\n <p className=\"sr-only\" id={`${componentId}-desc`}>\n Use este assistente para criar e exportar relatórios personalizados\n </p>\n\n {/* Step Indicator */}\n <StepIndicator\n completedSteps={completedSteps}\n currentStep={currentStep}\n onStepClick={handleStepClick}\n />\n\n {/* Step Content */}\n <div aria-live=\"polite\" className=\"min-h-72\">\n {/* Step 0: Template Selection */}\n {currentStep === 0 && (\n <TemplateSelector\n selectedTemplate={selectedTemplateId}\n templates={templates}\n onSelect={handleTemplateSelect}\n />\n )}\n\n {/* Step 1: Configuration */}\n {currentStep === 1 && selectedTemplate && (\n <ConfigurationForm\n config={config}\n showSchedule={showSchedule}\n template={selectedTemplate}\n onChange={handleConfigChange}\n />\n )}\n\n {/* Step 2: Preview (if enabled) */}\n {currentStep === 2 && showPreview && selectedTemplate && (\n <PreviewPanel\n branding={branding}\n columns={selectedTemplate.columns}\n config={config as ReportConfig}\n data={previewData}\n />\n )}\n\n {/* Step 3/2: Export */}\n {((currentStep === 3 && showPreview) ||\n (currentStep === 2 && !showPreview)) && (\n <ExportPanel\n exportFormats={exportFormats}\n isExporting={isExporting}\n showSchedule={showSchedule}\n onExport={handleExport}\n onSchedule={showSchedule ? handleSchedule : undefined}\n />\n )}\n </div>\n\n {/* Navigation Actions */}\n <div className={formActionsVariants()}>\n <Button\n disabled={currentStep === 0}\n variant=\"outline\"\n onClick={handleBack}\n >\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n {currentStep < effectiveSteps.length - 1 ? (\n <Button disabled={!canProceed} onClick={handleNext}>\n Próximo\n <ArrowRight className=\"h-4 w-4 ml-2\" />\n </Button>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { ReportGenerator }\n"]}
1
+ {"version":3,"sources":["../src/components/workflow/ReportGenerator/ReportGenerator.variants.ts","../src/components/workflow/ReportGenerator/ReportGenerator.tsx"],"names":["FilterIcon"],"mappings":"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","file":"chunk-AOLVER6U.js","sourcesContent":["/* eslint-disable sonarjs/no-duplicate-string -- Tailwind classes are intentionally duplicated across variants */\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * ReportGenerator container variants\n */\nexport const reportGeneratorVariants = cva(\n [\n \"relative\",\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-card\",\n \"text-card-foreground\",\n ],\n {\n variants: {\n size: {\n default: \"p-6\",\n sm: \"p-4\",\n lg: \"p-8\",\n },\n layout: {\n default: \"\",\n compact: \"max-w-2xl\",\n full: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"default\",\n layout: \"default\",\n },\n }\n)\n\n/**\n * Step indicator variants\n */\nexport const stepIndicatorVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"mb-6\",\n \"pb-6\",\n \"border-b\",\n \"border-border\",\n ],\n {\n variants: {\n size: {\n default: \"gap-4\",\n sm: \"gap-3\",\n lg: \"gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Step item variants\n */\nexport const stepItemVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-2\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"text-muted-foreground\",\n active: \"text-primary\",\n complete: \"text-success\",\n },\n clickable: {\n true: \"cursor-pointer hover:text-primary\",\n false: \"\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n clickable: false,\n },\n }\n)\n\n/**\n * Step badge variants\n */\nexport const stepBadgeVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"rounded-full\",\n \"font-medium\",\n \"transition-colors\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n pending: \"bg-muted text-muted-foreground\",\n active: \"bg-primary text-primary-foreground\",\n complete: \"bg-success text-success-foreground\",\n },\n size: {\n default: \"h-8 w-8 text-sm\",\n sm: \"h-6 w-6 text-xs\",\n lg: \"h-10 w-10 text-base\",\n },\n },\n defaultVariants: {\n state: \"pending\",\n size: \"default\",\n },\n }\n)\n\n/**\n * Template grid variants\n */\nexport const templateGridVariants = cva(\n [\n \"grid\",\n \"gap-4\",\n ],\n {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n },\n defaultVariants: {\n columns: 3,\n },\n }\n)\n\n/**\n * Template card variants\n */\nexport const templateCardVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-background\",\n \"p-4\",\n \"cursor-pointer\",\n \"transition-all\",\n \"duration-200\",\n ],\n {\n variants: {\n state: {\n default: \"hover:border-primary/50 hover:shadow-sm\",\n selected: \"border-primary ring-2 ring-primary/20\",\n },\n },\n defaultVariants: {\n state: \"default\",\n },\n }\n)\n\n/**\n * Configuration section variants\n */\nexport const configSectionVariants = cva(\n [\n \"space-y-4\",\n ],\n {\n variants: {\n size: {\n default: \"mb-6\",\n sm: \"mb-4\",\n lg: \"mb-8\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview container variants\n */\nexport const previewContainerVariants = cva(\n [\n \"rounded-lg\",\n \"border\",\n \"border-border\",\n \"bg-muted/30\",\n \"overflow-hidden\",\n ],\n {\n variants: {\n size: {\n default: \"min-h-96\",\n sm: \"min-h-72\",\n lg: \"min-h-[var(--report-generator-root-min-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview header variants\n */\nexport const previewHeaderVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-between\",\n \"border-b\",\n \"border-border\",\n \"bg-card\",\n ],\n {\n variants: {\n size: {\n default: \"px-4 py-3\",\n sm: \"px-3 py-2\",\n lg: \"px-6 py-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Preview content variants\n */\nexport const previewContentVariants = cva(\n [\n \"overflow-auto\",\n ],\n {\n variants: {\n size: {\n default: \"p-4 max-h-96\",\n sm: \"p-3 max-h-72\",\n lg: \"p-6 max-h-[var(--report-generator-output-max-height-lg)]\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Export button group variants\n */\nexport const exportButtonGroupVariants = cva(\n [\n \"flex\",\n \"flex-wrap\",\n \"gap-2\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"end\",\n },\n }\n)\n\n/**\n * Form actions variants\n */\nexport const formActionsVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"gap-3\",\n \"pt-6\",\n \"border-t\",\n \"border-border\",\n ],\n {\n variants: {\n align: {\n start: \"justify-start\",\n between: \"justify-between\",\n end: \"justify-end\",\n },\n },\n defaultVariants: {\n align: \"between\",\n },\n }\n)\n\n/**\n * Loading state variants\n */\nexport const loadingStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\n/**\n * Error state variants\n */\nexport const errorStateVariants = cva(\n [\n \"flex\",\n \"flex-col\",\n \"items-center\",\n \"justify-center\",\n \"text-center\",\n \"text-destructive\",\n ],\n {\n variants: {\n size: {\n default: \"py-16 gap-4\",\n sm: \"py-12 gap-3\",\n lg: \"py-20 gap-6\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nexport type ReportGeneratorVariantProps = VariantProps<\n typeof reportGeneratorVariants\n>\nexport type StepIndicatorVariantProps = VariantProps<\n typeof stepIndicatorVariants\n>\nexport type StepBadgeVariantProps = VariantProps<typeof stepBadgeVariants>\nexport type TemplateCardVariantProps = VariantProps<typeof templateCardVariants>\nexport type PreviewContainerVariantProps = VariantProps<\n typeof previewContainerVariants\n>\n","import type {\n ColumnDefinition,\n ExportFormat,\n ReportConfig,\n ReportGeneratorProps,\n ReportGeneratorState,\n ReportTemplate,\n ScheduleConfig,\n} from \"./ReportGenerator.types\"\nimport type { KeyboardEvent } from \"react\"\n\nimport {\n AlertCircle,\n ArrowLeft,\n ArrowRight,\n Calendar,\n Check,\n Clock,\n Download,\n Eye,\n FileJson,\n FileSpreadsheet,\n FileText,\n Filter as FilterIcon,\n Loader2,\n Printer,\n Settings2,\n Table2,\n} from \"lucide-react\"\nimport { useCallback, useId, useMemo, useState } from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Checkbox } from \"../../forms/Checkbox\"\nimport { Button } from \"../../primitives/Button\"\nimport { Label } from \"../../primitives/Label\"\nimport {\n configSectionVariants,\n errorStateVariants,\n exportButtonGroupVariants,\n formActionsVariants,\n loadingStateVariants,\n previewContainerVariants,\n previewContentVariants,\n previewHeaderVariants,\n reportGeneratorVariants,\n stepBadgeVariants,\n stepIndicatorVariants,\n stepItemVariants,\n templateCardVariants,\n templateGridVariants,\n} from \"./ReportGenerator.variants\"\n\n/**\n * Step definitions\n */\nconst STEPS = [\n { label: \"Selecionar Template\", description: \"Escolha o tipo de relatório\" },\n { label: \"Configurar\", description: \"Defina filtros e colunas\" },\n { label: \"Visualizar\", description: \"Prévia do relatório\" },\n { label: \"Exportar\", description: \"Baixe o relatório\" },\n] as const\n\n/**\n * Export format labels and icons\n */\nconst EXPORT_FORMAT_INFO: Record<\n ExportFormat,\n { icon: React.ComponentType<{ className?: string }>; label: string; }\n> = {\n pdf: { label: \"PDF\", icon: FileText },\n xlsx: { label: \"Excel\", icon: FileSpreadsheet },\n csv: { label: \"CSV\", icon: Table2 },\n json: { label: \"JSON\", icon: FileJson },\n print: { label: \"Imprimir\", icon: Printer },\n}\n\n/**\n * StepIndicator displays the current progress through the wizard\n */\nfunction StepIndicator({\n currentStep,\n completedSteps,\n onStepClick,\n}: {\n completedSteps: number[]\n currentStep: number\n onStepClick?: (step: number) => void\n}) {\n return (\n <div\n aria-label=\"Etapas do gerador de relatórios\"\n className={stepIndicatorVariants()}\n role=\"navigation\"\n >\n {STEPS.map((step, index) => {\n const isComplete = completedSteps.includes(index)\n const isActive = index === currentStep\n const isClickable = onStepClick && (isComplete || index < currentStep)\n\n const handleClick = () => {\n if (isClickable) {\n onStepClick(index)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (isClickable && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n onStepClick(index)\n }\n }\n\n return (\n <div\n key={step.label}\n className={cn(\n stepItemVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n clickable: isClickable,\n }),\n index > 0 && \"flex-1\"\n )}\n aria-current={isActive ? \"step\" : undefined}\n role={isClickable ? \"button\" : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {index > 0 && (\n <div\n className={cn(\n \"h-px flex-1 mr-2\",\n isComplete || isActive ? \"bg-primary\" : \"bg-border\"\n )}\n />\n )}\n <div\n className={stepBadgeVariants({\n state: isComplete ? \"complete\" : isActive ? \"active\" : \"pending\",\n })}\n >\n {isComplete ? <Check className=\"h-4 w-4\" /> : index + 1}\n </div>\n <div className=\"hidden sm:block\">\n <div className=\"text-sm font-medium\">{step.label}</div>\n <div className=\"text-xs text-muted-foreground\">\n {step.description}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\n/**\n * TemplateSelector displays available templates for selection\n */\nfunction TemplateSelector({\n templates,\n selectedTemplate,\n onSelect,\n}: {\n onSelect: (templateId: string) => void\n selectedTemplate?: string\n templates: ReportTemplate[]\n}) {\n const groupedTemplates = useMemo(() => {\n const groups: Record<string, ReportTemplate[]> = {}\n for (const template of templates) {\n const category = template.category\n groups[category] ??= []\n groups[category].push(template)\n }\n return groups\n }, [templates])\n\n const handleTemplateClick = (templateId: string) => {\n onSelect(templateId)\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>, templateId: string) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault()\n onSelect(templateId)\n }\n }\n\n return (\n <div aria-label=\"Templates disponíveis\" className=\"space-y-6\" role=\"listbox\">\n {Object.entries(groupedTemplates).map(([category, categoryTemplates]) => (\n <div key={category} className=\"space-y-3\">\n <h3 className=\"text-sm font-medium text-muted-foreground\">\n {category}\n </h3>\n <div className={templateGridVariants()}>\n {categoryTemplates.map((template) => {\n const isSelected = selectedTemplate === template.id\n return (\n <div\n key={template.id}\n className={templateCardVariants({\n state: isSelected ? \"selected\" : \"default\",\n })}\n aria-selected={isSelected}\n role=\"option\"\n tabIndex={0}\n onClick={() => { handleTemplateClick(template.id); }}\n onKeyDown={(e) => { handleKeyDown(e, template.id); }}\n >\n <div className=\"flex items-start gap-3\">\n {template.icon && (\n <div className=\"shrink-0 text-primary\">{template.icon}</div>\n )}\n <div className=\"flex-1 min-w-0\">\n <div className=\"font-medium\">{template.name}</div>\n <div className=\"text-sm text-muted-foreground line-clamp-2\">\n {template.description}\n </div>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n {template.columns.length} colunas\n </div>\n </div>\n {isSelected && (\n <Check className=\"h-5 w-5 text-primary shrink-0\" />\n )}\n </div>\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * ConfigurationForm allows configuring the report\n */\nfunction ConfigurationForm({\n template,\n config,\n onChange,\n showSchedule,\n}: {\n config: Partial<ReportConfig>\n onChange: (config: Partial<ReportConfig>) => void\n showSchedule?: boolean\n template: ReportTemplate\n}) {\n const formId = useId()\n\n const handleColumnToggle = (columnId: string, checked: boolean) => {\n const currentColumns = config.columns ?? template.columns.map((c) => c.id)\n const newColumns = checked\n ? [...currentColumns, columnId]\n : currentColumns.filter((id) => id !== columnId)\n onChange({ ...config, columns: newColumns })\n }\n\n const handleTitleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange({ ...config, title: e.target.value })\n }\n\n const handleIncludeChartsChange = (checked: boolean) => {\n onChange({ ...config, includeCharts: checked })\n }\n\n const handleIncludeSummaryChange = (checked: boolean) => {\n onChange({ ...config, includeSummary: checked })\n }\n\n const selectedColumns = config.columns ?? template.columns.map((c) => c.id)\n\n return (\n <div aria-describedby={`${formId}-desc`} className=\"space-y-6\" role=\"form\">\n <p className=\"sr-only\" id={`${formId}-desc`}>\n Configure o relatório selecionando colunas e opções\n </p>\n\n {/* Report Title */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Settings2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Configurações Gerais</h3>\n </div>\n <div className=\"space-y-4\">\n <div>\n <Label htmlFor={`${formId}-title`}>Título do Relatório</Label>\n <input\n className=\"mt-1.5 w-full px-3 py-2 rounded-md border border-input bg-background text-sm focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n id={`${formId}-title`}\n placeholder={template.name}\n type=\"text\"\n value={config.title ?? \"\"}\n onChange={handleTitleChange}\n />\n </div>\n </div>\n </div>\n\n {/* Column Selection */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Table2 className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Colunas</h3>\n </div>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {template.columns.map((column) => (\n <div key={column.id} className=\"flex items-center gap-2\">\n <Checkbox\n checked={selectedColumns.includes(column.id)}\n id={`${formId}-col-${column.id}`}\n onCheckedChange={(checked) =>\n { handleColumnToggle(column.id, checked === true); }\n }\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-col-${column.id}`}\n >\n {column.label}\n </Label>\n </div>\n ))}\n </div>\n </div>\n\n {/* Filters Section */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <FilterIcon className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Filtros</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n {template.defaultFilters && template.defaultFilters.length > 0\n ? `${String(template.defaultFilters.length)} filtro(s) configurado(s)`\n : \"Nenhum filtro configurado\"}\n </p>\n </div>\n\n {/* Options */}\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Opções</h3>\n </div>\n <div className=\"space-y-3\">\n {template.charts && template.charts.length > 0 && (\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeCharts ?? true}\n id={`${formId}-charts`}\n onCheckedChange={handleIncludeChartsChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-charts`}\n >\n Incluir gráficos\n </Label>\n </div>\n )}\n <div className=\"flex items-center gap-2\">\n <Checkbox\n checked={config.includeSummary ?? true}\n id={`${formId}-summary`}\n onCheckedChange={handleIncludeSummaryChange}\n />\n <Label\n className=\"text-sm font-normal cursor-pointer\"\n htmlFor={`${formId}-summary`}\n >\n Incluir resumo estatístico\n </Label>\n </div>\n </div>\n </div>\n\n {/* Schedule Option */}\n {showSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Clock className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendamento</h3>\n </div>\n <p className=\"text-sm text-muted-foreground\">\n Configure o agendamento após gerar o relatório\n </p>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * PreviewPanel displays the report preview\n */\nfunction PreviewPanel({\n data,\n columns,\n config,\n branding,\n}: {\n branding?: ReportGeneratorProps[\"branding\"]\n columns: ColumnDefinition[]\n config: ReportConfig\n data: unknown[]\n}) {\n const selectedColumns = columns.filter((c) => config.columns.includes(c.id))\n\n const formatValue = (value: unknown, column: ColumnDefinition): string => {\n if (value === null || value === undefined) return \"-\"\n\n switch (column.type) {\n case \"currency\":\n return new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(Number(value))\n case \"date\":\n return new Intl.DateTimeFormat(\"pt-BR\").format(\n new Date(typeof value === \"string\" || typeof value === \"number\" ? value : 0)\n )\n case \"number\":\n return new Intl.NumberFormat(\"pt-BR\").format(Number(value))\n case \"boolean\":\n return value === true ? \"Sim\" : \"Não\"\n default:\n return typeof value === \"object\" ? JSON.stringify(value) : String(value as boolean | number | string)\n }\n }\n\n return (\n <div className={previewContainerVariants()}>\n <div className={previewHeaderVariants()}>\n <div className=\"flex items-center gap-3\">\n {branding?.logo && (\n <img\n alt={branding.companyName ?? \"Logo\"}\n className=\"h-8 w-auto\"\n src={branding.logo}\n />\n )}\n <div>\n <div className=\"font-semibold\">{config.title || \"Relatório\"}</div>\n {config.description && (\n <div className=\"text-xs text-muted-foreground\">\n {config.description}\n </div>\n )}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n {data.length} registro(s)\n </div>\n </div>\n <div className={previewContentVariants()}>\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b border-border\">\n {selectedColumns.map((column) => (\n <th\n key={column.id}\n className=\"px-3 py-2 text-left font-medium text-muted-foreground\"\n >\n {column.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.slice(0, 10).map((row, rowIndex) => {\n // Generate stable key from row data since preview data has no IDs\n const rowKey = `row-${String(rowIndex)}-${JSON.stringify(Object.values(row as Record<string, unknown>).slice(0, 2))}`\n return (\n <tr key={rowKey} className=\"border-b border-border/50\">\n {selectedColumns.map((column) => (\n <td key={column.id} className=\"px-3 py-2\">\n {formatValue(\n (row as Record<string, unknown>)[column.field],\n column\n )}\n </td>\n ))}\n </tr>\n )\n })}\n </tbody>\n </table>\n {data.length > 10 && (\n <div className=\"mt-4 text-center text-sm text-muted-foreground\">\n Mostrando 10 de {data.length} registros\n </div>\n )}\n </div>\n </div>\n )\n}\n\n/**\n * ExportPanel displays export options\n */\nfunction ExportPanel({\n exportFormats,\n onExport,\n isExporting,\n showSchedule,\n onSchedule,\n}: {\n exportFormats: ExportFormat[]\n isExporting: boolean\n onExport: (format: ExportFormat) => void\n onSchedule?: () => void\n showSchedule?: boolean\n}) {\n return (\n <div className=\"space-y-6\">\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Download className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Formato de Exportação</h3>\n </div>\n <div className={exportButtonGroupVariants({ align: \"start\" })}>\n {exportFormats.map((format) => {\n const info = EXPORT_FORMAT_INFO[format]\n const Icon = info.icon\n return (\n <Button\n key={format}\n disabled={isExporting}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => { onExport(format); }}\n >\n <Icon className=\"h-4 w-4 mr-2\" />\n {info.label}\n </Button>\n )\n })}\n </div>\n </div>\n\n {showSchedule && onSchedule && (\n <div className={configSectionVariants()}>\n <div className=\"flex items-center gap-2 mb-3\">\n <Calendar className=\"h-4 w-4 text-muted-foreground\" />\n <h3 className=\"text-sm font-medium\">Agendar Relatório</h3>\n </div>\n <Button variant=\"outline\" onClick={onSchedule}>\n <Clock className=\"h-4 w-4 mr-2\" />\n Configurar Agendamento\n </Button>\n </div>\n )}\n </div>\n )\n}\n\n/**\n * ReportGenerator is a wizard-style component for creating and exporting reports\n */\nfunction ReportGenerator({\n templates,\n dataSource,\n defaultTemplate,\n exportFormats = [\"pdf\", \"xlsx\", \"csv\"],\n showPreview = true,\n showSchedule = false,\n maxRows = 10000,\n branding,\n className,\n onGenerate,\n onReportExport,\n onSchedule,\n onReportError,\n onConfigChange,\n size,\n layout,\n}: ReportGeneratorProps) {\n const componentId = useId()\n\n // State\n const [currentStep, setCurrentStep] = useState(0)\n const [completedSteps, setCompletedSteps] = useState<number[]>([])\n const [generatorState, setGeneratorState] =\n useState<ReportGeneratorState>(\"idle\")\n const [selectedTemplateId, setSelectedTemplateId] = useState<string | undefined>(\n defaultTemplate\n )\n const [config, setConfig] = useState<Partial<ReportConfig>>({})\n const [previewData, setPreviewData] = useState<unknown[]>([])\n const [error, setError] = useState<Error | null>(null)\n\n // Computed values\n const selectedTemplate = useMemo(\n () => templates.find((t) => t.id === selectedTemplateId),\n [templates, selectedTemplateId]\n )\n\n const effectiveSteps = useMemo(() => {\n if (!showPreview) {\n return STEPS.filter((_, index) => index !== 2)\n }\n return STEPS\n }, [showPreview])\n\n const isGenerating = generatorState === \"generating\"\n const isExporting = generatorState === \"exporting\"\n\n // Handlers\n const handleTemplateSelect = useCallback(\n (templateId: string) => {\n setSelectedTemplateId(templateId)\n const template = templates.find((t) => t.id === templateId)\n if (template) {\n const initialConfig: Partial<ReportConfig> = {\n templateId,\n title: template.name,\n columns: template.columns.map((c) => c.id),\n filters: template.defaultFilters ?? [],\n includeCharts: true,\n includeSummary: true,\n }\n setConfig(initialConfig)\n onConfigChange?.({ config: initialConfig as ReportConfig })\n }\n },\n [templates, onConfigChange]\n )\n\n const handleConfigChange = useCallback(\n (newConfig: Partial<ReportConfig>) => {\n setConfig(newConfig)\n onConfigChange?.({ config: newConfig as ReportConfig })\n },\n [onConfigChange]\n )\n\n const handleNext = useCallback(() => {\n // Mark current step as complete\n if (!completedSteps.includes(currentStep)) {\n setCompletedSteps((prev) => [...prev, currentStep])\n }\n\n // Moving from template selection to configuration\n if (currentStep === 0 && !selectedTemplateId) {\n return\n }\n\n // Moving to preview step - generate report\n if (currentStep === 1 && showPreview) {\n setGeneratorState(\"generating\")\n try {\n onGenerate?.({ config: config as ReportConfig })\n\n // Simulate data fetching based on data source\n let data: unknown[] = []\n if (dataSource.type === \"static\" && dataSource.data) {\n data = dataSource.data.slice(0, maxRows)\n } else {\n // For API/query, we'd fetch data here\n // For now, use empty array as placeholder\n data = []\n }\n\n setPreviewData(data)\n setGeneratorState(\"preview\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n return\n }\n }\n\n setCurrentStep((prev) => Math.min(prev + 1, effectiveSteps.length - 1))\n }, [\n currentStep,\n completedSteps,\n selectedTemplateId,\n showPreview,\n config,\n dataSource,\n maxRows,\n effectiveSteps.length,\n onGenerate,\n onReportError,\n ])\n\n const handleBack = useCallback(() => {\n setCurrentStep((prev) => Math.max(prev - 1, 0))\n if (generatorState === \"error\") {\n setGeneratorState(\"idle\")\n setError(null)\n }\n }, [generatorState])\n\n const handleStepClick = useCallback(\n (step: number) => {\n if (step < currentStep || completedSteps.includes(step)) {\n setCurrentStep(step)\n }\n },\n [currentStep, completedSteps]\n )\n\n const handleExport = useCallback(\n (format: ExportFormat) => {\n setGeneratorState(\"exporting\")\n try {\n // Create export blob based on format\n const content = JSON.stringify({\n config,\n data: previewData,\n format,\n generatedAt: new Date().toISOString(),\n })\n const blob = new Blob([content], { type: \"application/json\" })\n\n onReportExport?.({ format, data: blob })\n setGeneratorState(\"idle\")\n } catch (err) {\n const errorObj = err instanceof Error ? err : new Error(String(err))\n setError(errorObj)\n setGeneratorState(\"error\")\n onReportError?.({ error: errorObj })\n }\n },\n [config, previewData, onReportExport, onReportError]\n )\n\n const handleSchedule = useCallback(() => {\n const schedule: ScheduleConfig = {\n frequency: \"weekly\",\n time: \"09:00\",\n recipients: [],\n format: \"pdf\",\n }\n onSchedule?.({ schedule })\n }, [onSchedule])\n\n // Determine if we can proceed to next step\n const canProceed = useMemo(() => {\n switch (currentStep) {\n case 0:\n return !!selectedTemplateId\n case 1:\n return (\n config.columns && config.columns.length > 0 && !!config.title?.trim()\n )\n default:\n return true\n }\n }, [currentStep, selectedTemplateId, config])\n\n // Render loading state for generation only\n if (isGenerating) {\n return (\n <div\n aria-busy=\"true\"\n aria-describedby={`${componentId}-loading`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"status\"\n >\n <div className={loadingStateVariants()}>\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n <div id={`${componentId}-loading`}>\n <p className=\"font-medium\">Gerando relatório...</p>\n <p className=\"text-sm text-muted-foreground\">\n Por favor, aguarde\n </p>\n </div>\n </div>\n </div>\n )\n }\n\n // Render error state\n if (generatorState === \"error\" && error) {\n return (\n <div\n aria-describedby={`${componentId}-error`}\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n role=\"alert\"\n >\n <div className={errorStateVariants()}>\n <AlertCircle className=\"h-8 w-8\" />\n <div id={`${componentId}-error`}>\n <p className=\"font-medium\">Erro ao gerar relatório</p>\n <p className=\"text-sm\">{error.message}</p>\n </div>\n <Button variant=\"outline\" onClick={handleBack}>\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <div\n aria-describedby={`${componentId}-desc`}\n aria-label=\"Gerador de Relatórios\"\n className={cn(reportGeneratorVariants({ size, layout }), className)}\n data-slot=\"report-generator\"\n role=\"form\"\n >\n <p className=\"sr-only\" id={`${componentId}-desc`}>\n Use este assistente para criar e exportar relatórios personalizados\n </p>\n\n {/* Step Indicator */}\n <StepIndicator\n completedSteps={completedSteps}\n currentStep={currentStep}\n onStepClick={handleStepClick}\n />\n\n {/* Step Content */}\n <div aria-live=\"polite\" className=\"min-h-72\">\n {/* Step 0: Template Selection */}\n {currentStep === 0 && (\n <TemplateSelector\n selectedTemplate={selectedTemplateId}\n templates={templates}\n onSelect={handleTemplateSelect}\n />\n )}\n\n {/* Step 1: Configuration */}\n {currentStep === 1 && selectedTemplate && (\n <ConfigurationForm\n config={config}\n showSchedule={showSchedule}\n template={selectedTemplate}\n onChange={handleConfigChange}\n />\n )}\n\n {/* Step 2: Preview (if enabled) */}\n {currentStep === 2 && showPreview && selectedTemplate && (\n <PreviewPanel\n branding={branding}\n columns={selectedTemplate.columns}\n config={config as ReportConfig}\n data={previewData}\n />\n )}\n\n {/* Step 3/2: Export */}\n {((currentStep === 3 && showPreview) ||\n (currentStep === 2 && !showPreview)) && (\n <ExportPanel\n exportFormats={exportFormats}\n isExporting={isExporting}\n showSchedule={showSchedule}\n onExport={handleExport}\n onSchedule={showSchedule ? handleSchedule : undefined}\n />\n )}\n </div>\n\n {/* Navigation Actions */}\n <div className={formActionsVariants()}>\n <Button\n disabled={currentStep === 0}\n variant=\"outline\"\n onClick={handleBack}\n >\n <ArrowLeft className=\"h-4 w-4 mr-2\" />\n Voltar\n </Button>\n {currentStep < effectiveSteps.length - 1 ? (\n <Button disabled={!canProceed} onClick={handleNext}>\n Próximo\n <ArrowRight className=\"h-4 w-4 ml-2\" />\n </Button>\n ) : null}\n </div>\n </div>\n )\n}\n\nexport { ReportGenerator }\n"]}
@@ -1,5 +1,5 @@
1
1
  import { SkeletonLoader } from './chunk-NGX3ITG4.js';
2
- import { Avatar, AvatarImage, AvatarFallback } from './chunk-U7TPJMGY.js';
2
+ import { Avatar, AvatarImage, AvatarFallback } from './chunk-MR3IPJAO.js';
3
3
  import { Badge } from './chunk-HNQX6ZG7.js';
4
4
  import { cn } from './chunk-RVAYDRMA.js';
5
5
  import { cva } from 'class-variance-authority';
@@ -350,5 +350,5 @@ function ListItemActions({
350
350
  }
351
351
 
352
352
  export { List, ListItem, ListItemActions, ListItemContent, listItemVariants, listVariants };
353
- //# sourceMappingURL=chunk-YMQDTTO7.js.map
354
- //# sourceMappingURL=chunk-YMQDTTO7.js.map
353
+ //# sourceMappingURL=chunk-CEUARW3D.js.map
354
+ //# sourceMappingURL=chunk-CEUARW3D.js.map