@etus/ui 0.4.0-beta.3 → 0.4.0-beta.4

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 (165) hide show
  1. package/dist/chunk-2HM5Z2YP.js +834 -0
  2. package/dist/chunk-2HM5Z2YP.js.map +1 -0
  3. package/dist/{chunk-LMTNDUIP.js → chunk-2Y7PQ6ZL.js} +4 -4
  4. package/dist/{chunk-LMTNDUIP.js.map → chunk-2Y7PQ6ZL.js.map} +1 -1
  5. package/dist/{chunk-SAKW2OKH.js → chunk-32IJQOUV.js} +15 -26
  6. package/dist/chunk-32IJQOUV.js.map +1 -0
  7. package/dist/{chunk-CXHA5D3I.js → chunk-33JGPMUW.js} +4 -4
  8. package/dist/{chunk-CXHA5D3I.js.map → chunk-33JGPMUW.js.map} +1 -1
  9. package/dist/{chunk-JLVL76SW.js → chunk-36XTKR3B.js} +4 -4
  10. package/dist/{chunk-JLVL76SW.js.map → chunk-36XTKR3B.js.map} +1 -1
  11. package/dist/{chunk-CUWQUGGB.js → chunk-4GQN76L7.js} +3 -3
  12. package/dist/{chunk-CUWQUGGB.js.map → chunk-4GQN76L7.js.map} +1 -1
  13. package/dist/{chunk-7BAL24EU.js → chunk-5XQIH6WM.js} +4 -4
  14. package/dist/{chunk-7BAL24EU.js.map → chunk-5XQIH6WM.js.map} +1 -1
  15. package/dist/chunk-5ZWFIDO2.js +3 -0
  16. package/dist/{chunk-NNOGFX66.js.map → chunk-5ZWFIDO2.js.map} +1 -1
  17. package/dist/{chunk-CCUCWL6M.js → chunk-AB3S55W5.js} +11 -6
  18. package/dist/chunk-AB3S55W5.js.map +1 -0
  19. package/dist/{chunk-43SINRHH.js → chunk-AUCDXPWH.js} +5 -5
  20. package/dist/{chunk-43SINRHH.js.map → chunk-AUCDXPWH.js.map} +1 -1
  21. package/dist/{chunk-4HRQX2IA.js → chunk-AWYOWR5N.js} +3 -3
  22. package/dist/{chunk-4HRQX2IA.js.map → chunk-AWYOWR5N.js.map} +1 -1
  23. package/dist/{chunk-YTGYSNFR.js → chunk-B4ETIQOO.js} +4 -4
  24. package/dist/{chunk-YTGYSNFR.js.map → chunk-B4ETIQOO.js.map} +1 -1
  25. package/dist/{chunk-D5DM6GZB.js → chunk-D6TH3EGA.js} +12 -12
  26. package/dist/chunk-D6TH3EGA.js.map +1 -0
  27. package/dist/{chunk-ZJVZ3LQS.js → chunk-DDM2I5C6.js} +3 -3
  28. package/dist/{chunk-ZJVZ3LQS.js.map → chunk-DDM2I5C6.js.map} +1 -1
  29. package/dist/{chunk-3JIXCWJO.js → chunk-DDR24GOP.js} +3 -3
  30. package/dist/{chunk-3JIXCWJO.js.map → chunk-DDR24GOP.js.map} +1 -1
  31. package/dist/{chunk-GBTVAO4V.js → chunk-EGYWK2XX.js} +3 -3
  32. package/dist/{chunk-GBTVAO4V.js.map → chunk-EGYWK2XX.js.map} +1 -1
  33. package/dist/{chunk-KNH7JW6E.js → chunk-IBVCSZCH.js} +3 -3
  34. package/dist/{chunk-KNH7JW6E.js.map → chunk-IBVCSZCH.js.map} +1 -1
  35. package/dist/{chunk-VJITPUUS.js → chunk-ICM45N2K.js} +4 -4
  36. package/dist/{chunk-VJITPUUS.js.map → chunk-ICM45N2K.js.map} +1 -1
  37. package/dist/{chunk-GLEKBJLR.js → chunk-ILAV2AZ4.js} +3 -3
  38. package/dist/{chunk-GLEKBJLR.js.map → chunk-ILAV2AZ4.js.map} +1 -1
  39. package/dist/{chunk-MDQFZEIC.js → chunk-J62TFQHR.js} +6 -6
  40. package/dist/chunk-J62TFQHR.js.map +1 -0
  41. package/dist/{chunk-AWWBBMMY.js → chunk-JKYB5QAP.js} +5 -5
  42. package/dist/{chunk-AWWBBMMY.js.map → chunk-JKYB5QAP.js.map} +1 -1
  43. package/dist/{chunk-UKC3Q6OA.js → chunk-JMZ4CO6R.js} +3 -3
  44. package/dist/{chunk-UKC3Q6OA.js.map → chunk-JMZ4CO6R.js.map} +1 -1
  45. package/dist/{chunk-POZNQWZE.js → chunk-KC6CHPT3.js} +4 -4
  46. package/dist/{chunk-POZNQWZE.js.map → chunk-KC6CHPT3.js.map} +1 -1
  47. package/dist/{chunk-4J6DHPYY.js → chunk-KPNNSUXM.js} +3 -3
  48. package/dist/{chunk-4J6DHPYY.js.map → chunk-KPNNSUXM.js.map} +1 -1
  49. package/dist/{chunk-RPV77BCQ.js → chunk-ONQCNOLU.js} +4 -9
  50. package/dist/chunk-ONQCNOLU.js.map +1 -0
  51. package/dist/{chunk-QSY52N3A.js → chunk-OWOVCGUZ.js} +3 -3
  52. package/dist/{chunk-QSY52N3A.js.map → chunk-OWOVCGUZ.js.map} +1 -1
  53. package/dist/{chunk-QWRHPNBY.js → chunk-QIETN4UU.js} +4 -4
  54. package/dist/{chunk-QWRHPNBY.js.map → chunk-QIETN4UU.js.map} +1 -1
  55. package/dist/{chunk-NWFRMVI2.js → chunk-QZWKXUZP.js} +3 -3
  56. package/dist/{chunk-NWFRMVI2.js.map → chunk-QZWKXUZP.js.map} +1 -1
  57. package/dist/{chunk-7QDWREVG.js → chunk-R4UOT76L.js} +3 -3
  58. package/dist/{chunk-7QDWREVG.js.map → chunk-R4UOT76L.js.map} +1 -1
  59. package/dist/{chunk-HIEOL77G.js → chunk-RVUO7SDG.js} +4 -4
  60. package/dist/{chunk-HIEOL77G.js.map → chunk-RVUO7SDG.js.map} +1 -1
  61. package/dist/{chunk-XPVKJIWY.js → chunk-SCGKQ5RE.js} +3 -3
  62. package/dist/{chunk-XPVKJIWY.js.map → chunk-SCGKQ5RE.js.map} +1 -1
  63. package/dist/{chunk-UCGT2IR4.js → chunk-SJSYKUCL.js} +3 -3
  64. package/dist/{chunk-UCGT2IR4.js.map → chunk-SJSYKUCL.js.map} +1 -1
  65. package/dist/{chunk-KOTCWE7V.js → chunk-TNROOKX3.js} +11 -4
  66. package/dist/chunk-TNROOKX3.js.map +1 -0
  67. package/dist/{chunk-PGTCXLGY.js → chunk-U6EOAIPK.js} +3 -3
  68. package/dist/chunk-U6EOAIPK.js.map +1 -0
  69. package/dist/{chunk-KXSJSLPJ.js → chunk-V7XHE25E.js} +4 -4
  70. package/dist/{chunk-KXSJSLPJ.js.map → chunk-V7XHE25E.js.map} +1 -1
  71. package/dist/{chunk-FUCQNVJL.js → chunk-XLTSCY22.js} +10 -7
  72. package/dist/chunk-XLTSCY22.js.map +1 -0
  73. package/dist/{chunk-K3J7YLL4.js → chunk-XOGMDABS.js} +5 -6
  74. package/dist/chunk-XOGMDABS.js.map +1 -0
  75. package/dist/{chunk-53RWD44Z.js → chunk-XRMKL43Y.js} +3 -3
  76. package/dist/{chunk-53RWD44Z.js.map → chunk-XRMKL43Y.js.map} +1 -1
  77. package/dist/{chunk-DZALMUQD.js → chunk-Y3BOERVB.js} +3 -3
  78. package/dist/{chunk-DZALMUQD.js.map → chunk-Y3BOERVB.js.map} +1 -1
  79. package/dist/{chunk-AV5YQ2Z4.js → chunk-Y7UFBSAD.js} +3 -3
  80. package/dist/{chunk-AV5YQ2Z4.js.map → chunk-Y7UFBSAD.js.map} +1 -1
  81. package/dist/{chunk-HNYBLROK.js → chunk-YP2ATSXP.js} +11 -28
  82. package/dist/chunk-YP2ATSXP.js.map +1 -0
  83. package/dist/{chunk-75QBUI2P.js → chunk-ZO2EKJZM.js} +16 -8
  84. package/dist/chunk-ZO2EKJZM.js.map +1 -0
  85. package/dist/{chunk-VOCA4KZB.js → chunk-ZS2WS5NJ.js} +4 -4
  86. package/dist/{chunk-VOCA4KZB.js.map → chunk-ZS2WS5NJ.js.map} +1 -1
  87. package/dist/components/advanced/Calendar/index.js +3 -3
  88. package/dist/components/advanced/EventCalendar/index.js +3 -3
  89. package/dist/components/advanced/FilterBuilder/index.js +3 -3
  90. package/dist/components/advanced/ReportBuilder/index.js +11 -0
  91. package/dist/components/advanced/ReportBuilder/index.js.map +1 -0
  92. package/dist/components/advanced/index.js +12 -8
  93. package/dist/components/data-display/Callout/index.js +1 -1
  94. package/dist/components/data-display/Carousel/index.js +3 -3
  95. package/dist/components/data-display/ChartCard/index.js +2 -2
  96. package/dist/components/data-display/DashboardFilterbar/index.js +5 -5
  97. package/dist/components/data-display/DataTable/FilterBuilder/index.js +3 -3
  98. package/dist/components/data-display/DataTable/index.js +5 -5
  99. package/dist/components/data-display/KPICard/index.js +3 -2
  100. package/dist/components/data-display/List/index.js +3 -3
  101. package/dist/components/data-display/SingleStat/index.js +1 -1
  102. package/dist/components/data-display/VirtualTable/index.js +2 -2
  103. package/dist/components/data-display/index.js +30 -30
  104. package/dist/components/feedback/AlertDialog/index.js +3 -3
  105. package/dist/components/feedback/ConfirmModal/index.js +4 -4
  106. package/dist/components/feedback/Notification/index.js +2 -2
  107. package/dist/components/feedback/index.js +8 -8
  108. package/dist/components/forms/DatePicker/index.js +4 -4
  109. package/dist/components/forms/DateRangePicker/index.js +4 -4
  110. package/dist/components/forms/Field/index.js +2 -2
  111. package/dist/components/forms/Form/index.js +2 -2
  112. package/dist/components/forms/InputGroup/index.js +4 -4
  113. package/dist/components/forms/InputOTPField/index.js +3 -3
  114. package/dist/components/forms/NativeSelect/index.js +1 -1
  115. package/dist/components/forms/TagsInput/index.js +2 -2
  116. package/dist/components/forms/Textarea/index.js +1 -1
  117. package/dist/components/forms/TextareaField/index.js +4 -4
  118. package/dist/components/forms/index.js +28 -28
  119. package/dist/components/index.js +97 -96
  120. package/dist/components/layout/index.js +2 -2
  121. package/dist/components/navigation/AccountSwitch/index.js +3 -3
  122. package/dist/components/navigation/MobileSidebar/index.js +2 -2
  123. package/dist/components/navigation/Pagination/index.js +3 -3
  124. package/dist/components/navigation/Sidebar/index.js +4 -4
  125. package/dist/components/navigation/index.js +11 -11
  126. package/dist/components/primitives/Avatar/index.js +1 -1
  127. package/dist/components/primitives/Badge/index.js +1 -1
  128. package/dist/components/primitives/Button/index.js +2 -2
  129. package/dist/components/primitives/ConfirmButton/index.js +4 -4
  130. package/dist/components/primitives/Label/index.js +1 -1
  131. package/dist/components/primitives/SplitButton/index.js +1 -1
  132. package/dist/components/primitives/index.js +13 -13
  133. package/dist/components/workflow/ApprovalFlow/index.js +4 -4
  134. package/dist/components/workflow/CommentSystem/index.js +5 -5
  135. package/dist/components/workflow/Dashboard/index.js +3 -3
  136. package/dist/components/workflow/DashboardBuilder/index.js +4 -4
  137. package/dist/components/workflow/KanbanBoard/index.js +4 -4
  138. package/dist/components/workflow/ReportGenerator/index.js +4 -4
  139. package/dist/components/workflow/Wizard/index.js +3 -3
  140. package/dist/components/workflow/index.js +14 -14
  141. package/dist/fonts/inter-OFL.txt +92 -0
  142. package/dist/fonts/inter-latin-400-normal.woff2 +0 -0
  143. package/dist/fonts/inter-latin-500-normal.woff2 +0 -0
  144. package/dist/fonts/inter-latin-600-normal.woff2 +0 -0
  145. package/dist/fonts/inter-latin-700-normal.woff2 +0 -0
  146. package/dist/fonts/jetbrains-mono-OFL.txt +93 -0
  147. package/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  148. package/dist/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
  149. package/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  150. package/dist/index.d.ts +114 -27
  151. package/dist/index.js +97 -96
  152. package/dist/styles.css +284 -7
  153. package/package.json +2 -2
  154. package/dist/chunk-75QBUI2P.js.map +0 -1
  155. package/dist/chunk-CCUCWL6M.js.map +0 -1
  156. package/dist/chunk-D5DM6GZB.js.map +0 -1
  157. package/dist/chunk-FUCQNVJL.js.map +0 -1
  158. package/dist/chunk-HNYBLROK.js.map +0 -1
  159. package/dist/chunk-K3J7YLL4.js.map +0 -1
  160. package/dist/chunk-KOTCWE7V.js.map +0 -1
  161. package/dist/chunk-MDQFZEIC.js.map +0 -1
  162. package/dist/chunk-NNOGFX66.js +0 -3
  163. package/dist/chunk-PGTCXLGY.js.map +0 -1
  164. package/dist/chunk-RPV77BCQ.js.map +0 -1
  165. package/dist/chunk-SAKW2OKH.js.map +0 -1
