@zydon/common 2.8.80 → 2.8.82
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.
- package/dist/chunk-Z275MVEP.js +27 -0
- package/dist/chunk-Z275MVEP.js.map +1 -0
- package/dist/components/Analytics/OverviewAnalytics/index.d.ts +1 -1
- package/dist/components/Analytics/OverviewAnalytics/index.js +1 -1
- package/dist/components/Analytics/OverviewAnalytics/index.js.map +1 -1
- package/dist/components/Analytics/PartnerAnalysis/index.js +1 -1
- package/dist/components/Analytics/PartnerAnalysis/index.js.map +1 -1
- package/dist/components/Analytics/index.js.map +1 -1
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/DataView/index.d.ts +1 -1
- package/dist/components/DataView/index.js +1 -1
- package/dist/components/DynamicDataView/index.js +21 -23
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/hooks/useSnackbar.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/theme/core/index.d.ts +1 -1
- package/dist/theme/styles/index.d.ts +13 -13
- package/package.json +1 -1
- package/dist/chunk-UQJKTFVZ.js +0 -27
- package/dist/chunk-UQJKTFVZ.js.map +0 -1
- package/dist/{index-5a5e5dc8.d.ts → index-c8f1e6e7.d.ts} +12 -12
|
@@ -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","../../../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 'utils/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 'utils/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"]}
|
|
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 'utils/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 'utils/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';\n\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"]}
|
|
@@ -11,7 +11,7 @@ interface ImageContainerProps {
|
|
|
11
11
|
|
|
12
12
|
declare const Avatar: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<PropsWithChildren<ImageContainerProps & _mui_material_Avatar.AvatarOwnProps & _mui_material_Avatar.AvatarSlotsAndSlotProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
13
13
|
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
14
|
-
}, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "
|
|
14
|
+
}, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "alt" | "src" | "sizes" | "srcSet" | "imgProps"> & {
|
|
15
15
|
component?: react.ElementType<any, keyof react.JSX.IntrinsicElements> | undefined;
|
|
16
16
|
}>, "ref"> & react.RefAttributes<HTMLDivElement>>>;
|
|
17
17
|
|
|
@@ -90,7 +90,7 @@ declare const SelectionOverlay: _emotion_styled.StyledComponent<_mui_material_St
|
|
|
90
90
|
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
91
91
|
declare const SelectionCount: _emotion_styled.StyledComponent<_mui_material_Typography.TypographyOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
92
92
|
ref?: ((instance: HTMLSpanElement | null) => void) | react.RefObject<HTMLSpanElement> | null | undefined;
|
|
93
|
-
}, "
|
|
93
|
+
}, "fontFamily" | "children" | "pt" | "className" | "style" | "classes" | "sx" | "variant" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "top" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "variantMapping"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
94
94
|
declare const SelectionActions: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
95
95
|
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
96
96
|
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-
|
|
1
|
+
export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-Z275MVEP.js';
|
|
2
2
|
import '../../chunk-R2BCPHRH.js';
|
|
3
3
|
import '../../chunk-4F2NKGF6.js';
|
|
4
4
|
import '../../chunk-NMGWHSNZ.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import '../../chunk-4P2L7UJA.js';
|
|
2
2
|
export { a as FilterOperator, b as SortType } from '../../chunk-M62EJMQ6.js';
|
|
3
|
-
import { a as a$
|
|
3
|
+
import { a as a$2 } from '../../chunk-WLRSUL67.js';
|
|
4
4
|
import { d, c } from '../../chunk-N7IK5EUP.js';
|
|
5
|
-
import { h, a as a$
|
|
6
|
-
import { d as d$1 } from '../../chunk-
|
|
5
|
+
import { h, a as a$4 } from '../../chunk-OF6623HG.js';
|
|
6
|
+
import { d as d$1 } from '../../chunk-Z275MVEP.js';
|
|
7
7
|
import '../../chunk-R2BCPHRH.js';
|
|
8
8
|
import '../../chunk-4F2NKGF6.js';
|
|
9
9
|
import '../../chunk-NMGWHSNZ.js';
|
|
@@ -11,7 +11,7 @@ import '../../chunk-6U5LS7MP.js';
|
|
|
11
11
|
import '../../chunk-LZQ7OFKO.js';
|
|
12
12
|
import '../../chunk-NIQW2J3M.js';
|
|
13
13
|
import '../../chunk-PRWQQJDL.js';
|
|
14
|
-
import { a as a$
|
|
14
|
+
import { a as a$3 } from '../../chunk-3PMDTIVB.js';
|
|
15
15
|
import '../../chunk-5J35UAV6.js';
|
|
16
16
|
import { e } from '../../chunk-XUDTPZHF.js';
|
|
17
17
|
import '../../chunk-UVPQR2Q2.js';
|
|
@@ -23,41 +23,39 @@ import { a } from '../../chunk-2GTD4JW2.js';
|
|
|
23
23
|
import '../../chunk-PBLSVXV5.js';
|
|
24
24
|
import '../../chunk-IAOMC4C4.js';
|
|
25
25
|
import { a as a$1 } from '../../chunk-E3R7W7GK.js';
|
|
26
|
-
import { a as a$
|
|
26
|
+
import { a as a$6 } from '../../chunk-F6H765KA.js';
|
|
27
27
|
import '../../chunk-LQRRMVFN.js';
|
|
28
28
|
import { b } from '../../chunk-2ZJUGM2S.js';
|
|
29
29
|
import '../../chunk-GLRLKFPS.js';
|
|
30
|
-
import { a as a$
|
|
31
|
-
import { a as a$6 } from '../../chunk-2HAPOY5M.js';
|
|
30
|
+
import { a as a$5 } from '../../chunk-2HAPOY5M.js';
|
|
32
31
|
import '../../chunk-FJBC6QA5.js';
|
|
33
32
|
import '../../chunk-POTVACYB.js';
|
|
34
33
|
import '../../chunk-ET3WPQIO.js';
|
|
35
34
|
import '../../chunk-CFNATBO2.js';
|
|
36
|
-
import { memo,
|
|
37
|
-
import
|
|
35
|
+
import { memo, useMemo, useCallback, useState, useEffect, useRef } from 'react';
|
|
36
|
+
import Qo from 'react-fast-compare';
|
|
38
37
|
import et from '@mui/material/Badge';
|
|
39
|
-
import
|
|
38
|
+
import Te from '@mui/material/Button';
|
|
40
39
|
import tt from '@mui/material/IconButton';
|
|
41
|
-
import
|
|
40
|
+
import Pt from '@mui/material/Stack';
|
|
42
41
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
43
|
-
import
|
|
44
|
-
import
|
|
45
|
-
import
|
|
46
|
-
import
|
|
42
|
+
import bt from '@mui/material/Divider';
|
|
43
|
+
import he from '@mui/material/Typography';
|
|
44
|
+
import ye from '@mui/material/FormControl';
|
|
45
|
+
import be from '@mui/material/InputLabel';
|
|
47
46
|
import j from '@mui/material/MenuItem';
|
|
48
|
-
import
|
|
49
|
-
import
|
|
50
|
-
import er from '@mui/material/Autocomplete';
|
|
47
|
+
import Se from '@mui/material/Select';
|
|
48
|
+
import gr from '@mui/material/TextField';
|
|
51
49
|
import tr from '@mui/material/CircularProgress';
|
|
52
50
|
import Z from '@mui/material/Box';
|
|
53
51
|
import { styled } from '@mui/material/styles';
|
|
54
52
|
import Br from '@mui/material/Dialog';
|
|
55
|
-
import
|
|
56
|
-
import
|
|
53
|
+
import Wr from '@mui/material/DialogActions';
|
|
54
|
+
import Vr from '@mui/material/DialogContent';
|
|
57
55
|
import Gr from '@mui/material/DialogTitle';
|
|
58
|
-
import
|
|
56
|
+
import pi from '@mui/material/Chip';
|
|
59
57
|
|
|
60
|
-
var Xo=({showFilterButton:e$1,isMobile:t,hasActiveFilters:o,activeFiltersCount:r,sort:i,onFilterClick:n,onSortClick:a$1})=>e$1?t?jsxs(Lt,{direction:"row",spacing:.5,children:[jsx(et,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":{transform:"scale(0.9) translate(10px, 9px)",opacity:r===0?0:1}},children:jsx(tt,{color:o?"primary":"default",onClick:n,size:"small","aria-label":"Filtrar",sx:{overflow:"visible"},children:jsx(a,{icon:"FILTER_VERTICAL"})})}),jsx(e,{sx:{height:16},orientation:"vertical",flexItem:!0}),jsx(tt,{color:i?"primary":"default",onClick:a$1,size:"small","aria-label":"Ordenar",children:jsx(a,{icon:i?.sortType==="DESC"?"SORTING_DESC":"SORTING_ASC"})})]}):jsx(et,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":r?{transform:"scale(0.9) translate(-3px, 7px)",position:"relative",opacity:1,transition:"none"}:{transition:"none",opacity:0}},children:jsx(Ie,{variant:"text",color:o?"primary":"inherit",startIcon:jsx(a,{icon:"FILTER_VERTICAL"}),onClick:n,size:"small",children:"Filtrar"})}):null,ot=memo(Xo,$o);var rt=e=>e.filter(t=>t.available_filter_conditions&&t.available_filter_conditions.length>0&&t.name!=="ACTIONS");var nt=e=>{let{type:t,available_filter_conditions:o}=e;return o.length===0?"EQUALS":t==="TEXT"&&o.includes("LIKE")?"LIKE":o[0]},X=e=>e.value.length>0||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",it=e=>{if(e.length===0)return;let t=e.filter(X);if(t.length!==0)return {operator:"AND",groups:[{operator:t[0]?.operator||"AND",conditionals:t.map(o=>({fieldName:o.fieldName,conditional:o.conditional,value:o.value}))}]}};var at={["EQUALS"]:"Igual a",["NOT_EQUALS"]:"Diferente de",["LIKE"]:"Cont\xE9m",["NOT_LIKE"]:"N\xE3o cont\xE9m",["GREATER_THAN"]:"Maior que",["LESS_THAN"]:"Menor que",["GREATER_THAN_OR_EQUAL"]:"Maior ou igual a",["LESS_THAN_OR_EQUAL"]:"Menor ou igual a",["IN"]:"Em",["NOT_IN"]:"N\xE3o em",["IS_NULL"]:"\xC9 nulo",["IS_NOT_NULL"]:"N\xE3o \xE9 nulo"};var rr=({config:e,metadata:t,value:o,initialLabel:r,onChange:i,disabled:n=!1})=>{let[a,s,p]=a$1(!1),[m,c]=useState(""),u=a$2(m,400),{data:f,isLoading:y,isFetching:g}=e.useQuery({search:u||void 0,page:0,perPage:25,...e.queryParams},{skip:!a}),N=y||g,l=useMemo(()=>o?{value:o,label:r??o}:null,[o,r]),R=useMemo(()=>{let d=(f?.items??[]).map(C=>({label:String(C[t.description_field_name]??""),value:String(C[t.id_field_name]??"")})).filter(C=>C.value&&C.label);return l&&!d.some(C=>C.value===l.value)&&d.unshift(l),d},[f,t.id_field_name,t.description_field_name,l]),_=useCallback(()=>{p(!1),c("");},[p]),A=useCallback((d,C)=>{i(C?.value??"",C?.label);},[i]),B=useCallback((d,C,S)=>{S==="input"&&c(C);},[]);return jsx(er,{open:a,onOpen:s,onClose:_,value:l,onChange:A,inputValue:a?m:l?.label??"",onInputChange:B,options:R,loading:N,disabled:n,size:"small",getOptionLabel:d=>d.label,isOptionEqualToValue:(d,C)=>d.value===C.value,filterOptions:d=>d,noOptionsText:m!==u?"Buscando...":"Nenhum resultado",sx:{flex:1,minWidth:120},renderInput:d=>jsx(or,{...d,label:"Filtro",InputLabelProps:{shrink:!0},InputProps:{...d.InputProps,endAdornment:jsxs(Fragment,{children:[N&&jsx(tr,{color:"inherit",size:18}),d.InputProps.endAdornment]})}})})},st=memo(rr);var dr=({value:e,onChange:t,totalConditions:o,isFirst:r})=>o===1?null:r?jsx(Lt,{sx:{width:55,flexShrink:0}}):jsxs(be,{value:e,onChange:i=>t(i.target.value),size:"small",sx:{width:55,flexShrink:0},children:[jsx(j,{value:"AND",children:"e"}),jsx(j,{value:"OR",children:"ou"})]}),dt=memo(dr,$o);var G={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},yr=({condition:e,fields:t,onChange:o,onRemove:r,totalConditions:i,isFirst:n,entityFilterConfig:a$1})=>{let s=useMemo(()=>t.find(l=>(l.filter_field_name??l.name)===e.fieldName),[t,e.fieldName]),p=useMemo(()=>s?.available_filter_conditions||[],[s]),m=useMemo(()=>!e.fieldName||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",[e.fieldName,e.conditional]),c=useCallback(l=>{let R=t.find(A=>(A.filter_field_name??A.name)===l);if(!R)return;let _=R.available_filter_conditions[0]||"EQUALS";o({...e,fieldName:l,conditional:_,value:[]});},[t,e,o]),u=useCallback(l=>{o({...e,conditional:l});},[e,o]),f=useCallback(l=>{o({...e,value:l?[l]:[]});},[e,o]),y=useCallback((l,R)=>{let _={...e.valueLabels};l&&R&&(_[l]=R),o({...e,value:l?[l]:[],valueLabels:_});},[e,o]),g=useCallback(l=>{o({...e,operator:l});},[e,o]),N=()=>{if(s?.type==="BOOLEAN")return jsxs(Ce,{size:"small",sx:{flex:1,minWidth:120},disabled:m,children:[jsx(ye,{id:`value-label-${e.id}`,children:"Valor"}),jsxs(be,{labelId:`value-label-${e.id}`,label:"Valor",value:e.value[0]||"",onChange:l=>f(l.target.value),size:"small",sx:{"& .MuiSelect-select":G},children:[jsx(j,{value:"true",children:"Verdadeiro"}),jsx(j,{value:"false",children:"Falso"})]})]});if(s?.type==="ENTITY"&&s.metadata&&a$1?.[s.metadata.name]){let l=e.value[0]||"";return jsx(st,{config:a$1[s.metadata.name],metadata:s.metadata,value:l,initialLabel:e.valueLabels?.[l],onChange:y,disabled:m})}return jsx(or,{label:"Filtro",value:e.value[0]||"",onChange:l=>f(l.target.value),size:"small",disabled:m,InputLabelProps:{shrink:!0},sx:{flex:1,minWidth:120}})};return jsxs(Lt,{direction:"row",spacing:1,alignItems:"center",children:[jsx(tt,{onClick:r,size:"small","aria-label":"Remover filtro",sx:{flexShrink:0},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18})}),jsx(dt,{value:e.operator,onChange:g,totalConditions:i,isFirst:n}),jsxs(Ce,{size:"small",sx:{minWidth:150,flex:1},children:[jsx(ye,{id:`field-label-${e.id}`,children:"Coluna"}),jsx(be,{labelId:`field-label-${e.id}`,label:"Coluna",value:e.fieldName,onChange:l=>c(l.target.value),size:"small",sx:{"& .MuiSelect-select":G},children:t.map(l=>jsx(j,{value:l.filter_field_name??l.name,sx:G,title:l.description||l.name,children:l.description||l.name},l.name))})]}),jsxs(Ce,{size:"small",sx:{minWidth:90},disabled:!e.fieldName,children:[jsx(ye,{id:`condition-label-${e.id}`,children:"Condi\xE7\xE3o"}),jsx(be,{labelId:`condition-label-${e.id}`,label:"Condi\xE7\xE3o",value:e.conditional,onChange:l=>u(l.target.value),size:"small",sx:{"& .MuiSelect-select":G},children:p.map(l=>jsx(j,{value:l,sx:G,children:at[l]||l},l))})]}),N()]})},pt=memo(yr,$o);var hr=({filterableFields:e,conditions:t,onUpdateCondition:o,onRemoveCondition:r,entityFilterConfig:i})=>{let n=useCallback(m=>{o(m.id,m);},[o]),a=useCallback(m=>()=>{r(m);},[r]),s=useMemo(()=>t.map(m=>m.fieldName).filter(m=>!!m),[t]),p=useCallback(m=>e.filter(c=>!s.includes(c.name)||c.name===m),[e,s]);return e.length===0?jsx(Fe,{variant:"body2",color:"text.secondary",textAlign:"center",children:"Nenhum filtro dispon\xEDvel"}):t.length===0?jsxs(Fe,{variant:"body2",color:"text.secondary",textAlign:"center",children:["Clique em"," ",jsx(Fe,{component:"strong",variant:"body2",fontWeight:600,color:"text.primary",children:'"+"'})," ","para adicionar um filtro"]}):jsx(Fragment,{children:t.map((m,c)=>jsx(pt,{condition:m,fields:p(m.fieldName),onChange:n,onRemove:a(m.id),showOperator:c>0,totalConditions:t.length,isFirst:c===0,entityFilterConfig:i},m.id))})},ct=memo(hr,$o);var ut=styled(Z)({display:"flex",flexDirection:"column",height:"100%"}),ft=styled(Z)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)})),gt=styled(Z)(({theme:e})=>({flex:1,overflowY:"auto",padding:e.spacing(3),display:"flex",flexDirection:"column",gap:e.spacing(2)})),Ct=styled(Z)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2)}));var Nr=({onClose:e,fields:t,conditions:o,onAddCondition:r,onUpdateCondition:i,onRemoveCondition:n,onApply:a$1,onClear:s,onCancel:p,entityFilterConfig:m})=>{let c=rt(t),u=o.length>0,f=useCallback(()=>{a$1(),e();},[a$1,e]),y=useCallback(()=>{s(),e();},[s,e]),g=useCallback(()=>{p();},[p]);return jsxs(ut,{children:[jsxs(ft,{children:[jsx(Fe,{variant:"overline",fontWeight:600,color:"text.secondary",children:"Defina as condi\xE7\xF5es para filtrar"}),jsx(tt,{onClick:r,size:"small","aria-label":"Adicionar filtro",title:"Adicionar filtro",disabled:o.length>=c.length,children:jsx(a,{icon:"SIMPLE_ADD"})})]}),jsx(yt,{}),jsx(gt,{children:jsx(ct,{filterableFields:c,conditions:o,onUpdateCondition:i,onRemoveCondition:n,entityFilterConfig:m})}),jsx(yt,{}),jsxs(Ct,{children:[jsx(Ie,{variant:"text",color:"inherit",onClick:y,children:"Limpar"}),jsxs(Lt,{direction:"row",spacing:1,children:[jsx(Ie,{variant:"outlined",color:"inherit",onClick:g,startIcon:jsx(a,{icon:"CANCEL_CIRCLE"}),children:"Cancelar"}),jsx(Ie,{variant:"contained",onClick:f,disabled:!u,startIcon:jsx(a,{icon:"SIMPLE_CHECK"}),children:"Aplicar"})]})]})]})},bt=memo(Nr,$o);var Mr=e=>jsx(a$3,{open:e.open,onClose:e.onClose,anchorEl:e.anchorEl,isMobile:e.isMobileProp,popoverProps:{slotProps:{paper:{sx:{width:520,maxWidth:"calc(100vw - 24px)",maxHeight:600,mt:1}}}},drawerProps:{anchor:"right",PaperProps:{sx:{width:"100%",maxWidth:"100%",height:"100%",maxHeight:"100%",borderRadius:0}}},children:jsx(bt,{...e})}),Ft=memo(Mr,$o);var Pr=({showFilterButton:e,isOpen:t,filterAnchorEl:o,fields:r,conditions:i,isMobile:n,onClose:a,onAddCondition:s,onUpdateCondition:p,onRemoveCondition:m,onApply:c,onClear:u,onCancel:f,entityFilterConfig:y})=>e?jsx(Ft,{open:t||!!o,anchorEl:o,onClose:a,fields:r,conditions:i,onAddCondition:s,onUpdateCondition:p,onRemoveCondition:m,onApply:c,onClear:u,onCancel:f,isMobileProp:n,entityFilterConfig:y}):null,ht=memo(Pr,$o);var It=styled(Br)(()=>({"& .MuiDialog-paper":{width:"100%"}})),Tt=styled(Gr)(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),Rt=styled(Wr)(({theme:e})=>({padding:e.spacing(2)})),Dt=styled(Vr)(({theme:e})=>({borderTop:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),_t=styled(Ie)(({theme:e})=>({minWidth:24,[e.breakpoints.down(330)]:{padding:e.spacing(1)}})),Te=styled(Fe)(({theme:e})=>({fontWeight:"600",margin:e.spacing(0,1),[e.breakpoints.down(330)]:{fontSize:0,margin:0}}));var Pt=({open:e,onClose:t,fields:o,sort:r,onSortChange:i})=>{let[n,a$1]=useState(r?.fieldName||""),[s,p]=useState(r?.sortType||"ASC"),m=useMemo(()=>o.filter(g=>g.name!=="ACTIONS"&&g.access_type!=="WRITE_ONLY"),[o]),c=useMemo(()=>o.find(g=>(g.filter_field_name??g.name)===n),[o,n]),u=c?.type==="DECIMAL"||c?.type==="INTEGER";useEffect(()=>{e&&(a$1(r?.fieldName||""),p(r?.sortType||"ASC"));},[e,r]);let f=useCallback(()=>{i&&i(n?{fieldName:n,sortType:s}:void 0),t();},[i,n,s,t]),y=useCallback(()=>{i&&(a$1(""),p("ASC"),i(void 0),t());},[i,t]);return jsxs(It,{open:e,onClose:t,maxWidth:"xs",fullWidth:!0,children:[jsx(Tt,{children:jsx(Fe,{variant:"overline",color:"text.secondary",children:"Ordenar por"})}),jsx(Rt,{children:jsxs(Lt,{spacing:2,pt:2,children:[jsxs(Ce,{fullWidth:!0,size:"small",children:[jsx(ye,{id:"sort-field-label",children:"Campo"}),jsxs(be,{labelId:"sort-field-label",value:n,label:"Campo",onChange:g=>a$1(g.target.value),children:[jsx(j,{value:"",children:jsx("em",{children:"Nenhum"})}),m.map(g=>jsx(j,{value:g.filter_field_name??g.name,children:g.description||g.name},g.name))]})]}),jsxs(Ce,{fullWidth:!0,size:"small",disabled:!n,children:[jsx(ye,{id:"sort-direction-label",children:"Dire\xE7\xE3o"}),jsxs(be,{labelId:"sort-direction-label",value:s,label:"Dire\xE7\xE3o",onChange:g=>p(g.target.value),children:[jsxs(j,{value:"ASC",children:["Crescente ",u?"(1-9)":"(A-Z)"]}),jsxs(j,{value:"DESC",children:["Decrescente ",u?"(9-1)":"(Z-A)"]})]})]})]})}),jsxs(Dt,{children:[jsx(Lt,{flex:1,width:"100%",direction:"row",children:jsx(Ie,{color:"inherit",onClick:y,children:"Limpar"})}),jsxs(Ie,{onClick:t,variant:"outlined",color:"inherit",sx:{minWidth:24},children:[jsx(a,{icon:"CANCEL_CIRCLE"}),jsx(Te,{children:"Cancelar"})]}),jsxs(_t,{onClick:f,variant:"contained",children:[jsx(a,{icon:"SIMPLE_CHECK"}),jsx(Te,{children:"Aplicar"})]})]})]})};Pt.displayName="SortModal";var Ot=memo(Pt);var kt=({columns:e,fields:t,preferredFieldOrder:o})=>{let r=useMemo(()=>new Map(e.map(a=>[a.field,a])),[e]),i=useMemo(()=>new Map(t?.map(a=>[a.name,a])||[]),[t]);return {orderedColumns:useMemo(()=>{if(!o||o.length===0||!t)return e;let a="ACTIONS",s=o.filter(u=>u!==a),p=new Set,m=[],c=u=>{let f=i.get(u);if(!f)return;let y=r.get(f.name);!y||p.has(f.name)||(m.push(y),p.add(f.name));};return s.forEach(u=>{c(u);}),t.forEach(u=>{if(u.name===a||s.includes(u.name))return;let f=r.get(u.name);!f||p.has(u.name)||(m.push(f),p.add(u.name));}),c(a),m.length===0?e:m},[e,r,i,o,t]),columnsByFieldId:r,fieldsByName:i}};function Qr(e){return e.name}var Bt=({fields:e,columnsByFieldId:t,defaultVisibleFieldNames:o,columnVisibilityStorageKey:r,onColumnVisibilityModelChange:i})=>{let n=!!r,[a,s]=a$6(r||"__dynamic-data-view:columns__",void 0,{initializeWithValue:n}),p=useMemo(()=>{if(!e)return;let c={};if(e.forEach(u=>{let f=Qr(u);if(!t.has(f))return;let y;if(n&&a){let g=a[f];typeof g=="boolean"&&(y=g);}y===void 0&&o&&o.length>0&&(y=o.includes(u.name)),typeof y=="boolean"&&(c[f]=y);}),Object.keys(c).length!==0)return {columns:{columnVisibilityModel:c}}},[t,o,e,n,a]),m=useCallback(c=>{if(n){let u={...c};delete u.__check__,s(u);}i&&i(c);},[n,i,s]);return {initialState:p,handleColumnVisibilityModelChange:m}};var w={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},De={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},Vt=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Kr=(e,t)=>({field:e.name,headerName:e.description,sortable:!1,width:w.IMAGE_WIDTH,resizable:!1,headerAlign:"center",align:"center",renderCell:o=>t(e,o.row)}),Xr=(e,t)=>({field:e.name,headerName:e.description,minWidth:w.ID_MIN_WIDTH,flex:w.ID_FLEX,renderCell:o=>t(e,o.row)}),jr=(e,t)=>({field:e.name,headerName:e.description,minWidth:w.ENTITY_MIN_WIDTH,flex:w.ENTITY_FLEX,renderCell:o=>t(e,o.row)}),Jr=(e,t)=>({field:e.name,headerName:e.description,minWidth:w.MIN_WIDTH,renderCell:o=>t(e,o.row)}),Zr=(e,t)=>({field:e.name,headerName:"A\xE7\xF5es",width:w.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:o=>t(e,o.row)}),Wt=(e,t)=>e.name===t?.id_field_name||e.name==="name"?Xr:e.name==="ACTIONS"?Zr:e.type==="FILE"?Kr:e.type==="ENTITY"?jr:Jr;var Gt=({metadata:e,renderCell:t,columnStrategies:o})=>useMemo(()=>{if(!e?.fields)return [];let r=new Map;return e.fields.filter(n=>n.access_type===De.READ_ONLY||n.access_type===De.READ_AND_WRITE?!0:n.name==="ACTIONS"||n.name===e?.id_field_name||n.name==="NAME").forEach(n=>{if(r.has(n.name))return;let s=(o?.[n.name]??Wt(n,e))(n,t,e);r.set(n.name,s);}),Array.from(r.values())},[o,e,t]);var Ut=e=>e?.groups?.[0]?.conditionals?e.groups[0].conditionals.map(t=>({id:a$7(),operator:e.groups[0].operator,fieldName:t.fieldName,conditional:t.conditional,value:t.value})):[],Ht=({fields:e,initialFilter:t})=>{let[o,r]=useState(!1),[i,n]=useState(()=>Ut(t)),[a,s]=useState(t),[p,m]=useState(()=>Ut(t)),c=useRef([]),u=useCallback(()=>{c.current=i.map(d=>({...d})),m(i.map(d=>({...d}))),r(!0);},[i]),f=()=>r(!1),y=useCallback(()=>{let d=e.filter(x=>x.available_filter_conditions?.length>0);if(d.length===0)return;let C=p.map(x=>x.fieldName),S=d.filter(x=>!C.includes(x.filter_field_name??x.name));if(S.length===0)return;let L=p.length>0?p[0].operator:"AND",I=S[0],v={id:a$7(),operator:L,fieldName:I.filter_field_name??I.name,conditional:nt(I),value:[]};m(x=>[...x,v]);},[e,p]),g=useCallback((d,C)=>{m(S=>{let L=S.find(I=>I.id===d);if(!L)return S;if(C.operator&&C.operator!==L.operator){let I=C.operator;return S.map(v=>v.id===d?{...v,...C}:{...v,operator:I})}return S.map(I=>I.id===d?{...I,...C}:I)});},[]),N=useCallback(d=>{m(C=>C.filter(S=>S.id!==d));},[]),l=()=>{m([]),n([]),s(void 0);},R=()=>{let d=it(p);return n(p.map(C=>({...C}))),s(d),r(!1),d},_=()=>{m(c.current.map(d=>({...d}))),r(!1);},A=i.some(X),B=i.filter(X).length;return {conditions:p,filter:a,isOpen:o,hasActiveFilters:A,activeFiltersCount:B,openDrawer:u,closeDrawer:f,addCondition:y,updateCondition:g,removeCondition:N,clearAllFilters:l,applyFilters:R,cancelChanges:_}};var $t=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):void 0}catch{return}},Qt=(e,t)=>{try{t===void 0?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t));}catch{}},Kt=(e,t,o)=>{let r=`${e}:filter`,[i,n]=useState(()=>$t(r)||t);useEffect(()=>{t!==void 0&&n(t);},[t]);let a=useCallback(s=>{n(s),Qt(r,s),o?.(s);},[r,o]);return {filter:i,setFilter:a}},Xt=(e,t,o)=>{let r=`${e}:sort`,[i,n]=useState(()=>$t(r)||t);useEffect(()=>{t!==void 0&&n(t);},[t]);let a=useCallback(s=>{n(s),Qt(r,s),o?.(s);},[r,o]);return {sort:i,setSort:a}};var nn=(e,t)=>e?e.find(r=>r.name===t)?.filter_field_name??t:t,an=(e,t)=>e?e.find(r=>r.filter_field_name===t||r.name===t)?.name??t:t,jt=({sort:e,onSortChange:t,fields:o})=>{let r=useMemo(()=>e?[{field:an(o,e.fieldName),sort:e.sortType.toLowerCase()}]:[],[e,o]),i=useCallback(n=>{if(!t)return;let a=n[0];if(!a||!a.sort){t(void 0);return}let s={fieldName:nn(o,a.field),sortType:a.sort.toUpperCase()};t(s);},[t,o]);return {sortModel:r,handleSortModelChange:i}};var Jt=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),_e=e=>e.fields.some(o=>o.name==="ACTIONS")?e:{...e,fields:[...e.fields,Jt()]};var sn=({value:e,format:t})=>e==null?"-":d(e,t),xe=memo(sn);var dn=({value:e,format:t})=>e==null?"-":c(e,t),Ee=memo(dn);var un=({value:e,field:t})=>{if(!t.metadata||typeof e!="object"||e===null)return e?String(e):"-";let o=e[t.metadata.description_field_name];return o?jsx(cn,{label:String(o),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},Ne=memo(un);var Cn=({value:e,trueIcon:t="STAR_02",falseIcon:o="STAR",color:r="primary.main",width:i=18})=>jsx(a,{icon:e?t:o,color:r,width:i}),yn=memo(Cn);var eo=styled("span")(({theme:e,isActive:t})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",padding:e.spacing(.2,1),borderRadius:e.shape.borderRadius,fontSize:"0.75rem",fontWeight:600,width:"fit-content",height:"auto",lineHeight:"1.25rem",whiteSpace:"nowrap",margin:"auto",backgroundColor:t?e.palette.success.lighter||"#00A76F29":e.palette.warning.lighter||"#FF563029",color:t?e.palette.success.darker||"#007867":e.palette.warning.darker||"#B71D18"})),to=styled(Z,{shouldForwardProp:e=>!["size","noImage","clickable"].includes(e)})(({theme:e,size:t,noImage:o,clickable:r})=>({width:t,height:t,minWidth:t,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",cursor:r?"pointer":"default",transition:"opacity 0.2s ease-in-out",color:e.palette.text.disabled,...o&&{border:`1px dashed ${e.palette.divider}`,backgroundColor:e.palette.grey[100]},...r&&{"&:hover":{opacity:.8}},"& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"},[e.breakpoints.down("sm")]:{justifyContent:"flex-start",alignItems:"flex-start"}}));var hn=({imageResourceId:e,getImageUrl:t,size:o=48,alt:r="Imagem",onClick:i,sx:n})=>{let a$1=!!e,s=a$1&&t?t(e):void 0;return jsx(to,{size:o,noImage:!a$1,clickable:!!i,onClick:i,sx:n,children:s?jsx("img",{src:s,alt:r}):jsx(a,{icon:"SEARCH_IMAGE",width:Math.round(o/2),color:"text.disabled"})})},In=memo(hn);var Rn=({id:e,displayName:t,copyMessage:o="ID copiado!"})=>jsxs(Lt,{height:1,justifyContent:"center",children:[jsx(Fe,{variant:"subtitle2",noWrap:!0,title:t,children:t}),jsxs(Lt,{direction:"row",gap:1,alignItems:"center",children:[jsxs(Fe,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$4,{toCopy:e,message:o})]})]}),Dn=memo(Rn);var Nn=({value:e,isCurrency:t=!1})=>e==null?"-":jsx(Lt,{direction:"row",alignItems:"center",height:"100%",children:jsx(Fe,{variant:"body2",noWrap:!0,width:"fit-content",children:t?h(Number(e)):a$5(Number(e))})}),Me=memo(Nn);var vn=({active:e,activeLabel:t="Ativo",inactiveLabel:o="Inativo"})=>jsx(eo,{isActive:e,children:e?t:o}),we=memo(vn);var On=e=>e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim(),kn=({value:e,showCopyButton:t=!1,copyMessage:o="Copiado",copyLabel:r,mask:i})=>{if(!e)return "-";let n=String(e),a=i?i(n):On(n);return t?jsxs(Lt,{direction:"row",gap:1,alignItems:"center",children:[jsx(Fe,{variant:"body2",noWrap:!0,children:a}),jsx(a$4,{toCopy:n,message:o,label:r})]}):a},Le=memo(kn);function Vn(e){return Vt.includes(e)}var lo=e=>{let{onRowAction:t}=e,o=(r,i)=>{let n=i[r.name];if(r.name==="ACTIONS")return t?.(i.id,i);switch(r.type){case"BOOLEAN":return jsx(we,{active:!!n,activeLabel:"Ativo",inactiveLabel:"Inativo"});case"DATE":return jsx(xe,{value:n});case"DATETIME":return jsx(Ee,{value:n});case"DECIMAL":case"INTEGER":return jsx(Me,{value:n,isCurrency:Vn(r.name)});case"FILE":case"ENTITY":return jsx(Ne,{value:n,field:r});case"TEXT":default:return jsx(Le,{value:n})}};return o.displayName="CellRendererComponent",o};var Un=({title:e,metadata:t,data:o,isLoading:r,isFetching:i,page:n,perPage:a,searchValue:s,onSearchChange:p,onSearch:m,onPaginationChange:c,onAdd:u,onRowAction:f,onRowDoubleClick:y,actions:g,moreActions:N,bulkActions:l,rowSelectionModel:R,onRowSelectionModelChange:_,slots:A,mobileRender:B,containerHeight:d=600,showColumnButton:C=!1,showFilterButton:S=!1,filter:L,onFilterChange:I,sort:v,onSortChange:x,defaultVisibleFieldNames:co,preferredFieldOrder:uo,columnStrategies:fo,onColumnVisibilityModelChange:go,storageKey:le,entityFilterConfig:Co})=>{let{items:H=[],total:yo=0}=o||{},z=useMemo(()=>{if(t)return t;if(H.length>0){let M=H[0],Q=Object.keys(M).map(Ue=>({name:Ue,type:"TEXT",description:Ue,filter_field_name:null,metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}));return {name:"loading",description:"Loading...",id_field_name:"id",description_field_name:Q[0]?.name||"id",access_type:"READ_ONLY",fields:Q}}},[t,H]),V=useMemo(()=>z&&f?_e(z):z,[z,f]),Y=useMemo(()=>V?.fields||[],[V]),bo=useMemo(()=>lo({onRowAction:f}),[f]),So=Gt({metadata:V,renderCell:bo,columnStrategies:fo}),{orderedColumns:Fo,columnsByFieldId:ho}=kt({columns:So,fields:V?.fields,preferredFieldOrder:uo}),{initialState:Io,handleColumnVisibilityModelChange:To}=Bt({fields:V?.fields,columnsByFieldId:ho,defaultVisibleFieldNames:co,columnVisibilityStorageKey:`${le}:columns`,onColumnVisibilityModelChange:go}),Ro=useCallback(M=>{if(!y)return;let Q=M.id?.toString()||"";y(Q,M.row);},[y]),q=b("down","md"),[Do,se]=useState(null),{filter:_o,setFilter:$}=Kt(le,L,I),{sort:xo,setSort:Pe}=Xt(le,v,x),Eo=L??_o,me=v??xo,{sortModel:No,handleSortModelChange:Ao}=jt({sort:me,onSortChange:Pe,fields:Y}),{conditions:vo,isOpen:Mo,openDrawer:de,closeDrawer:Oe,addCondition:wo,updateCondition:Lo,removeCondition:Po,clearAllFilters:ke,applyFilters:Be,cancelChanges:Ve,hasActiveFilters:Oo,activeFiltersCount:ko}=Ht({fields:Y,initialFilter:Eo}),Bo=useCallback(()=>{let M=Be();$(M);},[Be,$]),Vo=useCallback(()=>{ke(),$(void 0);},[ke,$]),Wo=useCallback(M=>{q?de():(de(),se(M.currentTarget));},[q,de]),Go=useCallback(()=>{Ve(),se(null);},[Ve]),[Uo,We]=useState(!1),Ho=useCallback(()=>{se(null),Oe();},[Oe]),Ge=!!l?.length;return jsxs(Fragment,{children:[jsx(d$1,{title:e,columns:Fo,rows:H,mobileRender:B,rowCount:yo,loading:r||!t,fetching:i,searchValue:s,onSearch:m,onSearchChange:p,paginationModel:{page:n,pageSize:a},onPaginationChange:c,actions:g,moreActions:N,onAdd:u,onRowDoubleClick:y?Ro:void 0,bulkActions:l,checkboxSelection:Ge,rowSelectionModel:R,onRowSelectionModelChange:_,keepNonExistentRowsSelected:Ge,disableRowSelectionOnClick:!0,slots:A,initialState:Io,showColumnButton:C,containerProps:{height:d,maxHeight:d},onColumnVisibilityModelChange:To,filterButton:jsx(ot,{showFilterButton:S,isMobile:q,hasActiveFilters:Oo,activeFiltersCount:ko,sort:me,onFilterClick:Wo,onSortClick:()=>We(!0)}),sortingMode:"server",sortModel:No,onSortModelChange:Ao,disableColumnFilter:!0}),t&&jsxs(Fragment,{children:[jsx(ht,{showFilterButton:S,isOpen:Mo,filterAnchorEl:Do,fields:Y,conditions:vo,isMobile:q,onClose:Ho,onAddCondition:wo,onUpdateCondition:Lo,onRemoveCondition:Po,onApply:Bo,onClear:Vo,onCancel:Go,entityFilterConfig:Co}),jsx(Ot,{open:Uo,onClose:()=>We(!1),fields:Y,sort:me,onSortChange:Pe})]})]})},Hn=memo(Un,$o);var zn=({metadata:e,columnVisibilityModel:t,defaultVisibleFields:o})=>{if(!e?.fields)return;let i=e.fields.map(n=>n.name).filter(n=>n==="ACTIONS"?!1:t?t[n]!==!1:o?.includes(n)??!0);return o?i.sort((n,a)=>{let s=o.indexOf(n),p=o.indexOf(a);return s-p||0}):i};
|
|
58
|
+
var jo=({showFilterButton:e$1,isMobile:t,hasActiveFilters:o,activeFiltersCount:r,sort:a$1,onFilterClick:i,onSortClick:l})=>e$1?t?jsxs(Pt,{direction:"row",spacing:.5,children:[jsx(et,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":{transform:"scale(0.9) translate(10px, 9px)",opacity:r===0?0:1}},children:jsx(tt,{color:o?"primary":"default",onClick:i,size:"small","aria-label":"Filtrar",sx:{overflow:"visible"},children:jsx(a,{icon:"FILTER_VERTICAL"})})}),jsx(e,{sx:{height:16},orientation:"vertical",flexItem:!0}),jsx(tt,{color:a$1?"primary":"default",onClick:l,size:"small","aria-label":"Ordenar",children:jsx(a,{icon:a$1?.sortType==="DESC"?"SORTING_DESC":"SORTING_ASC"})})]}):jsx(et,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":r?{transform:"scale(0.9) translate(-3px, 7px)",position:"relative",opacity:1,transition:"none"}:{transition:"none",opacity:0}},children:jsx(Te,{variant:"text",color:o?"primary":"inherit",startIcon:jsx(a,{icon:"FILTER_VERTICAL"}),onClick:i,size:"small",children:"Filtrar"})}):null,ot=memo(jo,Qo);var rt=e=>e.filter(t=>t.available_filter_conditions&&t.available_filter_conditions.length>0&&t.name!=="ACTIONS");var it=e=>{let{type:t,available_filter_conditions:o}=e;return o.length===0?"EQUALS":t==="TEXT"&&o.includes("LIKE")?"LIKE":o[0]},K=e=>e.value.length>0||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",nt=e=>{if(e.length===0)return;let t=e.filter(K);if(t.length!==0)return {operator:"AND",groups:[{operator:t[0]?.operator||"AND",conditionals:t.map(o=>({fieldName:o.fieldName,conditional:o.conditional,value:o.value}))}]}};var at={["EQUALS"]:"Igual a",["NOT_EQUALS"]:"Diferente de",["LIKE"]:"Cont\xE9m",["NOT_LIKE"]:"N\xE3o cont\xE9m",["GREATER_THAN"]:"Maior que",["LESS_THAN"]:"Menor que",["GREATER_THAN_OR_EQUAL"]:"Maior ou igual a",["LESS_THAN_OR_EQUAL"]:"Menor ou igual a",["IN"]:"Em",["NOT_IN"]:"N\xE3o em",["IS_NULL"]:"\xC9 nulo",["IS_NOT_NULL"]:"N\xE3o \xE9 nulo"};var st={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},nr=({config:e,metadata:t,value:o,initialLabel:r,onChange:a,disabled:i=!1})=>{let[l,,s]=a$1(!1),{data:d,isLoading:m,isFetching:u}=e.useQuery({page:0,perPage:25,...e.queryParams},{skip:!l&&!o}),p=m||u,c=useMemo(()=>o?{value:o,label:r??o}:null,[o,r]),f=useMemo(()=>{let n=(d?.items??[]).map(g=>({label:String(g[t.description_field_name]??""),value:String(g[t.id_field_name]??"")})).filter(g=>g.value&&g.label);return c&&!n.some(g=>g.value===c.value)&&n.unshift(c),n},[d,t.id_field_name,t.description_field_name,c]),C=useCallback(n=>{if(!n){a("",void 0);return}let g=f.find(T=>T.value===n);a(n,g?.label);},[a,f]),E=`entity-filter-label-${t.name}`;return jsxs(ye,{size:"small",sx:{flex:1,minWidth:120},disabled:i,children:[jsx(be,{id:E,shrink:!0,children:"Filtro"}),jsxs(Se,{labelId:E,label:"Filtro",value:c?.value??"",onChange:n=>C(n.target.value),onOpen:()=>s(!0),onClose:()=>s(!1),size:"small",displayEmpty:!0,notched:!0,renderValue:n=>n?f.find(T=>T.value===n)?.label??c?.label??String(n):"",sx:{"& .MuiSelect-select":st},children:[p&&jsxs(j,{disabled:!0,value:"",children:[jsx(tr,{size:18,sx:{mr:1}}),"Carregando..."]}),!p&&f.length===0&&jsx(j,{disabled:!0,value:"",children:"Nenhum resultado"}),!p&&f.map(n=>jsx(j,{value:n.value,sx:st,title:n.label,children:n.label},n.value))]})]})},mt=memo(nr);var dr=({value:e,onChange:t,totalConditions:o,isFirst:r})=>o===1?null:r?jsx(Pt,{sx:{width:55,flexShrink:0}}):jsxs(Se,{value:e,onChange:a=>t(a.target.value),size:"small",sx:{width:55,flexShrink:0},children:[jsx(j,{value:"AND",children:"e"}),jsx(j,{value:"OR",children:"ou"})]}),pt=memo(dr,Qo);var V={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},yr=({condition:e,fields:t,onChange:o,onRemove:r,totalConditions:a$1,isFirst:i,entityFilterConfig:l})=>{let s=useMemo(()=>t.find(n=>(n.filter_field_name??n.name)===e.fieldName),[t,e.fieldName]),d=useMemo(()=>s?.available_filter_conditions||[],[s]),m=useMemo(()=>!e.fieldName||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",[e.fieldName,e.conditional]),u=useCallback(n=>{let g=t.find(L=>(L.filter_field_name??L.name)===n);if(!g)return;let T=g.available_filter_conditions[0]||"EQUALS";o({...e,fieldName:n,conditional:T,value:[]});},[t,e,o]),p=useCallback(n=>{o({...e,conditional:n});},[e,o]),c=useCallback(n=>{o({...e,value:n?[n]:[]});},[e,o]),f=useCallback((n,g)=>{let T={...e.valueLabels};n&&g&&(T[n]=g),o({...e,value:n?[n]:[],valueLabels:T});},[e,o]),C=useCallback(n=>{o({...e,operator:n});},[e,o]),E=()=>{if(s?.type==="BOOLEAN")return jsxs(ye,{size:"small",sx:{flex:1,minWidth:120},disabled:m,children:[jsx(be,{id:`value-label-${e.id}`,children:"Valor"}),jsxs(Se,{labelId:`value-label-${e.id}`,label:"Valor",value:e.value[0]||"",onChange:n=>c(n.target.value),size:"small",sx:{"& .MuiSelect-select":V},children:[jsx(j,{value:"true",children:"Verdadeiro"}),jsx(j,{value:"false",children:"Falso"})]})]});if(s?.type==="ENTITY"&&s.metadata&&l?.[s.metadata.name]){let n=e.value[0]||"";return jsx(mt,{config:l[s.metadata.name],metadata:s.metadata,value:n,initialLabel:e.valueLabels?.[n],onChange:f,disabled:m})}return jsx(gr,{label:"Filtro",value:e.value[0]||"",onChange:n=>c(n.target.value),size:"small",disabled:m,InputLabelProps:{shrink:!0},sx:{flex:1,minWidth:120}})};return jsxs(Pt,{direction:"row",spacing:1,alignItems:"center",children:[jsx(tt,{onClick:r,size:"small","aria-label":"Remover filtro",sx:{flexShrink:0},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18})}),jsx(pt,{value:e.operator,onChange:C,totalConditions:a$1,isFirst:i}),jsxs(ye,{size:"small",sx:{minWidth:150,flex:1},children:[jsx(be,{id:`field-label-${e.id}`,children:"Coluna"}),jsx(Se,{labelId:`field-label-${e.id}`,label:"Coluna",value:e.fieldName,onChange:n=>u(n.target.value),size:"small",sx:{"& .MuiSelect-select":V},children:t.map(n=>jsx(j,{value:n.filter_field_name??n.name,sx:V,title:n.description||n.name,children:n.description||n.name},n.name))})]}),jsxs(ye,{size:"small",sx:{minWidth:90},disabled:!e.fieldName,children:[jsx(be,{id:`condition-label-${e.id}`,children:"Condi\xE7\xE3o"}),jsx(Se,{labelId:`condition-label-${e.id}`,label:"Condi\xE7\xE3o",value:e.conditional,onChange:n=>p(n.target.value),size:"small",sx:{"& .MuiSelect-select":V},children:d.map(n=>jsx(j,{value:n,sx:V,children:at[n]||n},n))})]}),E()]})},ct=memo(yr,Qo);var hr=({filterableFields:e,conditions:t,onUpdateCondition:o,onRemoveCondition:r,entityFilterConfig:a})=>{let i=useCallback(m=>{o(m.id,m);},[o]),l=useCallback(m=>()=>{r(m);},[r]),s=useMemo(()=>t.map(m=>m.fieldName).filter(m=>!!m),[t]),d=useCallback(m=>e.filter(u=>!s.includes(u.name)||u.name===m),[e,s]);return e.length===0?jsx(he,{variant:"body2",color:"text.secondary",textAlign:"center",children:"Nenhum filtro dispon\xEDvel"}):t.length===0?jsxs(he,{variant:"body2",color:"text.secondary",textAlign:"center",children:["Clique em"," ",jsx(he,{component:"strong",variant:"body2",fontWeight:600,color:"text.primary",children:'"+"'})," ","para adicionar um filtro"]}):jsx(Fragment,{children:t.map((m,u)=>jsx(ct,{condition:m,fields:d(m.fieldName),onChange:i,onRemove:l(m.id),showOperator:u>0,totalConditions:t.length,isFirst:u===0,entityFilterConfig:a},m.id))})},ut=memo(hr,Qo);var ft=styled(Z)({display:"flex",flexDirection:"column",height:"100%"}),Ct=styled(Z)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)})),gt=styled(Z)(({theme:e})=>({flex:1,overflowY:"auto",padding:e.spacing(3),display:"flex",flexDirection:"column",gap:e.spacing(2)})),yt=styled(Z)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2)}));var Er=({onClose:e,fields:t,conditions:o,onAddCondition:r,onUpdateCondition:a$1,onRemoveCondition:i,onApply:l,onClear:s,onCancel:d,entityFilterConfig:m})=>{let u=rt(t),p=o.length>0,c=useCallback(()=>{l(),e();},[l,e]),f=useCallback(()=>{s(),e();},[s,e]),C=useCallback(()=>{d();},[d]);return jsxs(ft,{children:[jsxs(Ct,{children:[jsx(he,{variant:"overline",fontWeight:600,color:"text.secondary",children:"Defina as condi\xE7\xF5es para filtrar"}),jsx(tt,{onClick:r,size:"small","aria-label":"Adicionar filtro",title:"Adicionar filtro",disabled:o.length>=u.length,children:jsx(a,{icon:"SIMPLE_ADD"})})]}),jsx(bt,{}),jsx(gt,{children:jsx(ut,{filterableFields:u,conditions:o,onUpdateCondition:a$1,onRemoveCondition:i,entityFilterConfig:m})}),jsx(bt,{}),jsxs(yt,{children:[jsx(Te,{variant:"text",color:"inherit",onClick:f,children:"Limpar"}),jsxs(Pt,{direction:"row",spacing:1,children:[jsx(Te,{variant:"outlined",color:"inherit",onClick:C,startIcon:jsx(a,{icon:"CANCEL_CIRCLE"}),children:"Cancelar"}),jsx(Te,{variant:"contained",onClick:c,disabled:!p,startIcon:jsx(a,{icon:"SIMPLE_CHECK"}),children:"Aplicar"})]})]})]})},St=memo(Er,Qo);var Mr=e=>jsx(a$2,{open:e.open,onClose:e.onClose,anchorEl:e.anchorEl,isMobile:e.isMobileProp,popoverProps:{slotProps:{paper:{sx:{width:520,maxWidth:"calc(100vw - 24px)",maxHeight:600,mt:1}}}},drawerProps:{anchor:"right",PaperProps:{sx:{width:"100%",maxWidth:"100%",height:"100%",maxHeight:"100%",borderRadius:0}}},children:jsx(St,{...e})}),ht=memo(Mr,Qo);var Pr=({showFilterButton:e,isOpen:t,filterAnchorEl:o,fields:r,conditions:a,isMobile:i,onClose:l,onAddCondition:s,onUpdateCondition:d,onRemoveCondition:m,onApply:u,onClear:p,onCancel:c,entityFilterConfig:f})=>e?jsx(ht,{open:t||!!o,anchorEl:o,onClose:l,fields:r,conditions:a,onAddCondition:s,onUpdateCondition:d,onRemoveCondition:m,onApply:u,onClear:p,onCancel:c,isMobileProp:i,entityFilterConfig:f}):null,It=memo(Pr,Qo);var Tt=styled(Br)(()=>({"& .MuiDialog-paper":{width:"100%"}})),Rt=styled(Gr)(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),Dt=styled(Vr)(({theme:e})=>({padding:e.spacing(2)})),_t=styled(Wr)(({theme:e})=>({borderTop:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),xt=styled(Te)(({theme:e})=>({minWidth:24,[e.breakpoints.down(330)]:{padding:e.spacing(1)}})),Re=styled(he)(({theme:e})=>({fontWeight:"600",margin:e.spacing(0,1),[e.breakpoints.down(330)]:{fontSize:0,margin:0}}));var Ot=({open:e,onClose:t,fields:o,sort:r,onSortChange:a$1})=>{let[i,l]=useState(r?.fieldName||""),[s,d]=useState(r?.sortType||"ASC"),m=useMemo(()=>o.filter(C=>C.name!=="ACTIONS"&&C.access_type!=="WRITE_ONLY"),[o]),u=useMemo(()=>o.find(C=>(C.filter_field_name??C.name)===i),[o,i]),p=u?.type==="DECIMAL"||u?.type==="INTEGER";useEffect(()=>{e&&(l(r?.fieldName||""),d(r?.sortType||"ASC"));},[e,r]);let c=useCallback(()=>{a$1&&a$1(i?{fieldName:i,sortType:s}:void 0),t();},[a$1,i,s,t]),f=useCallback(()=>{a$1&&(l(""),d("ASC"),a$1(void 0),t());},[a$1,t]);return jsxs(Tt,{open:e,onClose:t,maxWidth:"xs",fullWidth:!0,children:[jsx(Rt,{children:jsx(he,{variant:"overline",color:"text.secondary",children:"Ordenar por"})}),jsx(Dt,{children:jsxs(Pt,{spacing:2,pt:2,children:[jsxs(ye,{fullWidth:!0,size:"small",children:[jsx(be,{id:"sort-field-label",children:"Campo"}),jsxs(Se,{labelId:"sort-field-label",value:i,label:"Campo",onChange:C=>l(C.target.value),children:[jsx(j,{value:"",children:jsx("em",{children:"Nenhum"})}),m.map(C=>jsx(j,{value:C.filter_field_name??C.name,children:C.description||C.name},C.name))]})]}),jsxs(ye,{fullWidth:!0,size:"small",disabled:!i,children:[jsx(be,{id:"sort-direction-label",children:"Dire\xE7\xE3o"}),jsxs(Se,{labelId:"sort-direction-label",value:s,label:"Dire\xE7\xE3o",onChange:C=>d(C.target.value),children:[jsxs(j,{value:"ASC",children:["Crescente ",p?"(1-9)":"(A-Z)"]}),jsxs(j,{value:"DESC",children:["Decrescente ",p?"(9-1)":"(Z-A)"]})]})]})]})}),jsxs(_t,{children:[jsx(Pt,{flex:1,width:"100%",direction:"row",children:jsx(Te,{color:"inherit",onClick:f,children:"Limpar"})}),jsxs(Te,{onClick:t,variant:"outlined",color:"inherit",sx:{minWidth:24},children:[jsx(a,{icon:"CANCEL_CIRCLE"}),jsx(Re,{children:"Cancelar"})]}),jsxs(xt,{onClick:c,variant:"contained",children:[jsx(a,{icon:"SIMPLE_CHECK"}),jsx(Re,{children:"Aplicar"})]})]})]})};Ot.displayName="SortModal";var kt=memo(Ot);var Bt=({columns:e,fields:t,preferredFieldOrder:o})=>{let r=useMemo(()=>new Map(e.map(l=>[l.field,l])),[e]),a=useMemo(()=>new Map(t?.map(l=>[l.name,l])||[]),[t]);return {orderedColumns:useMemo(()=>{if(!o||o.length===0||!t)return e;let l="ACTIONS",s=o.filter(p=>p!==l),d=new Set,m=[],u=p=>{let c=a.get(p);if(!c)return;let f=r.get(c.name);!f||d.has(c.name)||(m.push(f),d.add(c.name));};return s.forEach(p=>{u(p);}),t.forEach(p=>{if(p.name===l||s.includes(p.name))return;let c=r.get(p.name);!c||d.has(p.name)||(m.push(c),d.add(p.name));}),u(l),m.length===0?e:m},[e,r,a,o,t]),columnsByFieldId:r,fieldsByName:a}};function Qr(e){return e.name}var Wt=({fields:e,columnsByFieldId:t,defaultVisibleFieldNames:o,columnVisibilityStorageKey:r,onColumnVisibilityModelChange:a})=>{let i=!!r,[l,s]=a$5(r||"__dynamic-data-view:columns__",void 0,{initializeWithValue:i}),d=useMemo(()=>{if(!e)return;let u={};if(e.forEach(p=>{let c=Qr(p);if(!t.has(c))return;let f;if(i&&l){let C=l[c];typeof C=="boolean"&&(f=C);}f===void 0&&o&&o.length>0&&(f=o.includes(p.name)),typeof f=="boolean"&&(u[c]=f);}),Object.keys(u).length!==0)return {columns:{columnVisibilityModel:u}}},[t,o,e,i,l]),m=useCallback(u=>{if(i){let p={...u};delete p.__check__,s(p);}a&&a(u);},[i,a,s]);return {initialState:d,handleColumnVisibilityModelChange:m}};var M={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},_e={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},Vt=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Kr=(e,t)=>({field:e.name,headerName:e.description,sortable:!1,width:M.IMAGE_WIDTH,resizable:!1,headerAlign:"center",align:"center",renderCell:o=>t(e,o.row)}),Xr=(e,t)=>({field:e.name,headerName:e.description,minWidth:M.ID_MIN_WIDTH,flex:M.ID_FLEX,renderCell:o=>t(e,o.row)}),jr=(e,t)=>({field:e.name,headerName:e.description,minWidth:M.ENTITY_MIN_WIDTH,flex:M.ENTITY_FLEX,renderCell:o=>t(e,o.row)}),Jr=(e,t)=>({field:e.name,headerName:e.description,minWidth:M.MIN_WIDTH,renderCell:o=>t(e,o.row)}),Zr=(e,t)=>({field:e.name,headerName:"A\xE7\xF5es",width:M.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:o=>t(e,o.row)}),Gt=(e,t)=>e.name===t?.id_field_name||e.name==="name"?Xr:e.name==="ACTIONS"?Zr:e.type==="FILE"?Kr:e.type==="ENTITY"?jr:Jr;var Ut=({metadata:e,renderCell:t,columnStrategies:o})=>useMemo(()=>{if(!e?.fields)return [];let r=new Map;return e.fields.filter(i=>i.access_type===_e.READ_ONLY||i.access_type===_e.READ_AND_WRITE?!0:i.name==="ACTIONS"||i.name===e?.id_field_name||i.name==="NAME").forEach(i=>{if(r.has(i.name))return;let s=(o?.[i.name]??Gt(i,e))(i,t,e);r.set(i.name,s);}),Array.from(r.values())},[o,e,t]);var Ht=e=>e?.groups?.[0]?.conditionals?e.groups[0].conditionals.map(t=>({id:a$6(),operator:e.groups[0].operator,fieldName:t.fieldName,conditional:t.conditional,value:t.value})):[],zt=({fields:e,initialFilter:t})=>{let[o,r]=useState(!1),[a,i]=useState(()=>Ht(t)),[l,s]=useState(t),[d,m]=useState(()=>Ht(t)),u=useRef([]),p=useCallback(()=>{u.current=a.map(y=>({...y})),m(a.map(y=>({...y}))),r(!0);},[a]),c=()=>r(!1),f=useCallback(()=>{let y=e.filter(x=>x.available_filter_conditions?.length>0);if(y.length===0)return;let h=d.map(x=>x.fieldName),R=y.filter(x=>!h.includes(x.filter_field_name??x.name));if(R.length===0)return;let w=d.length>0?d[0].operator:"AND",I=R[0],v={id:a$6(),operator:w,fieldName:I.filter_field_name??I.name,conditional:it(I),value:[]};m(x=>[...x,v]);},[e,d]),C=useCallback((y,h)=>{m(R=>{let w=R.find(I=>I.id===y);if(!w)return R;if(h.operator&&h.operator!==w.operator){let I=h.operator;return R.map(v=>v.id===y?{...v,...h}:{...v,operator:I})}return R.map(I=>I.id===y?{...I,...h}:I)});},[]),E=useCallback(y=>{m(h=>h.filter(R=>R.id!==y));},[]),n=()=>{m([]),i([]),s(void 0);},g=()=>{let y=nt(d);return i(d.map(h=>({...h}))),s(y),r(!1),y},T=()=>{m(u.current.map(y=>({...y}))),r(!1);},L=a.some(K),le=a.filter(K).length;return {conditions:d,filter:l,isOpen:o,hasActiveFilters:L,activeFiltersCount:le,openDrawer:p,closeDrawer:c,addCondition:f,updateCondition:C,removeCondition:E,clearAllFilters:n,applyFilters:g,cancelChanges:T}};var Qt=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):void 0}catch{return}},Kt=(e,t)=>{try{t===void 0?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t));}catch{}},Xt=(e,t,o)=>{let r=`${e}:filter`,[a,i]=useState(()=>Qt(r)||t);useEffect(()=>{t!==void 0&&i(t);},[t]);let l=useCallback(s=>{i(s),Kt(r,s),o?.(s);},[r,o]);return {filter:a,setFilter:l}},jt=(e,t,o)=>{let r=`${e}:sort`,[a,i]=useState(()=>Qt(r)||t);useEffect(()=>{t!==void 0&&i(t);},[t]);let l=useCallback(s=>{i(s),Kt(r,s),o?.(s);},[r,o]);return {sort:a,setSort:l}};var ii=(e,t)=>e?e.find(r=>r.name===t)?.filter_field_name??t:t,ni=(e,t)=>e?e.find(r=>r.filter_field_name===t||r.name===t)?.name??t:t,Jt=({sort:e,onSortChange:t,fields:o})=>{let r=useMemo(()=>e?[{field:ni(o,e.fieldName),sort:e.sortType.toLowerCase()}]:[],[e,o]),a=useCallback(i=>{if(!t)return;let l=i[0];if(!l||!l.sort){t(void 0);return}let s={fieldName:ii(o,l.field),sortType:l.sort.toUpperCase()};t(s);},[t,o]);return {sortModel:r,handleSortModelChange:a}};var Zt=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),xe=e=>e.fields.some(o=>o.name==="ACTIONS")?e:{...e,fields:[...e.fields,Zt()]};var li=({value:e,format:t})=>e==null?"-":d(e,t),Ne=memo(li);var mi=({value:e,format:t})=>e==null?"-":c(e,t),Ee=memo(mi);var ci=({value:e,field:t})=>{if(!t.metadata||typeof e!="object"||e===null)return e?String(e):"-";let o=e[t.metadata.description_field_name];return o?jsx(pi,{label:String(o),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},ve=memo(ci);var Ci=({value:e,trueIcon:t="STAR_02",falseIcon:o="STAR",color:r="primary.main",width:a$1=18})=>jsx(a,{icon:e?t:o,color:r,width:a$1}),gi=memo(Ci);var to=styled("span")(({theme:e,isActive:t})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",padding:e.spacing(.2,1),borderRadius:e.shape.borderRadius,fontSize:"0.75rem",fontWeight:600,width:"fit-content",height:"auto",lineHeight:"1.25rem",whiteSpace:"nowrap",margin:"auto",backgroundColor:t?e.palette.success.lighter||"#00A76F29":e.palette.warning.lighter||"#FF563029",color:t?e.palette.success.darker||"#007867":e.palette.warning.darker||"#B71D18"})),oo=styled(Z,{shouldForwardProp:e=>!["size","noImage","clickable"].includes(e)})(({theme:e,size:t,noImage:o,clickable:r})=>({width:t,height:t,minWidth:t,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",cursor:r?"pointer":"default",transition:"opacity 0.2s ease-in-out",color:e.palette.text.disabled,...o&&{border:`1px dashed ${e.palette.divider}`,backgroundColor:e.palette.grey[100]},...r&&{"&:hover":{opacity:.8}},"& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"},[e.breakpoints.down("sm")]:{justifyContent:"flex-start",alignItems:"flex-start"}}));var Fi=({imageResourceId:e,getImageUrl:t,size:o=48,alt:r="Imagem",onClick:a$1,sx:i})=>{let l=!!e,s=l&&t?t(e):void 0;return jsx(oo,{size:o,noImage:!l,clickable:!!a$1,onClick:a$1,sx:i,children:s?jsx("img",{src:s,alt:r}):jsx(a,{icon:"SEARCH_IMAGE",width:Math.round(o/2),color:"text.disabled"})})},hi=memo(Fi);var Ti=({id:e,displayName:t,copyMessage:o="ID copiado!"})=>jsxs(Pt,{height:1,justifyContent:"center",children:[jsx(he,{variant:"subtitle2",noWrap:!0,title:t,children:t}),jsxs(Pt,{direction:"row",gap:1,alignItems:"center",children:[jsxs(he,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$3,{toCopy:e,message:o})]})]}),Ri=memo(Ti);var Ni=({value:e,isCurrency:t=!1})=>e==null?"-":jsx(Pt,{direction:"row",alignItems:"center",height:"100%",children:jsx(he,{variant:"body2",noWrap:!0,width:"fit-content",children:t?h(Number(e)):a$4(Number(e))})}),we=memo(Ni);var vi=({active:e,activeLabel:t="Ativo",inactiveLabel:o="Inativo"})=>jsx(to,{isActive:e,children:e?t:o}),Le=memo(vi);var Pi=e=>e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim(),Oi=({value:e,showCopyButton:t=!1,copyMessage:o="Copiado",copyLabel:r,mask:a})=>{if(!e)return "-";let i=String(e),l=a?a(i):Pi(i);return t?jsxs(Pt,{direction:"row",gap:1,alignItems:"center",children:[jsx(he,{variant:"body2",noWrap:!0,children:l}),jsx(a$3,{toCopy:i,message:o,label:r})]}):l},Pe=memo(Oi);function Bi(e){return Vt.includes(e)}var so=e=>{let{onRowAction:t}=e,o=(r,a)=>{let i=a[r.name];if(r.name==="ACTIONS")return t?.(a.id,a);switch(r.type){case"BOOLEAN":return jsx(Le,{active:!!i,activeLabel:"Ativo",inactiveLabel:"Inativo"});case"DATE":return jsx(Ne,{value:i});case"DATETIME":return jsx(Ee,{value:i});case"DECIMAL":case"INTEGER":return jsx(we,{value:i,isCurrency:Bi(r.name)});case"FILE":case"ENTITY":return jsx(ve,{value:i,field:r});case"TEXT":default:return jsx(Pe,{value:i})}};return o.displayName="CellRendererComponent",o};var Gi=({title:e,metadata:t,data:o,isLoading:r,isFetching:a,page:i,perPage:l,searchValue:s,onSearchChange:d,onSearch:m,onPaginationChange:u,onAdd:p,onRowAction:c,onRowDoubleClick:f,actions:C,moreActions:E,bulkActions:n,rowSelectionModel:g,onRowSelectionModelChange:T,slots:L,mobileRender:le,containerHeight:y=600,showColumnButton:h=!1,showFilterButton:R=!1,filter:w,onFilterChange:I,sort:v,onSortChange:x,defaultVisibleFieldNames:uo,preferredFieldOrder:fo,columnStrategies:Co,onColumnVisibilityModelChange:go,storageKey:se,entityFilterConfig:yo})=>{let{items:U=[],total:bo=0}=o||{},H=useMemo(()=>{if(t)return t;if(U.length>0){let A=U[0],$=Object.keys(A).map(He=>({name:He,type:"TEXT",description:He,filter_field_name:null,metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}));return {name:"loading",description:"Loading...",id_field_name:"id",description_field_name:$[0]?.name||"id",access_type:"READ_ONLY",fields:$}}},[t,U]),B=useMemo(()=>H&&c?xe(H):H,[H,c]),z=useMemo(()=>B?.fields||[],[B]),So=useMemo(()=>so({onRowAction:c}),[c]),Fo=Ut({metadata:B,renderCell:So,columnStrategies:Co}),{orderedColumns:ho,columnsByFieldId:Io}=Bt({columns:Fo,fields:B?.fields,preferredFieldOrder:fo}),{initialState:To,handleColumnVisibilityModelChange:Ro}=Wt({fields:B?.fields,columnsByFieldId:Io,defaultVisibleFieldNames:uo,columnVisibilityStorageKey:`${se}:columns`,onColumnVisibilityModelChange:go}),Do=useCallback(A=>{if(!f)return;let $=A.id?.toString()||"";f($,A.row);},[f]),Y=b("down","md"),[_o,me]=useState(null),{filter:xo,setFilter:q}=Xt(se,w,I),{sort:No,setSort:Oe}=jt(se,v,x),Eo=w??xo,de=v??No,{sortModel:vo,handleSortModelChange:Ao}=Jt({sort:de,onSortChange:Oe,fields:z}),{conditions:Mo,isOpen:wo,openDrawer:pe,closeDrawer:ke,addCondition:Lo,updateCondition:Po,removeCondition:Oo,clearAllFilters:Be,applyFilters:We,cancelChanges:Ve,hasActiveFilters:ko,activeFiltersCount:Bo}=zt({fields:z,initialFilter:Eo}),Wo=useCallback(()=>{let A=We();q(A);},[We,q]),Vo=useCallback(()=>{Be(),q(void 0);},[Be,q]),Go=useCallback(A=>{Y?pe():(pe(),me(A.currentTarget));},[Y,pe]),Uo=useCallback(()=>{Ve(),me(null);},[Ve]),[Ho,Ge]=useState(!1),zo=useCallback(()=>{me(null),ke();},[ke]),Ue=!!n?.length;return jsxs(Fragment,{children:[jsx(d$1,{title:e,columns:ho,rows:U,mobileRender:le,rowCount:bo,loading:r||!t,fetching:a,searchValue:s,onSearch:m,onSearchChange:d,paginationModel:{page:i,pageSize:l},onPaginationChange:u,actions:C,moreActions:E,onAdd:p,onRowDoubleClick:f?Do:void 0,bulkActions:n,checkboxSelection:Ue,rowSelectionModel:g,onRowSelectionModelChange:T,keepNonExistentRowsSelected:Ue,disableRowSelectionOnClick:!0,slots:L,initialState:To,showColumnButton:h,containerProps:{height:y,maxHeight:y},onColumnVisibilityModelChange:Ro,filterButton:jsx(ot,{showFilterButton:R,isMobile:Y,hasActiveFilters:ko,activeFiltersCount:Bo,sort:de,onFilterClick:Go,onSortClick:()=>Ge(!0)}),sortingMode:"server",sortModel:vo,onSortModelChange:Ao,disableColumnFilter:!0}),t&&jsxs(Fragment,{children:[jsx(It,{showFilterButton:R,isOpen:wo,filterAnchorEl:_o,fields:z,conditions:Mo,isMobile:Y,onClose:zo,onAddCondition:Lo,onUpdateCondition:Po,onRemoveCondition:Oo,onApply:Wo,onClear:Vo,onCancel:Uo,entityFilterConfig:yo}),jsx(kt,{open:Ho,onClose:()=>Ge(!1),fields:z,sort:de,onSortChange:Oe})]})]})},Ui=memo(Gi,Qo);var Hi=({metadata:e,columnVisibilityModel:t,defaultVisibleFields:o})=>{if(!e?.fields)return;let a=e.fields.map(i=>i.name).filter(i=>i==="ACTIONS"?!1:t?t[i]!==!1:o?.includes(i)??!0);return o?a.sort((i,l)=>{let s=o.indexOf(i),d=o.indexOf(l);return s-d||0}):a};
|
|
61
59
|
|
|
62
|
-
export {
|
|
60
|
+
export { Ne as DateRenderer, Ee as DateTimeRenderer, ve as EntityRenderer, gi as IconRenderer, hi as ImageRenderer, Ri as NameRenderer, we as NumberRenderer, Le as StatusRenderer, Pe as TextRenderer, xe as addActionsFieldToMetadata, Hi as buildVisibleFields, Zt as createActionsField, Ui as default };
|
|
63
61
|
//# sourceMappingURL=index.js.map
|