@zydon/common 2.8.77 → 2.8.78

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 (44) hide show
  1. package/dist/chunk-ANEPP6QT.js +4 -0
  2. package/dist/chunk-ANEPP6QT.js.map +1 -0
  3. package/dist/chunk-BHYLHO5P.js +4 -0
  4. package/dist/chunk-BHYLHO5P.js.map +1 -0
  5. package/dist/chunk-J7RPKCIN.js +9 -0
  6. package/dist/chunk-J7RPKCIN.js.map +1 -0
  7. package/dist/chunk-SP5U3DJP.js +7 -0
  8. package/dist/chunk-SP5U3DJP.js.map +1 -0
  9. package/dist/chunk-VGTQYKAC.js +8 -0
  10. package/dist/chunk-VGTQYKAC.js.map +1 -0
  11. package/dist/chunk-XAPSXJZO.js +8 -0
  12. package/dist/chunk-XAPSXJZO.js.map +1 -0
  13. package/dist/chunk-XL6SZZGI.js +6 -0
  14. package/dist/chunk-XL6SZZGI.js.map +1 -0
  15. package/dist/{chunk-UC2R4AXD.js → chunk-XQZPUMVQ.js} +4 -4
  16. package/dist/chunk-XQZPUMVQ.js.map +1 -0
  17. package/dist/components/Analytics/OverviewAnalytics/index.js +6 -6
  18. package/dist/components/Analytics/OverviewAnalytics/index.js.map +1 -1
  19. package/dist/components/Analytics/PartnerAnalysis/index.d.ts +122 -0
  20. package/dist/components/Analytics/PartnerAnalysis/index.js +28 -0
  21. package/dist/components/Analytics/PartnerAnalysis/index.js.map +1 -0
  22. package/dist/components/Analytics/index.d.ts +36 -2
  23. package/dist/components/Analytics/index.js +26 -13
  24. package/dist/components/Analytics/index.js.map +1 -1
  25. package/dist/components/AvatarButton/index.js +4 -4
  26. package/dist/components/AvatarButton/index.js.map +1 -1
  27. package/dist/components/DateRangeCalendar/index.js +1 -7
  28. package/dist/components/DateRangeCalendar/index.js.map +1 -1
  29. package/dist/components/form/DateField/index.js +1 -8
  30. package/dist/components/form/DateField/index.js.map +1 -1
  31. package/dist/components/form/Form/index.js +1 -7
  32. package/dist/components/form/Form/index.js.map +1 -1
  33. package/dist/types/analytics.d.ts +19 -1
  34. package/dist/types/analytics.js +1 -1
  35. package/dist/types/partnerAnalysis.d.ts +91 -0
  36. package/dist/types/partnerAnalysis.js +2 -0
  37. package/dist/types/partnerAnalysis.js.map +1 -0
  38. package/dist/utils/periodDates.d.ts +20 -0
  39. package/dist/utils/periodDates.js +3 -0
  40. package/dist/utils/periodDates.js.map +1 -0
  41. package/package.json +5 -1
  42. package/dist/chunk-UC2R4AXD.js.map +0 -1
  43. package/dist/chunk-Y2SILVOR.js +0 -4
  44. package/dist/chunk-Y2SILVOR.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Analytics/AiSummary/index.tsx","../../../src/components/Analytics/AiSummary/Skeleton.tsx","../../../src/components/Analytics/AiSummary/styles.ts","../../../src/components/Analytics/AiSummary/Summary.tsx","../../../src/components/Analytics/AiSummary/Header.tsx","../../../src/components/Analytics/ExportButton/styles.ts","../../../src/components/Analytics/ExportButton/index.tsx"],"names":["AlertTitle","Button","Typography","Stack","MuiAlert","alpha","keyframes","styled","gradientAnimation","Alert","theme","primaryMain","primaryLight","LoadingAlert","jsx","jsxs","AiSummarySkeleton","Icon_default","Skeleton_default","memo","Header","Header_default","defaultFormatContent","text","SummaryContent","detail","formatContent","format","isHtml","Summary","open","toggleOpen","useResponsive_default","Drawer_default","Modal_default","Summary_default","Fragment","AiSummary","brief","isLoading","useToggle_default","Result_default","AiSummary_default","LoadingButton","MuiButton","ItemButton","ExportButton","onExport","isExporting","onOpen","onClose","usePopover_default","handleExport","MenuPopover_default","ExportFormat","index","ExportButton_default"],"mappings":"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","sourcesContent":["import AlertTitle from '@mui/material/AlertTitle';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\nimport Result from 'components/Result';\nimport useToggle from 'hooks/useToggle';\n\nimport { AiSummaryProps } from './props';\nimport AiSummarySkeleton from './Skeleton';\nimport { Alert } from './styles';\nimport Summary from './Summary';\n\nconst AiSummary = ({\n brief,\n detail,\n isLoading = false,\n formatContent,\n}: AiSummaryProps) => {\n const [open, toggleOpen] = useToggle(false);\n\n const hasSummary = !!brief && !!detail;\n\n if (!hasSummary && !isLoading) return null;\n\n return (\n <>\n <Result isLoading={isLoading} loading={<AiSummarySkeleton />}>\n <Alert\n icon={<Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" />}\n action={\n <Button\n variant={isLoading ? 'contained' : 'text'}\n color=\"primary\"\n size=\"small\"\n onClick={toggleOpen}\n >\n Ver mais\n </Button>\n }\n >\n <AlertTitle\n variant=\"subtitle1\"\n fontSize=\"subtitle1.fontSize\"\n color=\"text.primary\"\n >\n Resumo inteligente\n </AlertTitle>\n\n <Typography\n variant=\"body2\"\n fontSize=\"body2.fontSize\"\n color=\"text.secondary\"\n >\n {brief}\n </Typography>\n </Alert>\n </Result>\n\n <Summary\n open={open}\n toggleOpen={toggleOpen}\n detail={detail ?? ''}\n formatContent={formatContent}\n />\n </>\n );\n};\n\nexport default AiSummary;\n","import AlertTitle from '@mui/material/AlertTitle';\nimport Stack from '@mui/material/Stack';\n\nimport Icon from 'components/Icon';\nimport Skeleton from 'components/Skeleton';\n\nimport { LoadingAlert } from './styles';\n\nconst AiSummarySkeleton = () => (\n <LoadingAlert\n icon={<Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" />}\n action={<Skeleton variant=\"text\" width={100} height={30} />}\n >\n <AlertTitle\n variant=\"subtitle1\"\n fontSize=\"subtitle1.fontSize\"\n color=\"text.primary\"\n >\n Resumo inteligente\n </AlertTitle>\n\n <Stack gap={0.5}>\n <Skeleton variant=\"text\" width=\"100%\" height={30} />\n <Skeleton variant=\"text\" width=\"80%\" height={30} />\n </Stack>\n </LoadingAlert>\n);\n\nexport default AiSummarySkeleton;\n","import MuiAlert from '@mui/material/Alert';\nimport { alpha, keyframes, styled } from '@mui/material/styles';\n\nconst gradientAnimation = keyframes`\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 200% 50%;\n }\n`;\n\nexport const Alert = styled(MuiAlert)(({ theme }) => {\n const primaryMain = theme.palette.primary.main;\n const primaryLight = alpha(primaryMain, 0.1);\n\n return {\n position: 'relative',\n\n backgroundColor: alpha(theme.palette.primary.main, 0.01),\n border: '1px solid transparent',\n\n borderRadius: 8,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n padding: '1px',\n background: `linear-gradient(90deg, ${primaryMain} 0%, ${primaryLight} 50%, ${primaryMain} 100%)`,\n WebkitMask:\n 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n WebkitMaskComposite: 'xor',\n mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n maskComposite: 'exclude',\n pointerEvents: 'none',\n },\n\n overflow: 'hidden',\n\n '& .MuiAlert-message': {\n width: '100%',\n },\n };\n});\n\nexport const LoadingAlert = styled(Alert)({\n border: '1px solid transparent',\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n padding: '1px',\n background: 'linear-gradient(90deg, #e01cd5 0%, #1CB5E0 50%, #e01cd5 100%)',\n backgroundSize: '200% auto',\n WebkitMask:\n 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n WebkitMaskComposite: 'xor',\n mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n maskComposite: 'exclude',\n pointerEvents: 'none',\n animation: `${gradientAnimation} 2s linear infinite`,\n },\n});\n","import { memo } from 'react';\nimport Typography from '@mui/material/Typography';\n\nimport Drawer from 'components/Drawer';\nimport Modal from 'components/Modal';\nimport useResponsive from 'hooks/useResponsive';\n\nimport Header from './Header';\nimport { SummaryContentProps, SummaryProps } from './props';\n\nconst defaultFormatContent = (text: string) => text;\n\nconst SummaryContent = ({ detail, formatContent }: SummaryContentProps) => {\n const format = formatContent ?? defaultFormatContent;\n const isHtml = formatContent != null;\n\n return (\n <Typography variant=\"body2\" fontSize=\"body2.fontSize\" color=\"text.primary\">\n {isHtml ? (\n <span dangerouslySetInnerHTML={{ __html: format(detail) }} />\n ) : (\n detail\n )}\n </Typography>\n );\n};\n\nconst Summary = ({ open, toggleOpen, detail, formatContent }: SummaryProps) => {\n const isMobile = useResponsive('down', 'sm');\n\n if (isMobile) {\n return (\n <Drawer\n open={open}\n onClose={toggleOpen}\n headerTitle={<Header />}\n headerProps={{\n direction: 'row-reverse',\n sx: { '& > :last-child': { minWidth: 0, overflow: 'hidden' } },\n }}\n >\n <SummaryContent detail={detail} formatContent={formatContent} />\n </Drawer>\n );\n }\n\n return (\n <Modal\n open={open}\n onClose={toggleOpen}\n dialogTitle={<Header />}\n dialogTitleProps={{ sx: { flex: 1, overflow: 'hidden' } }}\n maxWidth=\"md\"\n fullWidth\n scroll=\"paper\"\n >\n <SummaryContent detail={detail} formatContent={formatContent} />\n </Modal>\n );\n};\n\nexport default memo(Summary);\n","import Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\n\nconst Header = () => (\n <Stack direction=\"row\" alignItems=\"center\" gap={1.5}>\n <Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" sx={{ flexGrow: 0 }} />\n\n <Stack>\n <Typography\n variant=\"subtitle1\"\n fontSize=\"subtitle1.fontSize\"\n color=\"text.primary\"\n >\n Resumo inteligente\n </Typography>\n\n <Typography\n variant=\"body2\"\n fontSize=\"body2.fontSize\"\n color=\"text.secondary\"\n >\n Gerado com base nos dados consolidados da página.\n </Typography>\n </Stack>\n </Stack>\n);\n\nexport default Header;\n","import LoadingButton from '@mui/lab/LoadingButton';\nimport MuiButton from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\n\nexport const Button = styled(MuiButton)(({ theme }) => ({\n color: theme.palette.text.secondary,\n\n '&:hover': {\n background: theme.palette.action.hover,\n },\n}));\n\nexport const ItemButton = styled(LoadingButton)(({ theme }) => ({\n justifyContent: 'flex-start',\n\n color: theme.palette.text.secondary,\n fontWeight: 400,\n\n '&:hover': {\n background: theme.palette.action.hover,\n },\n}));\n","import Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport usePopover from 'hooks/usePopover';\nimport { ExportFormat } from 'types/analytics';\n\nimport { ExportButtonProps } from './props';\nimport { Button, ItemButton } from './styles';\n\nconst ExportButton = ({ onExport, isExporting }: ExportButtonProps) => {\n const { open, onOpen, onClose } = usePopover();\n\n const handleExport = (format: ExportFormat) => {\n onExport(format);\n onClose();\n };\n\n return (\n <>\n <Button\n variant=\"text\"\n startIcon={<Icon icon=\"DOWNLOAD\" />}\n color=\"primary\"\n size=\"small\"\n onClick={onOpen}\n disabled={isExporting}\n >\n {isExporting ? 'Exportando...' : 'Exportar'}\n </Button>\n\n <MenuPopover\n open={open}\n onClose={onClose}\n disabledArrow\n sx={{ p: 1, width: 180 }}\n >\n {Object.values(ExportFormat).map((format, index) => (\n <ItemButton\n key={index}\n variant=\"text\"\n onClick={() => handleExport(format)}\n loading={isExporting}\n fullWidth\n data-testid={`export-button-${index}`}\n >\n {format}\n </ItemButton>\n ))}\n </MenuPopover>\n </>\n );\n};\n\nexport default ExportButton;\n"]}
1
+ {"version":3,"sources":["../../../src/components/Analytics/AiSummary/index.tsx","../../../src/components/Analytics/AiSummary/Skeleton.tsx","../../../src/components/Analytics/AiSummary/styles.ts","../../../src/components/Analytics/AiSummary/Summary.tsx","../../../src/components/Analytics/AiSummary/Header.tsx","../../../src/components/Analytics/ExportButton/styles.ts","../../../src/components/Analytics/ExportButton/index.tsx","../../../src/components/Analytics/FilterDate/index.tsx","../../../src/components/Analytics/FilterDate/styles.ts"],"names":["AlertTitle","Button","Typography","Stack","MuiAlert","alpha","keyframes","styled","gradientAnimation","Alert","theme","primaryMain","primaryLight","LoadingAlert","jsx","jsxs","AiSummarySkeleton","Icon_default","Skeleton_default","memo","Header","Header_default","defaultFormatContent","text","SummaryContent","detail","formatContent","format","isHtml","Summary","open","toggleOpen","useResponsive_default","Drawer_default","Modal_default","Summary_default","Fragment","AiSummary","brief","isLoading","useToggle_default","Result_default","AiSummary_default","LoadingButton","MuiButton","ItemButton","ExportButton","onExport","isExporting","onOpen","onClose","usePopover_default","handleExport","MenuPopover_default","ExportFormat","index","ExportButton_default","useCallback","useState","useForm","Divider","FormControlLabel","Radio","RadioGroup","dayjs","DateRangeCalendar","DateRangeCalendar_default","daysOfWeek","FilterDate","value","onSave","isMobile","methods","handleSubmit","setValue","getValues","selectedPeriod","setSelectedPeriod","dateRange","setDateRange","handlePeriodChange","period","dates","getPeriodDates","handleCalendarChange","newRange","matchingPeriod","findMatchingPeriod","handleStartDateChange","date","endDate","handleEndDateChange","startDate","handleAutocompletePeriodChange","newValue","onSubmit","formData","toFilterDateState","Form_default","DateField_default","SimpleCard_default","Autocomplete_default","periodOptions","_","FilterPeriod","o","day","FilterDate_default"],"mappings":"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","sourcesContent":["import AlertTitle from '@mui/material/AlertTitle';\nimport Button from '@mui/material/Button';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\nimport Result from 'components/Result';\nimport useToggle from 'hooks/useToggle';\n\nimport { AiSummaryProps } from './props';\nimport AiSummarySkeleton from './Skeleton';\nimport { Alert } from './styles';\nimport Summary from './Summary';\n\nconst AiSummary = ({\n brief,\n detail,\n isLoading = false,\n formatContent,\n}: AiSummaryProps) => {\n const [open, toggleOpen] = useToggle(false);\n\n const hasSummary = !!brief && !!detail;\n\n if (!hasSummary && !isLoading) return null;\n\n return (\n <>\n <Result isLoading={isLoading} loading={<AiSummarySkeleton />}>\n <Alert\n icon={<Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" />}\n action={\n <Button\n variant={isLoading ? 'contained' : 'text'}\n color=\"primary\"\n size=\"small\"\n onClick={toggleOpen}\n >\n Ver mais\n </Button>\n }\n >\n <AlertTitle variant=\"subtitle1\" color=\"text.primary\">\n Resumo inteligente\n </AlertTitle>\n\n <Typography variant=\"body2\" color=\"text.secondary\">\n {brief}\n </Typography>\n </Alert>\n </Result>\n\n <Summary\n open={open}\n toggleOpen={toggleOpen}\n detail={detail ?? ''}\n formatContent={formatContent}\n />\n </>\n );\n};\n\nexport default AiSummary;\n","import AlertTitle from '@mui/material/AlertTitle';\nimport Stack from '@mui/material/Stack';\n\nimport Icon from 'components/Icon';\nimport Skeleton from 'components/Skeleton';\n\nimport { LoadingAlert } from './styles';\n\nconst AiSummarySkeleton = () => (\n <LoadingAlert\n icon={<Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" />}\n action={<Skeleton variant=\"text\" width={100} height={30} />}\n >\n <AlertTitle variant=\"subtitle1\" color=\"text.primary\">\n Resumo inteligente\n </AlertTitle>\n\n <Stack gap={0.5}>\n <Skeleton variant=\"text\" width=\"100%\" height={30} />\n <Skeleton variant=\"text\" width=\"80%\" height={30} />\n </Stack>\n </LoadingAlert>\n);\n\nexport default AiSummarySkeleton;\n","import MuiAlert from '@mui/material/Alert';\nimport { alpha, keyframes, styled } from '@mui/material/styles';\n\nconst gradientAnimation = keyframes`\n 0% {\n background-position: 0% 50%;\n }\n 100% {\n background-position: 200% 50%;\n }\n`;\n\nexport const Alert = styled(MuiAlert)(({ theme }) => {\n const primaryMain = theme.palette.primary.main;\n const primaryLight = alpha(primaryMain, 0.1);\n\n return {\n position: 'relative',\n\n backgroundColor: alpha(theme.palette.primary.main, 0.01),\n border: '1px solid transparent',\n\n borderRadius: 8,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n padding: '1px',\n background: `linear-gradient(90deg, ${primaryMain} 0%, ${primaryLight} 50%, ${primaryMain} 100%)`,\n WebkitMask:\n 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n WebkitMaskComposite: 'xor',\n mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n maskComposite: 'exclude',\n pointerEvents: 'none',\n },\n\n overflow: 'hidden',\n\n '& .MuiAlert-message': {\n width: '100%',\n },\n };\n});\n\nexport const LoadingAlert = styled(Alert)({\n border: '1px solid transparent',\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n padding: '1px',\n background: 'linear-gradient(90deg, #e01cd5 0%, #1CB5E0 50%, #e01cd5 100%)',\n backgroundSize: '200% auto',\n WebkitMask:\n 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n WebkitMaskComposite: 'xor',\n mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',\n maskComposite: 'exclude',\n pointerEvents: 'none',\n animation: `${gradientAnimation} 2s linear infinite`,\n },\n});\n","import { memo } from 'react';\nimport Typography from '@mui/material/Typography';\n\nimport Drawer from 'components/Drawer';\nimport Modal from 'components/Modal';\nimport useResponsive from 'hooks/useResponsive';\n\nimport Header from './Header';\nimport { SummaryContentProps, SummaryProps } from './props';\n\nconst defaultFormatContent = (text: string) => text;\n\nconst SummaryContent = ({ detail, formatContent }: SummaryContentProps) => {\n const format = formatContent ?? defaultFormatContent;\n const isHtml = formatContent != null;\n\n return (\n <Typography variant=\"body2\" color=\"text.primary\">\n {isHtml ? (\n <span dangerouslySetInnerHTML={{ __html: format(detail) }} />\n ) : (\n detail\n )}\n </Typography>\n );\n};\n\nconst Summary = ({ open, toggleOpen, detail, formatContent }: SummaryProps) => {\n const isMobile = useResponsive('down', 'sm');\n\n if (isMobile) {\n return (\n <Drawer\n open={open}\n onClose={toggleOpen}\n headerTitle={<Header />}\n headerProps={{\n direction: 'row-reverse',\n sx: { '& > :last-child': { minWidth: 0, overflow: 'hidden' } },\n }}\n >\n <SummaryContent detail={detail} formatContent={formatContent} />\n </Drawer>\n );\n }\n\n return (\n <Modal\n open={open}\n onClose={toggleOpen}\n dialogTitle={<Header />}\n dialogTitleProps={{ sx: { flex: 1, overflow: 'hidden' } }}\n maxWidth=\"md\"\n fullWidth\n scroll=\"paper\"\n >\n <SummaryContent detail={detail} formatContent={formatContent} />\n </Modal>\n );\n};\n\nexport default memo(Summary);\n","import Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\n\nconst Header = () => (\n <Stack direction=\"row\" alignItems=\"center\" gap={1.5}>\n <Icon icon=\"AI_08_SOLID_ROUND\" color=\"primary.main\" sx={{ flexGrow: 0 }} />\n\n <Stack>\n <Typography variant=\"subtitle1\" color=\"text.primary\">\n Resumo inteligente\n </Typography>\n\n <Typography variant=\"body2\" color=\"text.secondary\">\n Gerado com base nos dados consolidados da página.\n </Typography>\n </Stack>\n </Stack>\n);\n\nexport default Header;\n","import LoadingButton from '@mui/lab/LoadingButton';\nimport MuiButton from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\n\nexport const Button = styled(MuiButton)(({ theme }) => ({\n color: theme.palette.text.secondary,\n\n '&:hover': {\n background: theme.palette.action.hover,\n },\n}));\n\nexport const ItemButton = styled(LoadingButton)(({ theme }) => ({\n justifyContent: 'flex-start',\n\n color: theme.palette.text.secondary,\n fontWeight: 400,\n\n '&:hover': {\n background: theme.palette.action.hover,\n },\n}));\n","import Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport usePopover from 'hooks/usePopover';\nimport { ExportFormat } from 'types/analytics';\n\nimport { ExportButtonProps } from './props';\nimport { Button, ItemButton } from './styles';\n\nconst ExportButton = ({ onExport, isExporting }: ExportButtonProps) => {\n const { open, onOpen, onClose } = usePopover();\n\n const handleExport = (format: ExportFormat) => {\n onExport(format);\n onClose();\n };\n\n return (\n <>\n <Button\n variant=\"text\"\n startIcon={<Icon icon=\"DOWNLOAD\" />}\n color=\"primary\"\n size=\"small\"\n onClick={onOpen}\n disabled={isExporting}\n >\n {isExporting ? 'Exportando...' : 'Exportar'}\n </Button>\n\n <MenuPopover\n open={open}\n onClose={onClose}\n disabledArrow\n sx={{ p: 1, width: 180 }}\n >\n {Object.values(ExportFormat).map((format, index) => (\n <ItemButton\n key={index}\n variant=\"text\"\n onClick={() => handleExport(format)}\n loading={isExporting}\n fullWidth\n data-testid={`export-button-${index}`}\n >\n {format}\n </ItemButton>\n ))}\n </MenuPopover>\n </>\n );\n};\n\nexport default ExportButton;\n","import { useCallback, useState } from 'react';\nimport { useForm } from 'react-hook-form';\nimport Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport dayjs from 'dayjs';\n\nimport Autocomplete from 'components/Autocomplete';\nimport DateField from 'components/form/DateField';\nimport Form from 'components/form/Form';\nimport SimpleCard from 'components/SimpleCard';\nimport useResponsive from 'hooks/useResponsive';\nimport { FilterPeriod } from 'types/analytics';\nimport {\n findMatchingPeriod,\n getPeriodDates,\n periodOptions,\n toFilterDateState,\n} from 'utils/periodDates';\n\nimport { FilterDateForm, FilterDateProps } from './props';\nimport { DateRangeCalendar } from './styles';\n\nconst daysOfWeek = ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'];\n\nconst FilterDate = ({ value, onSave, onClose }: FilterDateProps) => {\n const isMobile = useResponsive('down', 'sm');\n\n const methods = useForm<FilterDateForm>({\n defaultValues: {\n period: value.period,\n start_date: value.start_date ? dayjs(value.start_date).toDate() : null,\n end_date: value.end_date ? dayjs(value.end_date).toDate() : null,\n },\n });\n\n const { handleSubmit, setValue, getValues } = methods;\n\n const [selectedPeriod, setSelectedPeriod] = useState<FilterPeriod>(\n value.period,\n );\n\n const [dateRange, setDateRange] = useState<[Date | null, Date | null]>(() => [\n value.start_date ? dayjs(value.start_date).toDate() : null,\n value.end_date ? dayjs(value.end_date).toDate() : null,\n ]);\n\n const handlePeriodChange = useCallback(\n (period: FilterPeriod) => {\n const dates = getPeriodDates(period);\n\n setSelectedPeriod(period);\n setDateRange([dates.start_date, dates.end_date]);\n\n setValue('period', period);\n setValue('start_date', dates.start_date);\n setValue('end_date', dates.end_date);\n },\n [setValue],\n );\n\n const handleCalendarChange = useCallback(\n (newRange: [Date | null, Date | null]) => {\n setDateRange(newRange);\n\n if (newRange[0]) setValue('start_date', newRange[0]);\n if (newRange[1]) setValue('end_date', newRange[1]);\n\n if (newRange[0] && newRange[1]) {\n const matchingPeriod = findMatchingPeriod(newRange[0], newRange[1]);\n setSelectedPeriod(matchingPeriod);\n setValue('period', matchingPeriod);\n }\n },\n [setValue],\n );\n\n const handleStartDateChange = useCallback(\n (date: Date) => {\n setValue('start_date', date);\n\n const endDate = getValues('end_date');\n\n if (date && endDate) {\n const newRange: [Date, Date] = [date, endDate];\n setDateRange(newRange);\n const matchingPeriod = findMatchingPeriod(newRange[0], newRange[1]);\n setSelectedPeriod(matchingPeriod);\n setValue('period', matchingPeriod);\n }\n },\n [getValues, setValue],\n );\n\n const handleEndDateChange = useCallback(\n (date: Date) => {\n setValue('end_date', date);\n\n const startDate = getValues('start_date');\n\n if (startDate && date) {\n const newRange: [Date, Date] = [startDate, date];\n setDateRange(newRange);\n const matchingPeriod = findMatchingPeriod(newRange[0], newRange[1]);\n setSelectedPeriod(matchingPeriod);\n setValue('period', matchingPeriod);\n }\n },\n [getValues, setValue],\n );\n\n const handleAutocompletePeriodChange = useCallback(\n (newValue: string | string[] | null) => {\n if (newValue && typeof newValue === 'string') {\n handlePeriodChange(newValue as FilterPeriod);\n }\n },\n [handlePeriodChange],\n );\n\n const onSubmit = useCallback(\n (formData: FilterDateForm) => {\n onSave(toFilterDateState(formData));\n },\n [onSave],\n );\n\n return (\n <Form methods={methods} onSubmit={handleSubmit(onSubmit)} gap={3}>\n <Typography variant=\"overline\" color=\"text.secondary\">\n Defina o período\n </Typography>\n\n <Stack\n display=\"grid\"\n gridTemplateColumns=\"1fr 1fr\"\n alignItems=\"center\"\n gap={1.5}\n >\n <DateField\n name=\"start_date\"\n label=\"Data inicial\"\n size=\"small\"\n onChange={handleStartDateChange}\n />\n <DateField\n name=\"end_date\"\n label=\"Data final\"\n size=\"small\"\n onChange={handleEndDateChange}\n />\n </Stack>\n\n <SimpleCard\n direction={{ xs: 'column', sm: 'row' }}\n alignItems=\"center\"\n justifyContent={{ xs: 'center', sm: 'space-between' }}\n gap={{ xs: 3, sm: 0 }}\n overflow=\"hidden\"\n >\n {!isMobile ? (\n <RadioGroup\n value={selectedPeriod}\n onChange={(_, newValue) =>\n handlePeriodChange(newValue as FilterPeriod)\n }\n >\n {Object.values(FilterPeriod).map(period => (\n <FormControlLabel\n key={period}\n value={period}\n control={<Radio size=\"small\" />}\n label={periodOptions.find(o => o.value === period)?.label}\n />\n ))}\n </RadioGroup>\n ) : (\n <Autocomplete\n name=\"period\"\n value={selectedPeriod}\n onChange={handleAutocompletePeriodChange}\n options={periodOptions}\n size=\"small\"\n disableClearable\n fullWidth\n />\n )}\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ display: { xs: 'none', sm: 'block' } }}\n />\n\n <DateRangeCalendar\n value={dateRange}\n onChange={handleCalendarChange}\n calendars={1}\n showDaysOutsideCurrentMonth\n fixedWeekNumber={6}\n disableFuture\n dayOfWeekFormatter={day => {\n return daysOfWeek[day.day()];\n }}\n />\n </SimpleCard>\n\n <Stack alignItems=\"flex-end\">\n <Stack direction=\"row\" alignItems=\"center\" gap={1.5}>\n <Button variant=\"outlined\" color=\"inherit\" onClick={onClose}>\n Cancelar\n </Button>\n\n <Button variant=\"contained\" type=\"submit\">\n Salvar\n </Button>\n </Stack>\n </Stack>\n </Form>\n );\n};\n\nexport default FilterDate;\n","import { styled } from '@mui/material/styles';\nimport CommonDateRangeCalendar from 'components/DateRangeCalendar';\n\nexport const DateRangeCalendar = styled(CommonDateRangeCalendar)(\n ({ theme }) => ({\n '&.MuiDateRangeCalendar-root': {\n margin: -24,\n },\n\n '& .MuiPickersCalendarHeader-label': {\n textTransform: 'capitalize',\n },\n\n [theme.breakpoints.down(400)]: {\n '& .MuiPickersCalendarHeader-root': {\n padding: theme.spacing(0, 7),\n },\n\n '& .MuiDayCalendar-header, & .MuiDayCalendar-weekContainer': {\n gap: 0,\n },\n\n '& .MuiPickersDay-root, & .MuiDateRangePickerDay-root': {\n width: 32,\n height: 32,\n },\n\n '& .MuiDayCalendar-weekDayLabel': {\n width: 32,\n height: 32,\n },\n\n '& .MuiDayCalendar-slideTransition': {\n minHeight: 210,\n },\n },\n\n [theme.breakpoints.down(350)]: {\n '& .MuiPickersDay-root, & .MuiDateRangePickerDay-root': {\n width: 28,\n height: 28,\n },\n\n '& .MuiDayCalendar-weekDayLabel': {\n width: 28,\n height: 28,\n },\n\n '& .MuiDayCalendar-slideTransition': {\n minHeight: 196,\n },\n },\n }),\n);\n"]}
@@ -16,16 +16,16 @@ import '../../chunk-LNESYSHP.js';
16
16
  import '../../chunk-YPL4KIKN.js';
17
17
  import '../../chunk-HBOBTNB5.js';
18
18
  import '../../chunk-GLRLKFPS.js';
19
- import j from '@mui/material/Avatar';
19
+ import G from '@mui/material/Avatar';
20
20
  import d from '@mui/material/Divider';
21
21
  import p from '@mui/material/Stack';
22
22
  import { styled, alpha } from '@mui/material/styles';
23
23
  import i from '@mui/material/Typography';
24
- import M from '@mui/lab/LoadingButton';
25
- import _ from '@mui/material/Button';
24
+ import _ from '@mui/lab/LoadingButton';
25
+ import O from '@mui/material/Button';
26
26
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
27
27
 
28
- var h=styled(p)({width:40,height:40,alignItems:"center",justifyContent:"center",borderRadius:"50%",border:"2px solid #1C1C1C",cursor:"pointer"}),w=styled(a)(({theme:o})=>({width:322,marginTop:20,"& .MuiPopover-paper":{width:540,padding:0,backgroundColor:o.palette.background.paper,borderRadius:o.spacing(1),backgroundImage:"none"}})),T=styled(p)(({theme:o})=>({alignItems:"center",justifyContent:"center",gap:o.spacing(1.5),padding:o.spacing(3),backgroundColor:alpha(o.palette.primary.main,.04)})),c=styled(p)(({theme:o})=>({marginLeft:o.spacing(1.75),marginRight:o.spacing(1.75),marginTop:o.spacing(2),marginBottom:o.spacing(2),gap:o.spacing(1)})),R=styled(_)(({theme:o})=>({width:"100%",alignItems:"flex-start",justifyContent:"flex-start",color:o.palette.text.primary})),z=styled(p)(({theme:o})=>({display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:o.spacing(2),cursor:"pointer"})),s=styled(p)(({theme:o})=>({alignItems:"center",gap:o.spacing(.5),color:o.palette.text.secondary,textAlign:"center","&:hover":{color:o.palette.primary.main}})),A=styled(M)(({theme:o})=>({width:"100%",alignItems:"flex-start",justifyContent:"flex-start",color:o.palette.error.main}));var D=({name:o="",email:g="",src:B,content:f,menuItems:y,subContent:v,logout:P,loadingLogout:S})=>{let m=a$1();return jsxs(Fragment,{children:[jsx(h,{"data-testid":"avatar-trigger-button",children:jsx(a$2,{alt:o,name:o,src:B,onClick:m.onOpen,"data-testid":"avatar-trigger",sx:{maxWidth:34,maxHeight:34}})}),jsxs(w,{open:m.open,onClose:m.onClose,arrow:"top-right",disableRestoreFocus:!0,"data-testid":"avatar-menu",children:[jsxs(T,{"data-testid":"avatar-account",children:[jsx(j,{sx:{bgcolor:r=>r.palette.mode==="dark"?alpha(r.palette.primary.main,.04):"success.lighter",border:r=>r.palette.mode==="dark"?"1px solid rgb(255, 252, 252)":"none",color:r=>r.palette.mode==="dark"?"primary.contrastText":"success.main",width:60,height:60},"data-testid":"avatar-initials",children:o.slice(0,2).toUpperCase()}),jsxs(p,{alignItems:"center",textAlign:"center",children:[jsx(i,{variant:"subtitle2",fontSize:"subtitle2.fontSize",color:"text.primary",children:o}),jsx(i,{variant:"body2",fontSize:"body2.fontSize",color:"text.secondary",children:g})]})]}),jsx(d,{}),f&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-content",children:f}),jsx(d,{})]}),y&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-menu-items",children:y.map(r=>jsx(R,{"data-testid":`avatar-menu-item-${r.label.toLowerCase().replace(/\s+/g,"-")}`,startIcon:jsx(a$3,{icon:r.icon,color:L=>L.palette.mode==="dark"?"text.secondary":"primary.main"}),...r.component&&{component:r.component,to:r.to},...r.onClick&&{onClick:r.onClick},children:jsxs(p,{direction:"row",alignItems:"center",justifyContent:"space-between",flex:1,gap:1,children:[jsx(i,{variant:"caption",fontSize:13,color:"text.secondary",children:r.label}),jsx(a$3,{icon:"ARROW_RIGHT_SIMPLE",color:"text.primary"})]})},r.label))}),jsx(d,{})]}),v&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-subcontent",children:v}),jsx(d,{})]}),jsx(c,{"data-testid":"avatar-resources",children:jsxs(z,{children:[jsxs(s,{"data-testid":"resource-discord",onClick:()=>window.open("https://discord.gg/HMpBbABGVW","_blank"),children:[jsx(a$3,{icon:"DISCORD",color:"primary.main"}),jsx(i,{variant:"caption",fontSize:"caption.fontSize",children:"Comunidade"})]}),jsxs(s,{"data-testid":"resource-youtube",onClick:()=>window.open("https://youtube.com/playlist?list=PLqv8txNiT9o_LReCh5wKPiQaeBTg2Q1i3&si=3nGSAU3AdcPwoa-R","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"YOUTUBE",color:"primary.main"}),jsx(i,{variant:"caption",fontSize:"caption.fontSize",children:"Videos"})]}),jsxs(s,{"data-testid":"resource-ajuda",onClick:()=>window.open("https://ajuda.zydon.com.br","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"HELP_CIRCLE",color:"primary.main"}),jsx(i,{variant:"caption",fontSize:"caption.fontSize",children:"Ajuda"})]}),jsxs(s,{"data-testid":"resource-docs",onClick:()=>window.open("https://docs.zydon.com.br","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"CODE_FOLDER",color:"primary.main"}),jsx(i,{variant:"caption",fontSize:"caption.fontSize",children:"Docs"})]})]})}),jsx(d,{}),jsxs(c,{direction:"row",children:[jsx(A,{"data-testid":"logout-button",startIcon:jsx(a$3,{icon:"LOGOUT_02"}),size:"small",onClick:P,loading:S,children:S?"Saindo...":"Sair"}),a$4(g)&&jsxs(p,{direction:"row",alignItems:"center",gap:1,children:[jsx(i,{variant:"overline",fontSize:11,color:"text.disabled",children:"Apar\xEAncia:"}),jsx(a$5,{})]})]})]})]})},rt=D;
28
+ var w=styled(p)({width:40,height:40,alignItems:"center",justifyContent:"center",borderRadius:"50%",border:"2px solid #1C1C1C",cursor:"pointer"}),T=styled(a)(({theme:o})=>({width:322,marginTop:20,"& .MuiPopover-paper":{width:540,padding:0,backgroundColor:o.palette.background.paper,borderRadius:o.spacing(1),backgroundImage:"none"}})),R=styled(p)(({theme:o})=>({alignItems:"center",justifyContent:"center",gap:o.spacing(1.5),padding:o.spacing(3),backgroundColor:alpha(o.palette.primary.main,.04)})),c=styled(p)(({theme:o})=>({marginLeft:o.spacing(1.75),marginRight:o.spacing(1.75),marginTop:o.spacing(2),marginBottom:o.spacing(2),gap:o.spacing(1)})),S=styled(O)(({theme:o})=>({width:"100%",alignItems:"flex-start",justifyContent:"flex-start",color:o.palette.text.primary})),A=styled(p)(({theme:o})=>({display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:o.spacing(2),cursor:"pointer"})),s=styled(p)(({theme:o})=>({alignItems:"center",gap:o.spacing(.5),color:o.palette.text.secondary,textAlign:"center","&:hover":{color:o.palette.primary.main}})),B=styled(_)(({theme:o})=>({width:"100%",alignItems:"flex-start",justifyContent:"flex-start",color:o.palette.error.main}));var E=({name:o="",email:g="",src:P,content:y,menuItems:f,subContent:v,logout:L,loadingLogout:x})=>{let m=a$1();return jsxs(Fragment,{children:[jsx(w,{"data-testid":"avatar-trigger-button",children:jsx(a$2,{alt:o,name:o,src:P,onClick:m.onOpen,"data-testid":"avatar-trigger",sx:{maxWidth:34,maxHeight:34}})}),jsxs(T,{open:m.open,onClose:m.onClose,arrow:"top-right",disableRestoreFocus:!0,"data-testid":"avatar-menu",children:[jsxs(R,{"data-testid":"avatar-account",children:[jsx(G,{sx:{bgcolor:r=>r.palette.mode==="dark"?alpha(r.palette.primary.main,.04):"success.lighter",border:r=>r.palette.mode==="dark"?"1px solid rgb(255, 252, 252)":"none",color:r=>r.palette.mode==="dark"?"primary.contrastText":"success.main",width:60,height:60},"data-testid":"avatar-initials",children:o.slice(0,2).toUpperCase()}),jsxs(p,{alignItems:"center",textAlign:"center",children:[jsx(i,{variant:"subtitle2",color:"text.primary",children:o}),jsx(i,{variant:"body2",color:"text.secondary",children:g})]})]}),jsx(d,{}),y&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-content",children:y}),jsx(d,{})]}),f&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-menu-items",children:f.map(r=>jsx(S,{"data-testid":`avatar-menu-item-${r.label.toLowerCase().replace(/\s+/g,"-")}`,startIcon:jsx(a$3,{icon:r.icon,color:M=>M.palette.mode==="dark"?"text.secondary":"primary.main"}),...r.component&&{component:r.component,to:r.to},...r.onClick&&{onClick:r.onClick},children:jsxs(p,{direction:"row",alignItems:"center",justifyContent:"space-between",flex:1,gap:1,children:[jsx(i,{variant:"caption",fontSize:13,color:"text.secondary",children:r.label}),jsx(a$3,{icon:"ARROW_RIGHT_SIMPLE",color:"text.primary"})]})},r.label))}),jsx(d,{})]}),v&&jsxs(Fragment,{children:[jsx(c,{"data-testid":"avatar-subcontent",children:v}),jsx(d,{})]}),jsx(c,{"data-testid":"avatar-resources",children:jsxs(A,{children:[jsxs(s,{"data-testid":"resource-discord",onClick:()=>window.open("https://discord.gg/HMpBbABGVW","_blank"),children:[jsx(a$3,{icon:"DISCORD",color:"primary.main"}),jsx(i,{variant:"caption",children:"Comunidade"})]}),jsxs(s,{"data-testid":"resource-youtube",onClick:()=>window.open("https://youtube.com/playlist?list=PLqv8txNiT9o_LReCh5wKPiQaeBTg2Q1i3&si=3nGSAU3AdcPwoa-R","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"YOUTUBE",color:"primary.main"}),jsx(i,{variant:"caption",children:"Videos"})]}),jsxs(s,{"data-testid":"resource-ajuda",onClick:()=>window.open("https://ajuda.zydon.com.br","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"HELP_CIRCLE",color:"primary.main"}),jsx(i,{variant:"caption",children:"Ajuda"})]}),jsxs(s,{"data-testid":"resource-docs",onClick:()=>window.open("https://docs.zydon.com.br","_blank","noopener noreferrer"),children:[jsx(a$3,{icon:"CODE_FOLDER",color:"primary.main"}),jsx(i,{variant:"caption",children:"Docs"})]})]})}),jsx(d,{}),jsxs(c,{direction:"row",children:[jsx(B,{"data-testid":"logout-button",startIcon:jsx(a$3,{icon:"LOGOUT_02"}),size:"small",onClick:L,loading:x,children:x?"Saindo...":"Sair"}),a$4(g)&&jsxs(p,{direction:"row",alignItems:"center",gap:1,children:[jsx(i,{variant:"overline",fontSize:11,color:"text.disabled",children:"Apar\xEAncia:"}),jsx(a$5,{})]})]})]})]})},rt=E;
29
29
 
30
30
  export { rt as default };
31
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AvatarButton/index.tsx","../../../src/components/AvatarButton/styles.ts"],"names":["Avatar","Divider","Stack","alpha","Typography","MuiLoadingButton","MuiButton","styled","Button","MenuPopover","MenuPopover_default","theme","AccountInformations","Section","MenuItem","ResourcesGrid","ResourceItem","LogoutButton","Fragment","jsx","jsxs","AvatarButton","name","email","src","content","menuItems","subContent","logout","loadingLogout","popover","usePopover_default","CustomAvatar_default","item","Icon_default","checkIsSpecialUser","Toggle_default","AvatarButton_default"],"mappings":"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","sourcesContent":["import Avatar from '@mui/material/Avatar';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport type { Theme } from '@mui/material/styles';\nimport { alpha } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nimport CustomAvatar from 'components/CustomAvatar';\nimport Icon from 'components/Icon';\nimport ToggleTheme from 'components/ToggleTheme';\nimport usePopover from 'hooks/usePopover';\nimport { checkIsSpecialUser } from 'utils/user';\n\nimport { AvatarButtonProps } from './props';\nimport {\n AccountInformations,\n Button,\n LogoutButton,\n MenuItem,\n MenuPopover,\n ResourceItem,\n ResourcesGrid,\n Section,\n} from './styles';\n\nconst AvatarButton = ({\n name = '',\n email = '',\n src,\n content,\n menuItems,\n subContent,\n logout,\n loadingLogout,\n}: AvatarButtonProps) => {\n const popover = usePopover();\n\n return (\n <>\n <Button data-testid=\"avatar-trigger-button\">\n <CustomAvatar\n alt={name}\n name={name}\n src={src}\n onClick={popover.onOpen}\n data-testid=\"avatar-trigger\"\n sx={{ maxWidth: 34, maxHeight: 34 }}\n />\n </Button>\n\n <MenuPopover\n open={popover.open}\n onClose={popover.onClose}\n arrow=\"top-right\"\n disableRestoreFocus\n data-testid=\"avatar-menu\"\n >\n <AccountInformations data-testid=\"avatar-account\">\n <Avatar\n sx={{\n bgcolor: theme =>\n theme.palette.mode === 'dark'\n ? alpha(theme.palette.primary.main, 0.04)\n : 'success.lighter',\n border: theme =>\n theme.palette.mode === 'dark'\n ? '1px solid rgb(255, 252, 252)'\n : 'none',\n color: theme =>\n theme.palette.mode === 'dark'\n ? 'primary.contrastText'\n : 'success.main',\n width: 60,\n height: 60,\n }}\n data-testid=\"avatar-initials\"\n >\n {name.slice(0, 2).toUpperCase()}\n </Avatar>\n\n <Stack alignItems=\"center\" textAlign=\"center\">\n <Typography\n variant=\"subtitle2\"\n fontSize=\"subtitle2.fontSize\"\n color=\"text.primary\"\n >\n {name}\n </Typography>\n\n <Typography\n variant=\"body2\"\n fontSize=\"body2.fontSize\"\n color=\"text.secondary\"\n >\n {email}\n </Typography>\n </Stack>\n </AccountInformations>\n\n <Divider />\n\n {content && (\n <>\n <Section data-testid=\"avatar-content\">{content}</Section>\n <Divider />\n </>\n )}\n\n {menuItems && (\n <>\n <Section data-testid=\"avatar-menu-items\">\n {menuItems.map(item => (\n <MenuItem\n key={item.label}\n data-testid={`avatar-menu-item-${item.label\n .toLowerCase()\n .replace(/\\s+/g, '-')}`}\n startIcon={\n <Icon\n icon={item.icon}\n color={(theme: Theme) =>\n theme.palette.mode === 'dark'\n ? 'text.secondary'\n : 'primary.main'\n }\n />\n }\n {...(item.component && {\n component: item.component,\n to: item.to,\n })}\n {...(item.onClick && { onClick: item.onClick })}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n flex={1}\n gap={1}\n >\n <Typography\n variant=\"caption\"\n fontSize={13}\n color=\"text.secondary\"\n >\n {item.label}\n </Typography>\n <Icon icon=\"ARROW_RIGHT_SIMPLE\" color=\"text.primary\" />\n </Stack>\n </MenuItem>\n ))}\n </Section>\n <Divider />\n </>\n )}\n\n {subContent && (\n <>\n <Section data-testid=\"avatar-subcontent\">{subContent}</Section>\n <Divider />\n </>\n )}\n\n <Section data-testid=\"avatar-resources\">\n <ResourcesGrid>\n <ResourceItem\n data-testid=\"resource-discord\"\n onClick={() =>\n window.open('https://discord.gg/HMpBbABGVW', '_blank')\n }\n >\n <Icon icon=\"DISCORD\" color=\"primary.main\" />\n <Typography variant=\"caption\" fontSize=\"caption.fontSize\">\n Comunidade\n </Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-youtube\"\n onClick={() =>\n window.open(\n 'https://youtube.com/playlist?list=PLqv8txNiT9o_LReCh5wKPiQaeBTg2Q1i3&si=3nGSAU3AdcPwoa-R',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"YOUTUBE\" color=\"primary.main\" />\n <Typography variant=\"caption\" fontSize=\"caption.fontSize\">\n Videos\n </Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-ajuda\"\n onClick={() =>\n window.open(\n 'https://ajuda.zydon.com.br',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"HELP_CIRCLE\" color=\"primary.main\" />\n <Typography variant=\"caption\" fontSize=\"caption.fontSize\">\n Ajuda\n </Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-docs\"\n onClick={() =>\n window.open(\n 'https://docs.zydon.com.br',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"CODE_FOLDER\" color=\"primary.main\" />\n <Typography variant=\"caption\" fontSize=\"caption.fontSize\">\n Docs\n </Typography>\n </ResourceItem>\n </ResourcesGrid>\n </Section>\n\n <Divider />\n\n <Section direction=\"row\">\n <LogoutButton\n data-testid=\"logout-button\"\n startIcon={<Icon icon=\"LOGOUT_02\" />}\n size=\"small\"\n onClick={logout}\n loading={loadingLogout}\n >\n {loadingLogout ? 'Saindo...' : 'Sair'}\n </LogoutButton>\n {checkIsSpecialUser(email) && (\n <Stack direction=\"row\" alignItems=\"center\" gap={1}>\n <Typography\n variant=\"overline\"\n fontSize={11}\n color=\"text.disabled\"\n >\n Aparência:\n </Typography>\n <ToggleTheme />\n </Stack>\n )}\n </Section>\n </MenuPopover>\n </>\n );\n};\n\nexport default AvatarButton;\n","import MuiLoadingButton from '@mui/lab/LoadingButton';\nimport MuiButton from '@mui/material/Button';\nimport Stack from '@mui/material/Stack';\nimport { alpha, styled } from '@mui/material/styles';\n\nimport CommonMenuPopover from 'components/MenuPopover';\n\nexport const Button = styled(Stack)({\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '50%',\n border: '2px solid #1C1C1C',\n cursor: 'pointer',\n});\n\nexport const MenuPopover = styled(CommonMenuPopover)(({ theme }) => ({\n width: 322,\n marginTop: 20,\n\n '& .MuiPopover-paper': {\n width: 540,\n padding: 0,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.spacing(1),\n backgroundImage: 'none',\n },\n}));\n\nexport const AccountInformations = styled(Stack)(({ theme }) => ({\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1.5),\n padding: theme.spacing(3),\n backgroundColor: alpha(theme.palette.primary.main, 0.04),\n}));\n\nexport const Section = styled(Stack)(({ theme }) => ({\n marginLeft: theme.spacing(1.75),\n marginRight: theme.spacing(1.75),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n gap: theme.spacing(1),\n}));\n\nexport const MenuItem = styled(MuiButton)(({ theme }) => ({\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n color: theme.palette.text.primary,\n}));\n\nexport const ResourcesGrid = styled(Stack)(({ theme }) => ({\n display: 'grid',\n gridTemplateColumns: 'repeat(4, 1fr)',\n gap: theme.spacing(2),\n cursor: 'pointer',\n}));\n\nexport const ResourceItem = styled(Stack)(({ theme }) => ({\n alignItems: 'center',\n gap: theme.spacing(0.5),\n color: theme.palette.text.secondary,\n textAlign: 'center',\n\n '&:hover': {\n color: theme.palette.primary.main,\n },\n}));\n\nexport const LogoutButton = styled(MuiLoadingButton)(({ theme }) => ({\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n color: theme.palette.error.main,\n}));\n"]}
1
+ {"version":3,"sources":["../../../src/components/AvatarButton/index.tsx","../../../src/components/AvatarButton/styles.ts"],"names":["Avatar","Divider","Stack","alpha","Typography","MuiLoadingButton","MuiButton","styled","Button","MenuPopover","MenuPopover_default","theme","AccountInformations","Section","MenuItem","ResourcesGrid","ResourceItem","LogoutButton","Fragment","jsx","jsxs","AvatarButton","name","email","src","content","menuItems","subContent","logout","loadingLogout","popover","usePopover_default","CustomAvatar_default","item","Icon_default","checkIsSpecialUser","Toggle_default","AvatarButton_default"],"mappings":"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","sourcesContent":["import Avatar from '@mui/material/Avatar';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport type { Theme } from '@mui/material/styles';\nimport { alpha } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nimport CustomAvatar from 'components/CustomAvatar';\nimport Icon from 'components/Icon';\nimport ToggleTheme from 'components/ToggleTheme';\nimport usePopover from 'hooks/usePopover';\nimport { checkIsSpecialUser } from 'utils/user';\n\nimport { AvatarButtonProps } from './props';\nimport {\n AccountInformations,\n Button,\n LogoutButton,\n MenuItem,\n MenuPopover,\n ResourceItem,\n ResourcesGrid,\n Section,\n} from './styles';\n\nconst AvatarButton = ({\n name = '',\n email = '',\n src,\n content,\n menuItems,\n subContent,\n logout,\n loadingLogout,\n}: AvatarButtonProps) => {\n const popover = usePopover();\n\n return (\n <>\n <Button data-testid=\"avatar-trigger-button\">\n <CustomAvatar\n alt={name}\n name={name}\n src={src}\n onClick={popover.onOpen}\n data-testid=\"avatar-trigger\"\n sx={{ maxWidth: 34, maxHeight: 34 }}\n />\n </Button>\n\n <MenuPopover\n open={popover.open}\n onClose={popover.onClose}\n arrow=\"top-right\"\n disableRestoreFocus\n data-testid=\"avatar-menu\"\n >\n <AccountInformations data-testid=\"avatar-account\">\n <Avatar\n sx={{\n bgcolor: theme =>\n theme.palette.mode === 'dark'\n ? alpha(theme.palette.primary.main, 0.04)\n : 'success.lighter',\n border: theme =>\n theme.palette.mode === 'dark'\n ? '1px solid rgb(255, 252, 252)'\n : 'none',\n color: theme =>\n theme.palette.mode === 'dark'\n ? 'primary.contrastText'\n : 'success.main',\n width: 60,\n height: 60,\n }}\n data-testid=\"avatar-initials\"\n >\n {name.slice(0, 2).toUpperCase()}\n </Avatar>\n\n <Stack alignItems=\"center\" textAlign=\"center\">\n <Typography variant=\"subtitle2\" color=\"text.primary\">\n {name}\n </Typography>\n\n <Typography variant=\"body2\" color=\"text.secondary\">\n {email}\n </Typography>\n </Stack>\n </AccountInformations>\n\n <Divider />\n\n {content && (\n <>\n <Section data-testid=\"avatar-content\">{content}</Section>\n <Divider />\n </>\n )}\n\n {menuItems && (\n <>\n <Section data-testid=\"avatar-menu-items\">\n {menuItems.map(item => (\n <MenuItem\n key={item.label}\n data-testid={`avatar-menu-item-${item.label\n .toLowerCase()\n .replace(/\\s+/g, '-')}`}\n startIcon={\n <Icon\n icon={item.icon}\n color={(theme: Theme) =>\n theme.palette.mode === 'dark'\n ? 'text.secondary'\n : 'primary.main'\n }\n />\n }\n {...(item.component && {\n component: item.component,\n to: item.to,\n })}\n {...(item.onClick && { onClick: item.onClick })}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n flex={1}\n gap={1}\n >\n <Typography\n variant=\"caption\"\n fontSize={13}\n color=\"text.secondary\"\n >\n {item.label}\n </Typography>\n <Icon icon=\"ARROW_RIGHT_SIMPLE\" color=\"text.primary\" />\n </Stack>\n </MenuItem>\n ))}\n </Section>\n <Divider />\n </>\n )}\n\n {subContent && (\n <>\n <Section data-testid=\"avatar-subcontent\">{subContent}</Section>\n <Divider />\n </>\n )}\n\n <Section data-testid=\"avatar-resources\">\n <ResourcesGrid>\n <ResourceItem\n data-testid=\"resource-discord\"\n onClick={() =>\n window.open('https://discord.gg/HMpBbABGVW', '_blank')\n }\n >\n <Icon icon=\"DISCORD\" color=\"primary.main\" />\n <Typography variant=\"caption\">Comunidade</Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-youtube\"\n onClick={() =>\n window.open(\n 'https://youtube.com/playlist?list=PLqv8txNiT9o_LReCh5wKPiQaeBTg2Q1i3&si=3nGSAU3AdcPwoa-R',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"YOUTUBE\" color=\"primary.main\" />\n <Typography variant=\"caption\">Videos</Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-ajuda\"\n onClick={() =>\n window.open(\n 'https://ajuda.zydon.com.br',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"HELP_CIRCLE\" color=\"primary.main\" />\n <Typography variant=\"caption\">Ajuda</Typography>\n </ResourceItem>\n\n <ResourceItem\n data-testid=\"resource-docs\"\n onClick={() =>\n window.open(\n 'https://docs.zydon.com.br',\n '_blank',\n 'noopener noreferrer',\n )\n }\n >\n <Icon icon=\"CODE_FOLDER\" color=\"primary.main\" />\n <Typography variant=\"caption\">Docs</Typography>\n </ResourceItem>\n </ResourcesGrid>\n </Section>\n\n <Divider />\n\n <Section direction=\"row\">\n <LogoutButton\n data-testid=\"logout-button\"\n startIcon={<Icon icon=\"LOGOUT_02\" />}\n size=\"small\"\n onClick={logout}\n loading={loadingLogout}\n >\n {loadingLogout ? 'Saindo...' : 'Sair'}\n </LogoutButton>\n {checkIsSpecialUser(email) && (\n <Stack direction=\"row\" alignItems=\"center\" gap={1}>\n <Typography\n variant=\"overline\"\n fontSize={11}\n color=\"text.disabled\"\n >\n Aparência:\n </Typography>\n <ToggleTheme />\n </Stack>\n )}\n </Section>\n </MenuPopover>\n </>\n );\n};\n\nexport default AvatarButton;\n","import MuiLoadingButton from '@mui/lab/LoadingButton';\nimport MuiButton from '@mui/material/Button';\nimport Stack from '@mui/material/Stack';\nimport { alpha, styled } from '@mui/material/styles';\n\nimport CommonMenuPopover from 'components/MenuPopover';\n\nexport const Button = styled(Stack)({\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '50%',\n border: '2px solid #1C1C1C',\n cursor: 'pointer',\n});\n\nexport const MenuPopover = styled(CommonMenuPopover)(({ theme }) => ({\n width: 322,\n marginTop: 20,\n\n '& .MuiPopover-paper': {\n width: 540,\n padding: 0,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.spacing(1),\n backgroundImage: 'none',\n },\n}));\n\nexport const AccountInformations = styled(Stack)(({ theme }) => ({\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(1.5),\n padding: theme.spacing(3),\n backgroundColor: alpha(theme.palette.primary.main, 0.04),\n}));\n\nexport const Section = styled(Stack)(({ theme }) => ({\n marginLeft: theme.spacing(1.75),\n marginRight: theme.spacing(1.75),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n gap: theme.spacing(1),\n}));\n\nexport const MenuItem = styled(MuiButton)(({ theme }) => ({\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n color: theme.palette.text.primary,\n}));\n\nexport const ResourcesGrid = styled(Stack)(({ theme }) => ({\n display: 'grid',\n gridTemplateColumns: 'repeat(4, 1fr)',\n gap: theme.spacing(2),\n cursor: 'pointer',\n}));\n\nexport const ResourceItem = styled(Stack)(({ theme }) => ({\n alignItems: 'center',\n gap: theme.spacing(0.5),\n color: theme.palette.text.secondary,\n textAlign: 'center',\n\n '&:hover': {\n color: theme.palette.primary.main,\n },\n}));\n\nexport const LogoutButton = styled(MuiLoadingButton)(({ theme }) => ({\n width: '100%',\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n color: theme.palette.error.main,\n}));\n"]}
@@ -1,8 +1,2 @@
1
- import { DateRangeCalendar } from '@mui/x-date-pickers-pro';
2
- import e from 'dayjs';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- var r=a=>[a?.[0]?e(a[0]):null,a?.[1]?e(a[1]):null],u=a=>[a[0]?a[0].toDate():null,a[1]?a[1].toDate():null],s=({value:a,onChange:l,...n})=>{let t=r(a);return jsx(DateRangeCalendar,{...n,value:t,onChange:o=>{l(u(o));}})},C=s;
6
-
7
- export { C as default, r as toCalendarValue, u as toDateRange };
1
+ export { c as default, a as toCalendarValue, b as toDateRange } from '../../chunk-VGTQYKAC.js';
8
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DateRangeCalendar/index.tsx"],"names":["MuiDateRangeCalendar","dayjs","jsx","toCalendarValue","value","toDateRange","newRange","DateRangeCalendar","onChange","other","calendarValue","DateRangeCalendar_default"],"mappings":"AAAA,OAAS,qBAAqBA,MAA4B,0BAC1D,OAAOC,MAA2B,QAkC9B,cAAAC,MAAA,oBA1BG,IAAMC,EACXC,GACiC,CACjCA,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,KAC/BA,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,IACjC,EAEaC,EACXC,GACmB,CACnBA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,KACrCA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,IACvC,EAEMC,EAAoB,CAAC,CACzB,MAAAH,EACA,SAAAI,EACA,GAAGC,CACL,IAA8B,CAC5B,IAAMC,EAAgBP,EAAgBC,CAAK,EAM3C,OACEF,EAACF,EAAA,CACE,GAAGS,EACJ,MAAOC,EACP,SARkBJ,GAA2C,CAC/DE,EAASH,EAAYC,CAAQ,CAAC,CAChC,EAOE,CAEJ,EAEOK,EAAQJ","sourcesContent":["import { DateRangeCalendar as MuiDateRangeCalendar } from '@mui/x-date-pickers-pro';\nimport dayjs, { type Dayjs } from 'dayjs';\n\nimport {\n DateRangeCalendarProps,\n DateRangeValue,\n MaybeDateRangeValue,\n} from './props';\n\nexport const toCalendarValue = (\n value: MaybeDateRangeValue,\n): [Dayjs | null, Dayjs | null] => [\n value?.[0] ? dayjs(value[0]) : null,\n value?.[1] ? dayjs(value[1]) : null,\n];\n\nexport const toDateRange = (\n newRange: [Dayjs | null, Dayjs | null],\n): DateRangeValue => [\n newRange[0] ? newRange[0].toDate() : null,\n newRange[1] ? newRange[1].toDate() : null,\n];\n\nconst DateRangeCalendar = ({\n value,\n onChange,\n ...other\n}: DateRangeCalendarProps) => {\n const calendarValue = toCalendarValue(value);\n\n const handleChange = (newRange: [Dayjs | null, Dayjs | null]) => {\n onChange(toDateRange(newRange));\n };\n\n return (\n <MuiDateRangeCalendar\n {...other}\n value={calendarValue}\n onChange={handleChange}\n />\n );\n};\n\nexport default DateRangeCalendar;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,9 +1,2 @@
1
- import { useFormContext, Controller } from 'react-hook-form';
2
- import { DateField } from '@mui/x-date-pickers-pro';
3
- import c from 'dayjs';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- var g=({name:t,rules:s,tabIndex:i,helperText:p,required:u,...e})=>{let{control:d}=useFormContext();return jsx(Controller,{name:t,control:d,rules:s,render:({field:{ref:f,onChange:m,...o},fieldState:{error:l}})=>jsx(DateField,{inputRef:f,format:"DD/MM/YYYY",...o,"data-intercom-target":t,...e,value:o.value?c(o.value):null,onChange:r=>{let a=r?r.toDate():null;m(a),e.onChange&&e.onChange(a);},slotProps:{textField:{...e.slotProps?.textField,name:t,required:u,error:!!l,helperText:l?.message||p,autoComplete:"off",spellCheck:"false",fullWidth:!0,inputProps:{tabIndex:i}}}})})},h=g;
7
-
8
- export { h as default };
1
+ export { a as default } from '../../../chunk-J7RPKCIN.js';
9
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/form/DateField/index.tsx"],"names":["Controller","useFormContext","MuiDateField","dayjs","jsx","DateField","name","rules","tabIndex","helperText","required","other","control","ref","onChange","field","error","v","newValue","DateField_default"],"mappings":"AAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAC3C,OAAS,aAAaC,MAAoB,0BAC1C,OAAOC,MAAW,QAuBV,cAAAC,MAAA,oBAnBR,IAAMC,EAAY,CAAC,CACjB,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,WAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAsB,CACpB,GAAM,CAAE,QAAAC,CAAQ,EAAIX,EAAe,EAEnC,OACEG,EAACJ,EAAA,CACC,KAAMM,EACN,QAASM,EACT,MAAOL,EACP,OAAQ,CAAC,CACP,MAAO,CAAE,IAAAM,EAAK,SAAAC,EAAU,GAAGC,CAAM,EACjC,WAAY,CAAE,MAAAC,CAAM,CACtB,IACEZ,EAACF,EAAA,CACC,SAAUW,EACV,OAAO,aACN,GAAGE,EACJ,uBAAsBT,EACrB,GAAGK,EACJ,MAAOI,EAAM,MAAQZ,EAAMY,EAAM,KAAK,EAAI,KAC1C,SAAUE,GAAK,CACb,IAAMC,EAAWD,EAAIA,EAAE,OAAO,EAAI,KAClCH,EAASI,CAAQ,EACjBP,EAAM,UAAYA,EAAM,SAASO,CAAQ,CAC3C,EACA,UAAW,CACT,UAAW,CACT,GAAGP,EAAM,WAAW,UACpB,KAAAL,EACA,SAAAI,EACA,MAAO,CAAC,CAACM,EACT,WAAYA,GAAO,SAAWP,EAC9B,aAAc,MACd,WAAY,QACZ,UAAW,GACX,WAAY,CACV,SAAAD,CACF,CACF,CACF,EACF,EAEJ,CAEJ,EAEOW,EAAQd","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport { DateField as MuiDateField } from '@mui/x-date-pickers-pro';\nimport dayjs from 'dayjs';\n\nimport { DateFieldProps } from 'types/dateFieldProps';\n\nconst DateField = ({\n name,\n rules,\n tabIndex,\n helperText,\n required,\n ...other\n}: DateFieldProps) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({\n field: { ref, onChange, ...field },\n fieldState: { error },\n }) => (\n <MuiDateField\n inputRef={ref}\n format=\"DD/MM/YYYY\"\n {...field}\n data-intercom-target={name}\n {...other}\n value={field.value ? dayjs(field.value) : null}\n onChange={v => {\n const newValue = v ? v.toDate() : null;\n onChange(newValue);\n other.onChange && other.onChange(newValue);\n }}\n slotProps={{\n textField: {\n ...other.slotProps?.textField,\n name,\n required,\n error: !!error,\n helperText: error?.message || helperText,\n autoComplete: 'off',\n spellCheck: 'false',\n fullWidth: true,\n inputProps: {\n tabIndex,\n },\n },\n }}\n />\n )}\n />\n );\n};\n\nexport default DateField;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,8 +1,2 @@
1
- import { FormProvider } from 'react-hook-form';
2
- import e from '@mui/material/Stack';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- var f=({id:r,children:m,onSubmit:t,methods:i,...p})=>jsx(FormProvider,{...i,children:jsx(e,{component:"form",id:r,onSubmit:t,flex:1,width:1,noValidate:!0,...p,children:m})}),h=f;
6
-
7
- export { h as default };
1
+ export { a as default } from '../../../chunk-XAPSXJZO.js';
8
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/form/Form/index.tsx"],"names":["FormProvider","Stack","jsx","Form","id","children","onSubmit","methods","other","Form_default"],"mappings":"AACA,OAAS,gBAAAA,MAAoB,kBAC7B,OAAOC,MAAW,sBAaZ,cAAAC,MAAA,oBATN,IAAMC,EAAO,CAAC,CACZ,GAAAC,EACA,SAAAC,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAEIN,EAACF,EAAA,CAAc,GAAGO,EAChB,SAAAL,EAACD,EAAA,CACC,UAAU,OACV,GAAIG,EACJ,SAAUE,EACV,KAAM,EACN,MAAO,EACP,WAAU,GACT,GAAGE,EAEH,SAAAH,EACH,EACF,EAIGI,EAAQN","sourcesContent":["import { PropsWithChildren } from 'react';\nimport { FormProvider } from 'react-hook-form';\nimport Stack from '@mui/material/Stack';\n\nimport { FormProps } from './props';\n\nconst Form = ({\n id,\n children,\n onSubmit,\n methods,\n ...other\n}: PropsWithChildren<FormProps>) => {\n return (\n <FormProvider {...methods}>\n <Stack\n component=\"form\"\n id={id}\n onSubmit={onSubmit}\n flex={1}\n width={1}\n noValidate\n {...other}\n >\n {children}\n </Stack>\n </FormProvider>\n );\n};\n\nexport default Form;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -7,5 +7,23 @@ declare enum ExportFormat {
7
7
  XLSX = "XLSX",
8
8
  PDF = "PDF"
9
9
  }
10
+ declare enum FilterPeriod {
11
+ TODAY = "TODAY",
12
+ YESTERDAY = "YESTERDAY",
13
+ LAST_7_DAYS = "LAST_7_DAYS",
14
+ LAST_28_DAYS = "LAST_28_DAYS",
15
+ LAST_90_DAYS = "LAST_90_DAYS",
16
+ LAST_WEEK = "LAST_WEEK",
17
+ LAST_MONTH = "LAST_MONTH",
18
+ THIS_MONTH = "THIS_MONTH",
19
+ THIS_YEAR = "THIS_YEAR",
20
+ OTHER = "OTHER"
21
+ }
22
+ declare const FILTER_PERIOD_LABELS: Record<FilterPeriod, string>;
23
+ interface FilterDateState {
24
+ period: FilterPeriod;
25
+ start_date: string;
26
+ end_date: string;
27
+ }
10
28
 
11
- export { ExportFormat, VIEW_MODE_LABELS, ViewMode };
29
+ export { ExportFormat, FILTER_PERIOD_LABELS, FilterDateState, FilterPeriod, VIEW_MODE_LABELS, ViewMode };
@@ -1,2 +1,2 @@
1
- export { c as ExportFormat, b as VIEW_MODE_LABELS, a as ViewMode } from '../chunk-Y2SILVOR.js';
1
+ export { c as ExportFormat, e as FILTER_PERIOD_LABELS, d as FilterPeriod, b as VIEW_MODE_LABELS, a as ViewMode } from '../chunk-ANEPP6QT.js';
2
2
  //# sourceMappingURL=analytics.js.map
@@ -0,0 +1,91 @@
1
+ declare enum RankingType {
2
+ SALE_TOTAL_VALUE = "SALE_TOTAL_VALUE",
3
+ SALE_COUNT = "SALE_COUNT",
4
+ SALE_AVERAGE_VALUE = "SALE_AVERAGE_VALUE"
5
+ }
6
+ declare enum AbcCurve {
7
+ A = "A",
8
+ B = "B",
9
+ C = "C"
10
+ }
11
+ declare enum SellerPortfolioQueryType {
12
+ CLASSIFICATION = "CLASSIFICATION",
13
+ ABC_CURVE = "ABC_CURVE"
14
+ }
15
+ interface RankingItem {
16
+ partner_external_id: string;
17
+ partner_name: string;
18
+ total_value_by_customer: number;
19
+ total_sale_value: number;
20
+ }
21
+ interface Ranking {
22
+ items: RankingItem[];
23
+ }
24
+ interface PortfolioBreakdownItem {
25
+ status: string;
26
+ count: number;
27
+ percentage: number;
28
+ }
29
+ interface PortfolioBreakdown {
30
+ total: number;
31
+ breakdown: PortfolioBreakdownItem[];
32
+ }
33
+ interface AbcCurveBreakdownItem {
34
+ curve: AbcCurve;
35
+ count: number;
36
+ percentage: number;
37
+ }
38
+ interface AbcCurveBreakdown {
39
+ total: number;
40
+ breakdown: AbcCurveBreakdownItem[];
41
+ }
42
+ interface SellerPortfolioBreakdownEntry {
43
+ count: number;
44
+ percentage: number;
45
+ }
46
+ interface SellerPortfolioItem {
47
+ seller_external_id: string;
48
+ seller_name: string;
49
+ breakdown: Record<string, SellerPortfolioBreakdownEntry>;
50
+ }
51
+ interface SellerPortfolio {
52
+ items: SellerPortfolioItem[];
53
+ }
54
+ interface ByProfileItem {
55
+ profile: string;
56
+ count: number;
57
+ percentage: number;
58
+ }
59
+ interface ByProfile {
60
+ items: ByProfileItem[];
61
+ }
62
+ interface DashboardPartnerSaleAnalysis {
63
+ last_sale_external_id: string;
64
+ sale_count: number;
65
+ last_sale_negotiation_date: string;
66
+ total_sale_value: number;
67
+ }
68
+ interface DashboardPartner {
69
+ external_id: string;
70
+ name: string;
71
+ tax_id: string;
72
+ main_seller_external_id: string;
73
+ classification: string;
74
+ abc_curve: string;
75
+ sale_analysis: DashboardPartnerSaleAnalysis;
76
+ state: string;
77
+ }
78
+ declare enum Status {
79
+ ACTIVE = "ACTIVE",
80
+ AT_RISK = "AT_RISK",
81
+ INACTIVE = "INACTIVE",
82
+ LOST = "LOST",
83
+ NEW_CLIENT = "NEW_CLIENT",
84
+ PROSPECT = "PROSPECT"
85
+ }
86
+ declare const STATUS_OPTIONS: Record<Status, {
87
+ label: string;
88
+ color: string;
89
+ }>;
90
+
91
+ export { AbcCurve, AbcCurveBreakdown, AbcCurveBreakdownItem, ByProfile, ByProfileItem, DashboardPartner, DashboardPartnerSaleAnalysis, PortfolioBreakdown, PortfolioBreakdownItem, Ranking, RankingItem, RankingType, STATUS_OPTIONS, SellerPortfolio, SellerPortfolioBreakdownEntry, SellerPortfolioItem, SellerPortfolioQueryType, Status };
@@ -0,0 +1,2 @@
1
+ export { b as AbcCurve, a as RankingType, e as STATUS_OPTIONS, c as SellerPortfolioQueryType, d as Status } from '../chunk-BHYLHO5P.js';
2
+ //# sourceMappingURL=partnerAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { FilterPeriod, FilterDateState } from '../types/analytics.js';
2
+
3
+ declare const periodOptions: {
4
+ label: string;
5
+ value: FilterPeriod;
6
+ }[];
7
+ declare function getPeriodDates(period: FilterPeriod): {
8
+ start_date: Date;
9
+ end_date: Date;
10
+ };
11
+ declare function getDefaultFilterDateState(): FilterDateState;
12
+ declare function getFilterDateStateFor(period: FilterPeriod): FilterDateState;
13
+ declare function findMatchingPeriod(startDate: Date | null, endDate: Date | null): FilterPeriod;
14
+ declare function toFilterDateState(form: {
15
+ period: FilterPeriod;
16
+ start_date: Date | null;
17
+ end_date: Date | null;
18
+ }): FilterDateState;
19
+
20
+ export { findMatchingPeriod, getDefaultFilterDateState, getFilterDateStateFor, getPeriodDates, periodOptions, toFilterDateState };
@@ -0,0 +1,3 @@
1
+ export { e as findMatchingPeriod, c as getDefaultFilterDateState, d as getFilterDateStateFor, b as getPeriodDates, a as periodOptions, f as toFilterDateState } from '../chunk-SP5U3DJP.js';
2
+ import '../chunk-ANEPP6QT.js';
3
+ //# sourceMappingURL=periodDates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zydon/common",
3
- "version": "2.8.77",
3
+ "version": "2.8.78",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
@@ -50,6 +50,10 @@
50
50
  "import": "./dist/components/Analytics/OverviewAnalytics/index.js",
51
51
  "types": "./dist/components/Analytics/OverviewAnalytics/index.d.ts"
52
52
  },
53
+ "./components/Analytics/PartnerAnalysis": {
54
+ "import": "./dist/components/Analytics/PartnerAnalysis/index.js",
55
+ "types": "./dist/components/Analytics/PartnerAnalysis/index.d.ts"
56
+ },
53
57
  "./contexts/*": {
54
58
  "import": "./dist/contexts/*/index.js",
55
59
  "types": "./dist/contexts/*/index.d.ts"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Analytics/ChartStyles/styles.ts","../src/components/Analytics/EmptyState/index.tsx","../src/components/Analytics/RotatedTick/index.tsx"],"names":["Box","MuiCard","MuiCardHeader","MuiCheckbox","Stack","styled","ChartCard","theme","ChartCardHeader","ChartWrapper","TooltipContainer","TooltipDivider","TooltipDot","prop","dotColor","LegendContainer","LegendItem","ColoredCheckbox","checkboxColor","SummaryStack","SummaryDivider","EmptyStateContainer","Typography","jsx","jsxs","EmptyState","Icon_default","EmptyState_default","RotatedTick","props","x","y","payload","tickFormatter","index","maxChars","raw","label","RotatedTick_default"],"mappings":"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","sourcesContent":["import Box from '@mui/material/Box';\nimport MuiCard from '@mui/material/Card';\nimport MuiCardHeader from '@mui/material/CardHeader';\nimport MuiCheckbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const ChartCard = styled(MuiCard)(({ theme }) => ({\n width: '100%',\n\n border: `1px solid ${theme.palette.divider}`,\n\n boxShadow: 'none',\n overflow: 'visible',\n}));\n\nexport const ChartCardHeader = styled(MuiCardHeader)(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n flexWrap: 'wrap',\n gap: theme.spacing(2),\n\n '& .MuiCardHeader-action': {\n width: '100%',\n },\n },\n}));\n\nexport const ChartWrapper = styled(Stack)({\n position: 'relative',\n width: '100%',\n overflow: 'visible',\n\n '& .recharts-wrapper, & .recharts-wrapper *': {\n outline: 'none !important',\n boxShadow: 'none !important',\n WebkitTapHighlightColor: 'transparent',\n },\n});\n\nexport const TooltipContainer = styled(Box)(({ theme }) => ({\n backgroundColor: theme.palette.background.paper,\n border: '1px solid',\n borderColor: theme.palette.divider,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(1.5),\n boxShadow: theme.shadows[3],\n}));\n\nexport const TooltipDivider = styled(Box)(({ theme }) => ({\n width: '100%',\n height: '1px',\n backgroundColor: theme.palette.divider,\n marginBottom: theme.spacing(1.5),\n}));\n\nexport const TooltipDot = styled(Box, {\n shouldForwardProp: prop => prop !== 'dotColor',\n})<{ dotColor: string }>(({ dotColor }) => ({\n width: 10,\n height: 10,\n borderRadius: '50%',\n backgroundColor: dotColor,\n}));\n\nexport const LegendContainer = styled(Stack)({\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 16,\n marginTop: 16,\n});\n\nexport const LegendItem = styled(Stack)({\n flexDirection: 'row',\n alignItems: 'center',\n cursor: 'pointer',\n});\n\nexport const ColoredCheckbox = styled(MuiCheckbox, {\n shouldForwardProp: prop => prop !== 'checkboxColor',\n})<{ checkboxColor: string }>(({ checkboxColor }) => ({\n color: checkboxColor,\n '&.Mui-checked': { color: checkboxColor },\n padding: 4,\n}));\n\nexport const SummaryStack = styled(Stack)({\n flexDirection: 'row',\n alignItems: 'flex-start',\n gap: 32,\n marginBottom: 24,\n flexWrap: 'wrap',\n});\n\nexport const SummaryDivider = styled(Box)(({ theme }) => ({\n width: '1px',\n height: 40,\n backgroundColor: theme.palette.divider,\n alignSelf: 'center',\n}));\n\nexport const EmptyStateContainer = styled(Stack)({\n minHeight: 350,\n alignItems: 'center',\n justifyContent: 'center',\n gap: 12,\n});\n","import Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\n\nconst EmptyState = () => {\n return (\n <Stack\n minHeight={300}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={1.5}\n >\n <Icon icon=\"CALENDAR_TODAY\" width={60} color=\"text.secondary\" />\n\n <Stack textAlign=\"center\">\n <Typography variant=\"subtitle1\" fontSize=\"subtitle1.fontSize\">\n Nenhum dado disponível ainda\n </Typography>\n\n <Typography\n variant=\"body2\"\n fontSize=\"body2.fontSize\"\n color=\"text.secondary\"\n >\n Assim que houver registros, os dados serão exibidos aqui.\n </Typography>\n </Stack>\n </Stack>\n );\n};\n\nexport default EmptyState;\n","import { RotatedTickProps } from './props';\n\nconst RotatedTick = (props: RotatedTickProps) => {\n const { x, y, payload, tickFormatter, index = 0, maxChars = 10 } = props;\n if (x == null || y == null || !payload) return null;\n\n const raw = tickFormatter\n ? tickFormatter(payload.value, index)\n : payload.value;\n const label = raw.length > maxChars ? `${raw.slice(0, maxChars)}...` : raw;\n\n return (\n <g transform={`translate(${x},${y})`}>\n <text\n x={0}\n y={0}\n dy={4}\n textAnchor=\"end\"\n fill=\"#637381\"\n fontSize={11}\n transform=\"rotate(-45)\"\n >\n {label}\n </text>\n </g>\n );\n};\n\nexport default RotatedTick;\n"]}
@@ -1,4 +0,0 @@
1
- var e=(L=>(L.MONTHLY="MONTHLY",L.DAILY="DAILY",L))(e||{}),M={["MONTHLY"]:"Mensal",["DAILY"]:"Di\xE1rio"},D=(L=>(L.XLSX="XLSX",L.PDF="PDF",L))(D||{});
2
-
3
- export { e as a, M as b, D as c };
4
- //# sourceMappingURL=chunk-Y2SILVOR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/analytics.ts"],"names":["ViewMode","VIEW_MODE_LABELS","ExportFormat"],"mappings":"AAAO,IAAKA,OACVA,EAAA,QAAU,UACVA,EAAA,MAAQ,QAFEA,OAAA,IAKCC,EAA6C,CACxD,CAAC,SAAgB,EAAG,SACpB,CAAC,OAAc,EAAG,WACpB,EAEYC,OACVA,EAAA,KAAO,OACPA,EAAA,IAAM,MAFIA,OAAA","sourcesContent":["export enum ViewMode {\n MONTHLY = 'MONTHLY',\n DAILY = 'DAILY',\n}\n\nexport const VIEW_MODE_LABELS: Record<ViewMode, string> = {\n [ViewMode.MONTHLY]: 'Mensal',\n [ViewMode.DAILY]: 'Diário',\n};\n\nexport enum ExportFormat {\n XLSX = 'XLSX',\n PDF = 'PDF',\n}\n"]}