@@ -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-POZNQWZE.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-KC6CHPT3.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,4 +1,4 @@
1
- import { buttonVariants } from './chunk-RPV77BCQ.js';
1
+ import { buttonVariants } from './chunk-ONQCNOLU.js';
2
2
  import { cn } from './chunk-HRNDJU7D.js';
3
3
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
4
4
  import { cva } from 'class-variance-authority';
@@ -126,5 +126,5 @@ function PaginationEllipsis({
126
126
  }
127
127
 
128
128
  export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, paginationContentVariants, paginationEllipsisVariants, paginationNextVariants, paginationPreviousVariants, paginationVariants };
129
- //# sourceMappingURL=chunk-4J6DHPYY.js.map
130
- //# sourceMappingURL=chunk-4J6DHPYY.js.map
129
+ //# sourceMappingURL=chunk-KPNNSUXM.js.map
130
+ //# sourceMappingURL=chunk-KPNNSUXM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/navigation/Pagination/Pagination.variants.ts","../src/components/navigation/Pagination/Pagination.tsx"],"names":[],"mappings":"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","file":"chunk-4J6DHPYY.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Pagination root variant styles\n */\nexport const paginationVariants = cva([\n \"mx-auto flex w-full justify-center\",\n])\n\n/**\n * PaginationContent variant styles\n */\nexport const paginationContentVariants = cva([\n \"flex flex-row items-center gap-[var(--pagination-content-gap)]\",\n])\n\n/**\n * PaginationPrevious variant styles\n */\nexport const paginationPreviousVariants = cva([\n \"gap-[var(--pagination-button-gap)] px-[var(--pagination-button-padding-x)] sm:pl-[var(--pagination-button-padding-x)]\",\n])\n\n/**\n * PaginationNext variant styles\n */\nexport const paginationNextVariants = cva([\n \"gap-[var(--pagination-button-gap)] px-[var(--pagination-button-padding-x)] sm:pr-[var(--pagination-button-padding-x)]\",\n])\n\n/**\n * PaginationEllipsis variant styles\n */\nexport const paginationEllipsisVariants = cva([\n \"flex size-[var(--pagination-ellipsis-size)] items-center justify-center\",\n])\n","import type {\n PaginationContentProps,\n PaginationEllipsisProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationNextProps,\n PaginationPreviousProps,\n PaginationProps,\n} from \"./Pagination.types\"\n\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { buttonVariants } from \"../../primitives/Button\"\nimport {\n paginationContentVariants,\n paginationEllipsisVariants,\n paginationNextVariants,\n paginationPreviousVariants,\n paginationVariants,\n} from \"./Pagination.variants\"\n\n/**\n * Pagination - A navigation component for paginated content.\n *\n * Provides accessible navigation with previous/next buttons and page links.\n *\n * @example\n * <Pagination>\n * <PaginationContent>\n * <PaginationItem>\n * <PaginationPrevious href=\"#\" />\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationLink href=\"#\">1</PaginationLink>\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationLink href=\"#\" isActive>2</PaginationLink>\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationNext href=\"#\" />\n * </PaginationItem>\n * </PaginationContent>\n * </Pagination>\n */\nfunction Pagination({ className, ...props }: PaginationProps) {\n return (\n <nav\n aria-label=\"pagination\"\n className={cn(paginationVariants(), className)}\n data-slot=\"pagination\"\n role=\"navigation\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationContent - Container for pagination items.\n */\nfunction PaginationContent({\n className,\n ...props\n}: PaginationContentProps) {\n return (\n <ul\n className={cn(paginationContentVariants(), className)}\n data-slot=\"pagination-content\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationItem - Wrapper for individual pagination elements.\n */\nfunction PaginationItem({ ...props }: PaginationItemProps) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\n/**\n * PaginationLink - A link to a specific page.\n *\n * Use isActive to indicate the current page.\n */\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n data-slot=\"pagination-link\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationPrevious - Link to the previous page.\n *\n * Includes a chevron icon and \"Previous\" text on larger screens.\n */\nfunction PaginationPrevious({\n className,\n ...props\n}: PaginationPreviousProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cn(paginationPreviousVariants(), className)}\n size=\"default\"\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n )\n}\n\n/**\n * PaginationNext - Link to the next page.\n *\n * Includes a chevron icon and \"Next\" text on larger screens.\n */\nfunction PaginationNext({\n className,\n ...props\n}: PaginationNextProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cn(paginationNextVariants(), className)}\n size=\"default\"\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n )\n}\n\n/**\n * PaginationEllipsis - Indicates more pages between visible page links.\n */\nfunction PaginationEllipsis({\n className,\n ...props\n}: PaginationEllipsisProps) {\n return (\n <span\n aria-hidden\n className={cn(paginationEllipsisVariants(), className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n"]}
1
+ {"version":3,"sources":["../src/components/navigation/Pagination/Pagination.variants.ts","../src/components/navigation/Pagination/Pagination.tsx"],"names":[],"mappings":"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","file":"chunk-KPNNSUXM.js","sourcesContent":["import { cva } from \"class-variance-authority\"\n\n/**\n * Pagination root variant styles\n */\nexport const paginationVariants = cva([\n \"mx-auto flex w-full justify-center\",\n])\n\n/**\n * PaginationContent variant styles\n */\nexport const paginationContentVariants = cva([\n \"flex flex-row items-center gap-[var(--pagination-content-gap)]\",\n])\n\n/**\n * PaginationPrevious variant styles\n */\nexport const paginationPreviousVariants = cva([\n \"gap-[var(--pagination-button-gap)] px-[var(--pagination-button-padding-x)] sm:pl-[var(--pagination-button-padding-x)]\",\n])\n\n/**\n * PaginationNext variant styles\n */\nexport const paginationNextVariants = cva([\n \"gap-[var(--pagination-button-gap)] px-[var(--pagination-button-padding-x)] sm:pr-[var(--pagination-button-padding-x)]\",\n])\n\n/**\n * PaginationEllipsis variant styles\n */\nexport const paginationEllipsisVariants = cva([\n \"flex size-[var(--pagination-ellipsis-size)] items-center justify-center\",\n])\n","import type {\n PaginationContentProps,\n PaginationEllipsisProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationNextProps,\n PaginationPreviousProps,\n PaginationProps,\n} from \"./Pagination.types\"\n\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { buttonVariants } from \"../../primitives/Button\"\nimport {\n paginationContentVariants,\n paginationEllipsisVariants,\n paginationNextVariants,\n paginationPreviousVariants,\n paginationVariants,\n} from \"./Pagination.variants\"\n\n/**\n * Pagination - A navigation component for paginated content.\n *\n * Provides accessible navigation with previous/next buttons and page links.\n *\n * @example\n * <Pagination>\n * <PaginationContent>\n * <PaginationItem>\n * <PaginationPrevious href=\"#\" />\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationLink href=\"#\">1</PaginationLink>\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationLink href=\"#\" isActive>2</PaginationLink>\n * </PaginationItem>\n * <PaginationItem>\n * <PaginationNext href=\"#\" />\n * </PaginationItem>\n * </PaginationContent>\n * </Pagination>\n */\nfunction Pagination({ className, ...props }: PaginationProps) {\n return (\n <nav\n aria-label=\"pagination\"\n className={cn(paginationVariants(), className)}\n data-slot=\"pagination\"\n role=\"navigation\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationContent - Container for pagination items.\n */\nfunction PaginationContent({\n className,\n ...props\n}: PaginationContentProps) {\n return (\n <ul\n className={cn(paginationContentVariants(), className)}\n data-slot=\"pagination-content\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationItem - Wrapper for individual pagination elements.\n */\nfunction PaginationItem({ ...props }: PaginationItemProps) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\n/**\n * PaginationLink - A link to a specific page.\n *\n * Use isActive to indicate the current page.\n */\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-active={isActive}\n data-slot=\"pagination-link\"\n {...props}\n />\n )\n}\n\n/**\n * PaginationPrevious - Link to the previous page.\n *\n * Includes a chevron icon and \"Previous\" text on larger screens.\n */\nfunction PaginationPrevious({\n className,\n ...props\n}: PaginationPreviousProps) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n className={cn(paginationPreviousVariants(), className)}\n size=\"default\"\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n )\n}\n\n/**\n * PaginationNext - Link to the next page.\n *\n * Includes a chevron icon and \"Next\" text on larger screens.\n */\nfunction PaginationNext({\n className,\n ...props\n}: PaginationNextProps) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n className={cn(paginationNextVariants(), className)}\n size=\"default\"\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n )\n}\n\n/**\n * PaginationEllipsis - Indicates more pages between visible page links.\n */\nfunction PaginationEllipsis({\n className,\n ...props\n}: PaginationEllipsisProps) {\n return (\n <span\n aria-hidden\n className={cn(paginationEllipsisVariants(), className)}\n data-slot=\"pagination-ellipsis\"\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { useButtonGroup } from './chunk-TAZPML2P.js';
2
- import { Badge } from './chunk-KOTCWE7V.js';
2
+ import { Badge } from './chunk-TNROOKX3.js';
3
3
  import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-7ZJ32KRQ.js';
4
4
  import { cn } from './chunk-HRNDJU7D.js';
5
5
  import { Slot } from '@radix-ui/react-slot';
@@ -39,13 +39,8 @@ var buttonVariants = cva(
39
39
  default: "h-[var(--button-size-default-h)] px-[var(--button-size-default-px)] py-[var(--button-size-default-py)] text-[length:var(--button-size-default-text)] leading-[var(--button-size-default-leading)] gap-[var(--button-size-default-gap)]",
40
40
  sm: "h-[var(--button-size-sm-h)] px-[var(--button-size-sm-px)] py-[var(--button-size-sm-py)] text-[length:var(--button-size-sm-text)] leading-[var(--button-size-sm-leading)] gap-[var(--button-size-sm-gap)]",
41
41
  lg: "h-[var(--button-size-lg-h)] px-[var(--button-size-lg-px)] py-[var(--button-size-lg-py)] text-[length:var(--button-size-lg-text)] leading-[var(--button-size-lg-leading)] gap-[var(--button-size-lg-gap)]",
42
- xl: "h-[var(--button-size-xl-h)] px-[var(--button-size-xl-px)] py-[var(--button-size-xl-py)] text-[length:var(--button-size-xl-text)] leading-[var(--button-size-xl-leading)] gap-[var(--button-size-xl-gap)]",
43
- "2xl": "h-[var(--button-size-2xl-h)] px-[var(--button-size-2xl-px)] py-[var(--button-size-2xl-py)] text-[length:var(--button-size-2xl-text)] leading-[var(--button-size-2xl-leading)] gap-[var(--button-size-2xl-gap)]",
44
42
  icon: "size-[var(--button-size-icon-size)] p-0 gap-0",
45
- "icon-sm": "size-[var(--button-size-icon-sm-size)] p-0 gap-0",
46
- "icon-lg": "size-[var(--button-size-icon-lg-size)] p-0 gap-0",
47
- "icon-xl": "size-[var(--button-size-icon-xl-size)] p-0 gap-0",
48
- "icon-2xl": "size-[var(--button-size-icon-2xl-size)] p-0 gap-0"
43
+ "icon-sm": "size-[var(--button-size-icon-sm-size)] p-0 gap-0"
49
44
  },
50
45
  shape: {
51
46
  default: "",
@@ -234,5 +229,5 @@ function Button({
234
229
  }
235
230
 
236
231
  export { Button, buttonVariants };
237
- //# sourceMappingURL=chunk-RPV77BCQ.js.map
238
- //# sourceMappingURL=chunk-RPV77BCQ.js.map
232
+ //# sourceMappingURL=chunk-ONQCNOLU.js.map
233
+ //# sourceMappingURL=chunk-ONQCNOLU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/primitives/Button/Button.tsx"],"names":[],"mappings":";;;;;;;;;;AAYA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACrB,2hBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,aAAA;AAAA,QACN,KAAA,EAAO;AAAA,OACT;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EACE,yfAAA;AAAA,QACF,OAAA,EACE,yfAAA;AAAA,QACF,WAAA,EACE,ySAAA;AAAA,QACF,OAAA,EACE,iPAAA;AAAA,QACF,MAAA,EACE,+PAAA;AAAA,QACF,SAAA,EACE,0GAAA;AAAA,QACF,gBAAA,EACE,sqBAAA;AAAA,QACF,iBAAA,EACE,8qBAAA;AAAA,QACF,KAAA,EACE,+MAAA;AAAA,QACF,IAAA,EAAM,+EAAA;AAAA,QACN,WAAA,EACE,+LAAA;AAAA,QACF,YAAA,EACE,iMAAA;AAAA,QACF,eAAA,EACE,ySAAA;AAAA,QACF,gBAAA,EACE,4SAAA;AAAA,QACF,OAAA,EACE,+KAAA;AAAA,QACF,OAAA,EACE,+KAAA;AAAA,QACF,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,wOAAA;AAAA,QACT,EAAA,EAAI,0MAAA;AAAA,QACJ,EAAA,EAAI,0MAAA;AAAA,QACJ,IAAA,EAAM,+CAAA;AAAA,QACN,SAAA,EAAW;AAAA,OACb;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,MAAA,EAAQ,YAAA;AAAA,QACR,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM,SAAA;AAAA,MACN,KAAA,EAAO,SAAA;AAAA,MACP,SAAA,EAAW;AAAA;AACb;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,OAAA,GAAU,KAAA;AAAA,EACV,KAAA;AAAA,EACA,UAAA,GAAa,aAAA;AAAA,EACb,SAAA,GAAY,IAAA;AAAA,EACZ,OAAA,GAAU,KAAA;AAAA,EACV,WAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,EAAW,MAAA;AAAA,EACX,GAAG;AACL,CAAA,EAAgB;AACd,EAAA,MAAM,IAAA,GAAO,UAAU,IAAA,GAAO,QAAA;AAG9B,EAAA,MAAM,eAAe,cAAA,EAAe;AAGpC,EAAA,MAAM,aAAA,GAAgB,QAAQ,YAAA,EAAc,IAAA;AAC5C,EAAA,MAAM,gBAAA,GAAmB,WAAW,YAAA,EAAc,aAAA;AAClD,EAAA,MAAM,iBAAA,GAAoB,YAAY,YAAA,EAAc,QAAA;AAEpD,EAAA,MAAM,aAAa,iBAAA,IAAqB,OAAA;AAExC,EAAA,MAAM,mBAAmB,MAAM;AAE7B,IAAA,IAAI,qBAAqB,UAAA,EAAY;AACnC,MAAA,OAAO,IAAA,KAAS,UAAU,gBAAA,GAAmB,eAAA;AAAA,IAC/C;AAEA,IAAA,IAAI,gBAAA,KAAqB,eAAe,IAAA,EAAM;AAC5C,MAAA,OAAO,IAAA,KAAS,SAAS,gBAAA,GAAmB,iBAAA;AAAA,IAC9C;AAEA,IAAA,IAAI,gBAAA,KAAqB,UAAU,IAAA,EAAM;AACvC,MAAA,OAAO,IAAA,KAAS,SAAS,WAAA,GAAc,YAAA;AAAA,IACzC;AAEA,IAAA,OAAO,gBAAA;AAAA,EACT,CAAA,GAAG;AAGH,EAAA,MAAM,WAAA,GAAc,IAAA,IAAQ,CAAC,aAAA,GAAgB,MAAA,GAAS,aAAA;AAGtD,EAAA,MAAM,aAAA,GAAsB,kBAAY,OAA2B;AAAA,IACjE,GAAI,MAAA,GAAS,EAAE,EAAA,EAAI,MAAA,KAAW,EAAC;AAAA,IAC/B,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,IACpB,SAAA,EAAW;AAAA,GACb,CAAA,EAAI,CAAC,MAAA,EAAQ,OAAO,CAAC,CAAA;AAGrB,EAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,WAAA;AAAA,IACxB,CAAC,KAAA,KAA+C;AAC9C,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA;AAAA,MACF;AACA,MAAA,OAAA,GAAU,KAAA,EAAO,eAAe,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,aAAA,EAAe,UAAU;AAAA,GACrC;AAEA,EAAA,MAAM,WAAA,GAAoB,KAAA,CAAA,WAAA;AAAA,IACxB,CAAC,KAAA,KAA+C;AAC9C,MAAA,OAAA,GAAU,KAAA,EAAO,eAAe,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,SAAS,aAAa;AAAA,GACzB;AAEA,EAAA,MAAM,UAAA,GAAmB,KAAA,CAAA,WAAA;AAAA,IACvB,CAAC,KAAA,KAA+C;AAC9C,MAAA,MAAA,GAAS,KAAA,EAAO,eAAe,CAAA;AAAA,IACjC,CAAA;AAAA,IACA,CAAC,QAAQ,aAAa;AAAA,GACxB;AAEA,EAAA,MAAM,aAAA,GAAsB,KAAA,CAAA,WAAA;AAAA,IAC1B,CAAC,KAAA,KAAkD;AACjD,MAAA,SAAA,GAAY,KAAA,EAAO,eAAe,CAAA;AAAA,IACpC,CAAA;AAAA,IACA,CAAC,WAAW,aAAa;AAAA,GAC3B;AAGA,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,OAAA,mBACJ,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,cAAA;AAAA;AAAA,YAEA,CAAC,eAAe,CAAC,WAAA,EAAa,UAAS,CAAE,UAAA,CAAW,MAAM,CAAA,IAAK;AAAA,WACjE;AAAA,UACA,aAAA,EAAY,MAAA;AAAA,UACZ,WAAA,EAAU,cAAA;AAAA,UACV,aAAA,EAAY;AAAA;AAAA,OACd;AAGF,MAAA,IAAI,WAAA,EAAa,QAAA,EAAS,CAAE,UAAA,CAAW,MAAM,CAAA,EAAG;AAC9C,QAAA,OAAO,OAAA;AAAA,MACT;AAEA,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,OAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA;AAAA,MAEJ;AAGA,MAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,QAAA,OAAA;AAAA,wBACD,IAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAU,mCAAA,EAChC,QAAA,EAAA;AAAA,UAAA,QAAA,wBACE,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAA,EAAU,aAChC,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,UAED,QAAA;AAAA,UACA,6BACC,GAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,WAAA,EAAU,cAChC,QAAA,EAAA,SAAA,EACH;AAAA,SAAA,EAEJ;AAAA,OAAA,EACF,CAAA;AAAA,IAEJ;AAEA,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,2BACG,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAA,EAAU,QAChC,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,IAEJ;AAEA,IAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAA,QAAA,wBACE,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAA,EAAU,aAChC,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,MAED,QAAA;AAAA,MACA,6BACC,GAAA,CAAC,MAAA,EAAA,EAAK,eAAY,MAAA,EAAO,WAAA,EAAU,cAChC,QAAA,EAAA,SAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ,CAAA;AAEA,EAAA,MAAM,aAAA,mBACJ,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,cAAA,CAAe;AAAA,UACb,OAAA,EAAS,eAAA;AAAA,UACT,IAAA,EAAM,WAAA;AAAA,UACN,KAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA,SACD;AAAA,OACH;AAAA,MACA,aAAW,OAAA,IAAW,MAAA;AAAA,MACtB,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,SAAA,EAAS,MAAA;AAAA,MACT,gBAAc,OAAA,IAAW,MAAA;AAAA,MACzB,WAAA,EAAU,QAAA;AAAA,MACV,QAAA,EAAU,UAAA;AAAA,MACV,MAAA,EAAQ,UAAA;AAAA,MACR,OAAA,EAAS,WAAA;AAAA,MACT,OAAA,EAAS,WAAA;AAAA,MACT,SAAA,EAAW,aAAA;AAAA,MACV,GAAG,KAAA;AAAA,MACJ,cAAY,OAAA,IAAW,CAAC,WAAA,GAAc,SAAA,GAAY,MAAM,YAAY,CAAA;AAAA,MAGnE,QAAA,EAAA,OAAA,GACC,2BAEA,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,QAAA,aAAA,EAAc;AAAA,QACd,UAAU,MAAA,oBACT,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,6EAAA;AAAA,YACV,KAAA,EAAO,UAAA;AAAA,YACP,WAAA,EAAU,cAAA;AAAA,YACV,IAAA,EAAM,SAAA;AAAA,YACN,IAAA,EAAK,YAAA;AAAA,YAEJ,QAAA,EAAA;AAAA;AAAA;AACH,OAAA,EAEJ;AAAA;AAAA,GAEJ;AAGF,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,OAAA,EAAO,IAAA,EACpB,QAAA,EAAA,aAAA,EACH,CAAA;AAAA,sBACA,GAAA,CAAC,kBACE,QAAA,EAAA,OAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,OAAO,aAAA;AACT","file":"chunk-ONQCNOLU.js","sourcesContent":["import type { ButtonEventPayload, ButtonProps } from \"./Button.types\"\n\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva } from \"class-variance-authority\"\nimport { LoaderCircle } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../../feedback/Tooltip\"\nimport { Badge } from \"../Badge/Badge\"\nimport { useButtonGroup } from \"../ButtonGroup/ButtonGroup\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-[var(--button-radius-default)] font-medium transition-all duration-[var(--button-transition-duration)] ease-[var(--ease-default)] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-4 focus-visible:ring-button-ring-brand focus-visible:z-10 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive relative\",\n {\n variants: {\n fullWidth: {\n true: \"flex w-full\",\n false: \"\",\n },\n variant: {\n default:\n \"bg-[color:var(--button-primary-bg-default)] text-[color:var(--button-primary-fg-default)] border border-[color:var(--button-primary-border-default)] shadow-[var(--button-shadow-default)] hover:bg-[color:var(--button-primary-bg-hover)] hover:border-[color:var(--button-primary-border-hover)] disabled:bg-[color:var(--button-disabled-bg)] disabled:border-[color:var(--button-disabled-border)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 hover:translate-y-px active:translate-y-0.5\",\n primary:\n \"bg-[color:var(--button-primary-bg-default)] text-[color:var(--button-primary-fg-default)] border border-[color:var(--button-primary-border-default)] shadow-[var(--button-shadow-default)] hover:bg-[color:var(--button-primary-bg-hover)] hover:border-[color:var(--button-primary-border-hover)] disabled:bg-[color:var(--button-disabled-bg)] disabled:border-[color:var(--button-disabled-border)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 hover:translate-y-px active:translate-y-0.5\",\n destructive:\n \"bg-[color:var(--button-destructive-bg-default)] text-[color:var(--button-destructive-fg-default)] hover:bg-[color:var(--button-destructive-bg-hover)] focus-visible:ring-4 focus-visible:ring-[color:var(--button-ring-destructive)] dark:bg-destructive/60 hover:translate-y-px active:translate-y-0.5\",\n outline:\n \"border border-input bg-background shadow-[var(--button-shadow-xs)] hover:bg-accent hover:text-accent-foreground focus-visible:border-ring dark:bg-input/30 dark:border-input dark:hover:bg-input/50 hover:translate-y-px active:translate-y-0.5\",\n dashed:\n \"border border-dashed border-input bg-background shadow-[var(--button-shadow-xs)] hover:bg-accent hover:text-accent-foreground focus-visible:border-ring dark:bg-input/30 dark:border-input dark:hover:bg-input/50 hover:translate-y-px active:translate-y-0.5\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 hover:translate-y-px active:translate-y-0.5\",\n \"secondary-gray\":\n \"bg-[color:var(--button-secondary-gray-bg-default)] text-[color:var(--button-secondary-gray-fg-default)] border border-[color:var(--button-secondary-gray-border-default)] shadow-[var(--button-shadow-xs)] hover:bg-[color:var(--button-secondary-gray-bg-hover)] hover:text-[color:var(--button-secondary-gray-fg-hover)] hover:border-[color:var(--button-secondary-gray-border-hover)] focus-visible:ring-4 focus-visible:ring-[color:var(--button-ring-gray)] disabled:bg-[color:var(--button-secondary-gray-bg-default)] disabled:border-[color:var(--button-disabled-border)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 hover:translate-y-px active:translate-y-0.5\",\n \"secondary-color\":\n \"bg-[color:var(--button-secondary-color-bg-default)] text-[color:var(--button-secondary-color-fg-default)] border border-[color:var(--button-secondary-color-border-default)] shadow-[var(--button-shadow-xs)] hover:bg-[color:var(--button-secondary-color-bg-hover)] hover:text-[color:var(--button-secondary-color-fg-hover)] hover:border-[color:var(--button-secondary-color-border-hover)] focus-visible:ring-4 focus-visible:ring-[color:var(--button-ring-brand)] disabled:bg-[color:var(--button-secondary-color-bg-default)] disabled:border-[color:var(--button-disabled-border)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 hover:translate-y-px active:translate-y-0.5\",\n ghost:\n \"text-[color:var(--button-ghost-fg-default)] hover:bg-[color:var(--button-ghost-bg-hover)] hover:text-[color:var(--button-ghost-fg-hover)] dark:hover:bg-accent/50 hover:translate-y-px active:translate-y-0.5\",\n link: \"text-shadow-button underline-offset-4 hover:underline focus-visible:underline\",\n \"link-gray\":\n \"text-[color:var(--button-link-gray-fg-default)] hover:text-[color:var(--button-link-gray-fg-hover)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 focus-visible:ring-0\",\n \"link-color\":\n \"text-[color:var(--button-link-color-fg-default)] hover:text-[color:var(--button-link-color-fg-hover)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 focus-visible:ring-0\",\n \"tertiary-gray\":\n \"text-[color:var(--button-tertiary-gray-fg-default)] hover:text-[color:var(--button-tertiary-gray-fg-hover)] hover:bg-[color:var(--button-tertiary-gray-bg-hover)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 focus-visible:ring-0 hover:translate-y-px active:translate-y-0.5\",\n \"tertiary-color\":\n \"text-[color:var(--button-tertiary-color-fg-default)] hover:text-[color:var(--button-tertiary-color-fg-hover)] hover:bg-[color:var(--button-tertiary-color-bg-hover)] disabled:text-[color:var(--button-disabled-fg)] disabled:opacity-100 focus-visible:ring-0 hover:translate-y-px active:translate-y-0.5\",\n success:\n \"bg-success text-success-foreground hover:bg-success/90 focus-visible:ring-4 focus-visible:ring-[color:var(--button-ring-success)] hover:translate-y-px active:translate-y-0.5\",\n warning:\n \"bg-warning text-warning-foreground hover:bg-warning/90 focus-visible:ring-4 focus-visible:ring-[color:var(--button-ring-warning)] hover:translate-y-px active:translate-y-0.5\",\n unstyled: \"bg-transparent text-current border-0 p-0 h-auto rounded-none hover:bg-transparent shadow-none w-auto\",\n },\n size: {\n default: \"h-[var(--button-size-default-h)] px-[var(--button-size-default-px)] py-[var(--button-size-default-py)] text-[length:var(--button-size-default-text)] leading-[var(--button-size-default-leading)] gap-[var(--button-size-default-gap)]\",\n sm: \"h-[var(--button-size-sm-h)] px-[var(--button-size-sm-px)] py-[var(--button-size-sm-py)] text-[length:var(--button-size-sm-text)] leading-[var(--button-size-sm-leading)] gap-[var(--button-size-sm-gap)]\",\n lg: \"h-[var(--button-size-lg-h)] px-[var(--button-size-lg-px)] py-[var(--button-size-lg-py)] text-[length:var(--button-size-lg-text)] leading-[var(--button-size-lg-leading)] gap-[var(--button-size-lg-gap)]\",\n icon: \"size-[var(--button-size-icon-size)] p-0 gap-0\",\n \"icon-sm\": \"size-[var(--button-size-icon-sm-size)] p-0 gap-0\",\n },\n shape: {\n default: \"\",\n square: \"rounded-md\",\n circle: \"rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n shape: \"default\",\n fullWidth: false,\n },\n }\n)\n\nfunction Button({\n className,\n variant,\n tone,\n size,\n shape,\n fullWidth = false,\n asChild = false,\n badge,\n badgeColor = \"destructive\",\n badgeSize = \"sm\",\n loading = false,\n loadingText,\n icon,\n leftIcon,\n rightIcon,\n disabled,\n children,\n tooltip,\n onClick,\n onFocus,\n onBlur,\n onKeyDown,\n \"data-id\": dataId,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n\n // Get ButtonGroup context for prop inheritance\n const groupContext = useButtonGroup()\n\n // Merge props with group context (individual props take precedence)\n const effectiveSize = size ?? groupContext?.size\n const effectiveVariant = variant ?? groupContext?.buttonVariant\n const effectiveDisabled = disabled ?? groupContext?.disabled\n\n const isDisabled = effectiveDisabled ?? loading\n // Resolve virtual variants (tertiary, secondary with tone, link with tone) to actual CVA variants\n const resolvedVariant = (() => {\n // Handle virtual \"tertiary\" variant - always resolves to tertiary-gray or tertiary-color\n if (effectiveVariant === \"tertiary\") {\n return tone === \"color\" ? \"tertiary-color\" : \"tertiary-gray\"\n }\n // Handle secondary with tone\n if (effectiveVariant === \"secondary\" && tone) {\n return tone === \"gray\" ? \"secondary-gray\" : \"secondary-color\"\n }\n // Handle link with tone\n if (effectiveVariant === \"link\" && tone) {\n return tone === \"gray\" ? \"link-gray\" : \"link-color\"\n }\n // Return variant as-is for all other cases\n return effectiveVariant\n })()\n\n // Default to icon size if icon prop is provided and size is undefined\n const defaultSize = icon && !effectiveSize ? \"icon\" : effectiveSize\n\n // Create event payload for callbacks\n const createPayload = React.useCallback((): ButtonEventPayload => ({\n ...(dataId ? { id: dataId } : {}),\n timestamp: Date.now(),\n isLoading: loading,\n }), [dataId, loading])\n\n // Wrapped event handlers that emit ButtonEventPayload\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n event.preventDefault()\n return\n }\n onClick?.(event, createPayload())\n },\n [onClick, createPayload, isDisabled]\n )\n\n const handleFocus = React.useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(event, createPayload())\n },\n [onFocus, createPayload]\n )\n\n const handleBlur = React.useCallback(\n (event: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(event, createPayload())\n },\n [onBlur, createPayload]\n )\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event, createPayload())\n },\n [onKeyDown, createPayload]\n )\n\n // Determine what to render as children\n const renderContent = () => {\n if (asChild) {\n return children\n }\n\n if (loading) {\n const spinner = (\n <LoaderCircle\n className={cn(\n \"animate-spin\",\n // Center absolutely if we are preserving width (no loadingText)\n !loadingText && !defaultSize?.toString().startsWith(\"icon\") && \"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2\"\n )}\n aria-hidden=\"true\"\n data-slot=\"loading-icon\"\n data-testid=\"loading-icon\"\n />\n )\n\n if (defaultSize?.toString().startsWith(\"icon\")) {\n return spinner\n }\n\n if (loadingText) {\n return (\n <>\n {spinner}\n {loadingText}\n </>\n )\n }\n\n // Preserve width by rendering hidden children\n return (\n <>\n {spinner}\n <span aria-hidden=\"true\" className=\"opacity-0 flex items-center gap-2\">\n {leftIcon && (\n <span aria-hidden=\"true\" data-slot=\"left-icon\">\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span aria-hidden=\"true\" data-slot=\"right-icon\">\n {rightIcon}\n </span>\n )}\n </span>\n </>\n )\n }\n\n if (icon) {\n return (\n <span aria-hidden=\"true\" data-slot=\"icon\">\n {icon}\n </span>\n )\n }\n\n return (\n <>\n {leftIcon && (\n <span aria-hidden=\"true\" data-slot=\"left-icon\">\n {leftIcon}\n </span>\n )}\n {children}\n {rightIcon && (\n <span aria-hidden=\"true\" data-slot=\"right-icon\">\n {rightIcon}\n </span>\n )}\n </>\n )\n }\n\n const buttonElement = (\n <Comp\n className={cn(\n buttonVariants({\n variant: resolvedVariant,\n size: defaultSize,\n shape,\n fullWidth,\n className,\n })\n )}\n aria-busy={loading || undefined}\n aria-disabled={isDisabled || undefined}\n data-id={dataId}\n data-loading={loading || undefined}\n data-slot=\"button\"\n disabled={isDisabled}\n onBlur={handleBlur}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n {...props}\n aria-label={loading && !loadingText ? \"Loading\" : props[\"aria-label\"]}\n >\n {/* When asChild=true, Slot requires exactly ONE child element */}\n {asChild ? (\n children\n ) : (\n <>\n {renderContent()}\n {badge !== undefined && (\n <Badge\n className=\"absolute -top-1.5 -right-1.5 min-w-5 h-5 px-1.5 text-xs pointer-events-none\"\n color={badgeColor}\n data-slot=\"button-badge\"\n size={badgeSize}\n type=\"pill-color\"\n >\n {badge}\n </Badge>\n )}\n </>\n )}\n </Comp>\n )\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n {buttonElement}\n </TooltipTrigger>\n <TooltipContent>\n {tooltip}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n return buttonElement\n}\n\nexport { Button, buttonVariants }\n"]}
@@ -1,4 +1,4 @@
1
- import { Button } from './chunk-RPV77BCQ.js';
1
+ import { Button } from './chunk-ONQCNOLU.js';
2
2
  import { cn } from './chunk-HRNDJU7D.js';
3
3
  import { ChevronLeft, ChevronRight, Clock, MapPin } from 'lucide-react';
4
4
  import * as React from 'react';
@@ -1058,5 +1058,5 @@ function EventCalendar({
1058
1058
  }
1059
1059
 
1060
1060
  export { EventCalendar, EventCalendarAgenda, EventCalendarDay, EventCalendarEvent, EventCalendarHeader, EventCalendarMonth, EventCalendarWeek, eventCalendarAgendaItemVariants, eventCalendarCellVariants, eventCalendarDayNumberVariants, eventCalendarEventVariants, eventCalendarHeaderVariants, eventCalendarTimeSlotVariants, eventCalendarVariants, eventCalendarViewButtonVariants, getEventVariant };
1061
- //# sourceMappingURL=chunk-QSY52N3A.js.map
1062
- //# sourceMappingURL=chunk-QSY52N3A.js.map
1061
+ //# sourceMappingURL=chunk-OWOVCGUZ.js.map
1062
+ //# sourceMappingURL=chunk-OWOVCGUZ.js.map