@zydon/common 2.7.77 → 2.7.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 (61) hide show
  1. package/dist/chunk-23NOJPUV.js +19 -0
  2. package/dist/chunk-23NOJPUV.js.map +1 -0
  3. package/dist/chunk-373WGZZL.js +5 -0
  4. package/dist/chunk-373WGZZL.js.map +1 -0
  5. package/dist/chunk-IGOVBLZ2.js +19 -0
  6. package/dist/chunk-IGOVBLZ2.js.map +1 -0
  7. package/dist/chunk-SVJYA4Q6.js +20 -0
  8. package/dist/chunk-SVJYA4Q6.js.map +1 -0
  9. package/dist/{chunk-QVU6HSYP.js → chunk-TB4Y7LXN.js} +6 -5
  10. package/dist/chunk-TB4Y7LXN.js.map +1 -0
  11. package/dist/{chunk-74KBZX6F.js → chunk-U4ZTAFZV.js} +2 -2
  12. package/dist/chunk-UJGDCLUU.js +25 -0
  13. package/dist/chunk-UJGDCLUU.js.map +1 -0
  14. package/dist/{chunk-JZ55NEMI.js → chunk-WYJV57WG.js} +2 -2
  15. package/dist/components/Autocomplete/index.js +1 -1
  16. package/dist/components/AutocompleteDetailed/index.js +1 -1
  17. package/dist/components/AvatarButton/index.js +2 -2
  18. package/dist/components/BulkEditModal/index.js +3 -3
  19. package/dist/components/Common/index.js +2 -2
  20. package/dist/components/DataCards/index.d.ts +3 -2
  21. package/dist/components/DataCards/index.js +10 -10
  22. package/dist/components/DataCards/index.js.map +1 -1
  23. package/dist/components/DataView/index.d.ts +15 -5
  24. package/dist/components/DataView/index.js +2 -2
  25. package/dist/components/DynamicDataView/index.js +6 -6
  26. package/dist/components/DynamicDataView/index.js.map +1 -1
  27. package/dist/components/SelectableCards/index.js +1 -1
  28. package/dist/components/ToggleTheme/index.js +2 -2
  29. package/dist/components/form/Address/index.js +2 -2
  30. package/dist/components/form/Autocomplete/index.js +2 -2
  31. package/dist/components/form/AutocompleteDetailed/index.js +1 -1
  32. package/dist/components/form/SelectList/index.js.map +1 -1
  33. package/dist/components/form/SelectableCards/index.js +1 -1
  34. package/dist/components/form/Webhook/index.js +2 -2
  35. package/dist/hooks/useAutocomplete.js +3 -3
  36. package/dist/hooks/useAutocomplete.js.map +1 -1
  37. package/dist/hooks/useScreenSize.js.map +1 -1
  38. package/dist/hooks/useSnackbar.d.ts +7 -7
  39. package/dist/hooks/useThemeToggle.js +2 -2
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +2 -2
  42. package/dist/theme/core/index.d.ts +1 -1
  43. package/dist/theme/styles/index.d.ts +12 -12
  44. package/dist/theme/theme-provider.js +2 -2
  45. package/dist/utils/object.d.ts +7 -1
  46. package/dist/utils/object.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/chunk-LDGBS7ZI.js +0 -5
  49. package/dist/chunk-LDGBS7ZI.js.map +0 -1
  50. package/dist/chunk-LY3IB5VH.js +0 -19
  51. package/dist/chunk-LY3IB5VH.js.map +0 -1
  52. package/dist/chunk-N22KLIFJ.js +0 -19
  53. package/dist/chunk-N22KLIFJ.js.map +0 -1
  54. package/dist/chunk-QKKARUG5.js +0 -20
  55. package/dist/chunk-QKKARUG5.js.map +0 -1
  56. package/dist/chunk-QVU6HSYP.js.map +0 -1
  57. package/dist/chunk-U7SYDDK7.js +0 -25
  58. package/dist/chunk-U7SYDDK7.js.map +0 -1
  59. package/dist/{chunk-74KBZX6F.js.map → chunk-U4ZTAFZV.js.map} +0 -0
  60. package/dist/{chunk-JZ55NEMI.js.map → chunk-WYJV57WG.js.map} +0 -0
  61. package/dist/{index-c8f1e6e7.d.ts → index-5a5e5dc8.d.ts} +12 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DataCards/index.tsx","../../../src/components/DataCards/DataCard/index.tsx","../../../src/components/DataCards/DataCard/styles.ts","../../../src/components/DataCards/DataCardSkeleton/index.tsx","../../../src/components/DataCards/getFieldData.ts","../../../src/components/DataCards/SelectableContainer/index.tsx","../../../src/components/DataCards/SelectableContainer/styles.ts"],"names":["Pagination","Stack","useMemo","CardContent","Checkbox","Typography","Card","CardActionArea","styled","Container","theme","CardActionAreaStyled","jsx","jsxs","renderField","field","id","render","menuClick","DataCard","fields","row","title","onClick","checkboxSelection","selectedRows","onSelectionRow","idText","isNumeric","selected","status","statusRender","action","actionRender","moreFields","handleClick","e","handleSelect","checked","v","moreFieldsRender","content","_","DashedDivider_default","DataCard_default","Skeleton","DataCardSkeleton","DataCardSkeleton_default","getFieldData","columns","fieldMap","column","actions","Header","SelectableContainer","children","rows","totalItems","handleSelection","totalSelected","SelectableContainer_default","Fragment","DataCards","getRowId","loading","fetching","pagination","progressBar","FixedProgressBar_default","EmptyContent_default","rowId","page","DataCards_default"],"mappings":"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","sourcesContent":["import Pagination from '@mui/material/Pagination';\nimport Stack from '@mui/material/Stack';\n\nimport EmptyContent from 'components/EmptyContent';\nimport FixedProgressBar from 'components/FixedProgressBar';\n\nimport DataCard from './DataCard';\nimport DataCardSkeleton from './DataCardSkeleton';\nimport { getFieldData } from './getFieldData';\nimport { DataCardsProps } from './props';\nimport SelectableContainer from './SelectableContainer';\n\nconst DataCards = ({\n title,\n rows,\n columns,\n getRowId,\n onClick,\n loading,\n fetching,\n pagination,\n checkboxSelection,\n onSelectionRow,\n selectedRows,\n}: DataCardsProps) => {\n const progressBar = fetching && <FixedProgressBar sx={{ zIndex: 1 }} />;\n\n if (loading) {\n return (\n <>\n {progressBar}\n <DataCardSkeleton />\n <DataCardSkeleton />\n <DataCardSkeleton />\n </>\n );\n }\n\n return (\n <Stack\n gap={2}\n component={checkboxSelection ? SelectableContainer : 'div'}\n {...(checkboxSelection && {\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems: pagination?.total || rows.length,\n })}\n >\n {progressBar}\n {rows.length === 0 && (\n <EmptyContent sx={{ mb: 3 }} title=\"Nenhum registro encontrado\" />\n )}\n {rows.map(row => {\n const rowId = getRowId(row);\n\n return (\n <DataCard\n title={title}\n key={`data-card-${rowId}`}\n id={rowId}\n row={row}\n fields={getFieldData(columns, row)}\n onClick={onClick}\n checkboxSelection={checkboxSelection}\n selectedRows={selectedRows}\n onSelectionRow={onSelectionRow}\n />\n );\n })}\n\n {pagination && rows.length > 0 && (\n <Stack direction=\"row\" justifyContent=\"center\">\n <Pagination\n page={pagination?.page}\n onChange={(_, page: number) => {\n pagination?.onPageChange(page);\n }}\n count={pagination?.total}\n />\n </Stack>\n )}\n </Stack>\n );\n};\n\nexport default DataCards;\n\nexport { DataCard, DataCardSkeleton, getFieldData };\n","import { useMemo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridRowParams } from '@mui/x-data-grid-premium';\n\nimport DashedDivider from 'components/DashedDivider';\nimport { isNumeric } from 'utils/number';\n\nimport { DataCardProps, MappedRow } from '../props';\n\nimport { CardActionAreaStyled, Container } from './styles';\n\nconst renderField = (field: MappedRow, id: string) => {\n if (field.renderCell) {\n const render = field.renderCell({\n value: field.value,\n field: id,\n row: { [id]: field.value },\n });\n if (render) return render;\n }\n\n if (field.valueFormatter && field.valueGetter) {\n return field.valueFormatter(field.valueGetter(field.value));\n }\n\n return field.value;\n};\n\n/* istanbul ignore next */\nconst menuClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n e.stopPropagation();\n};\n\nconst DataCard = ({\n fields,\n id,\n row,\n title,\n onClick,\n checkboxSelection,\n selectedRows = [],\n onSelectionRow,\n}: DataCardProps) => {\n /* istanbul ignore next */\n const idText = useMemo(() => `${isNumeric(id) ? '#' : ''}${id}`, [id]);\n\n const selected = useMemo(\n () => selectedRows?.includes(id),\n [id, selectedRows],\n );\n\n const status = fields.find(\n field =>\n field.label.toLowerCase() === 'status' ||\n field.type === 'status' ||\n field.field === 'status',\n );\n const statusRender = useMemo(\n () =>\n status?.renderCell?.({\n value: status.value,\n field: id,\n row: { [id]: status.value },\n }) || status?.value,\n [status, id],\n );\n\n const action = fields.find(\n field => field.type === 'actions' || field.id === 'actions',\n );\n const actionRender = useMemo(\n () => action?.getActions({ id, row }) || null,\n [action, id, row],\n );\n\n const moreFields = useMemo(\n () =>\n fields.filter(\n field =>\n field.label.toLowerCase() !== 'status' &&\n field.value?.toString() !== id &&\n field.type !== 'actions',\n ),\n [fields, id],\n );\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onClick?.({ id } as GridRowParams<object>, e, fields);\n };\n\n const handleSelect = (checked: boolean) => {\n onSelectionRow?.(\n checked ? [...selectedRows, id] : selectedRows.filter(v => v !== id),\n );\n };\n\n const moreFieldsRender = useMemo(\n () =>\n moreFields.map(\n field =>\n field.value != id && (\n <Stack\n flexBasis=\"50%\"\n key={`data-card-field-${id}-${field.label}`}\n pb={2}\n order={field.order}\n >\n <Typography variant=\"body2\" color=\"text.secondary\">\n {field.label}\n </Typography>\n <Typography variant=\"body1\">{renderField(field, id)}</Typography>\n </Stack>\n ),\n ),\n [moreFields, id],\n );\n\n const content = (\n <CardContent sx={{ padding: '0!important' }}>\n <Stack flexDirection=\"row\" justifyContent=\"space-between\" p={2} gap={1}>\n <Stack flexDirection=\"row\" alignItems=\"center\" gap={1}>\n {checkboxSelection && (\n <Checkbox\n checked={selected || false}\n onChange={(_, checked) => handleSelect(checked)}\n />\n )}\n\n <Typography variant=\"body1\" fontWeight={600} color=\"text.secondary\">\n {title}\n </Typography>\n\n <Typography variant=\"body1\" fontWeight={600}>\n {idText}\n </Typography>\n </Stack>\n <Stack\n className=\"actions\"\n flexDirection=\"row\"\n alignItems=\"center\"\n gap={1}\n >\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n textTransform=\"uppercase\"\n fontSize={14}\n fontWeight={600}\n >\n {statusRender}\n </Typography>\n <Stack onClick={menuClick} onMouseDown={menuClick}>\n {actionRender}\n </Stack>\n </Stack>\n </Stack>\n <DashedDivider />\n <Stack\n flexWrap=\"wrap\"\n direction=\"row\"\n justifyContent=\"space-between\"\n p={2}\n pb={0}\n >\n {moreFieldsRender}\n </Stack>\n </CardContent>\n );\n\n if (!onClick) return <Container>{content}</Container>;\n\n return (\n <Container onClick={handleClick}>\n <CardActionAreaStyled component=\"div\">{content}</CardActionAreaStyled>\n </Container>\n );\n};\n\nexport default DataCard;\n","import Card from '@mui/material/Card';\nimport CardActionArea from '@mui/material/CardActionArea';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Card)(({ theme }) => ({\n boxShadow: 'none',\n border: `1px solid ${theme.palette.divider}`,\n}));\n\nexport const CardActionAreaStyled = styled(CardActionArea)<{\n component?: React.ElementType;\n}>({\n '&.MuiCardActionArea-focusHighlight': {\n background: 'transparent',\n },\n});\n","import Card from '@mui/material/Card';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\n\nconst DataCardSkeleton = () => {\n return (\n <Card>\n <Stack justifyContent=\"space-between\" direction=\"row\" spacing={2} p={2}>\n <Skeleton height={24} width={200} />\n <Skeleton height={24} width={100} />\n </Stack>\n <Stack\n justifyContent=\"space-between\"\n flexWrap=\"wrap\"\n direction=\"row\"\n p={2}\n >\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={100} />\n <Skeleton sx={{ maxWidth: '95%' }} height={24} width={230} />\n </Stack>\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={80} />\n <Skeleton sx={{ maxWidth: '100%' }} height={27} width={250} />\n </Stack>\n </Stack>\n </Card>\n );\n};\n\nexport default DataCardSkeleton;\n","import { Columns, Row } from 'types/datagrid';\n\nimport { MappedRow } from './props';\n\nexport const getFieldData = (columns: Columns, row: Row) => {\n const fieldMap: MappedRow[] = [];\n\n columns.forEach(column => {\n if (column.field && column.field !== 'actions') {\n fieldMap.push({\n ...column,\n label: column.headerName || column.field,\n value: row[column.field],\n type: column.type,\n order: (column as unknown as { order: number })?.order || 0,\n id: column.field,\n });\n }\n });\n\n const actions = columns.find(column => column.field === 'actions');\n\n if (actions) {\n fieldMap.push({\n ...actions,\n label: 'Actions',\n value: null,\n order: 0,\n type: 'actions',\n id: 'actions',\n });\n }\n\n return fieldMap;\n};\n","import { PropsWithChildren } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { SelectableContainerProps } from './props';\nimport { Container, Header } from './styles';\n\nconst SelectableContainer = ({\n children,\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems,\n}: PropsWithChildren<SelectableContainerProps>) => {\n const handleSelection = (checked: boolean) => {\n if (checked) {\n onSelectionRow?.(rows.map(row => row['@id']));\n } else {\n onSelectionRow?.([]);\n }\n };\n const totalSelected = selectedRows?.length || 0;\n\n return (\n <Container>\n <Header>\n <Checkbox\n onChange={(_, checked) => handleSelection(checked)}\n checked={totalSelected === totalItems}\n indeterminate={totalSelected > 0 && totalSelected < totalItems}\n />\n <Typography variant=\"subtitle2\" component=\"span\" color=\"grey.600\">\n {title}\n </Typography>\n </Header>\n\n <Stack gap={1.5} p={1.5}>\n {children}\n </Stack>\n </Container>\n );\n};\n\nexport default SelectableContainer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Stack)(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: 16,\n}));\n\nexport const Header = styled(Stack)(() => ({\n padding: '12px 28px',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#F4F4F4',\n gap: 14,\n borderRadius: '16px 16px 0 0',\n}));\n"]}
1
+ {"version":3,"sources":["../../../src/components/DataCards/index.tsx","../../../src/components/DataCards/DataCard/index.tsx","../../../src/components/DataCards/DataCard/styles.ts","../../../src/components/DataCards/DataCardSkeleton/index.tsx","../../../src/components/DataCards/getFieldData.ts","../../../src/components/DataCards/SelectableContainer/index.tsx","../../../src/components/DataCards/SelectableContainer/styles.ts"],"names":["useMemo","Pagination","Stack","memo","CardContent","Checkbox","Typography","Card","CardActionArea","styled","Container","theme","CardActionAreaStyled","jsx","jsxs","renderField","field","id","render","menuClick","e","DataCard","fields","row","title","onClick","checkboxSelection","selectedRows","onSelectionRow","cardData","status","action","moreFields","isNumeric","handleClick","handleSelect","checked","v","content","_","DashedDivider_default","DataCard_default","Skeleton","DataCardSkeleton","DataCardSkeleton_default","getFieldData","columns","fieldMap","column","actions","Header","SelectableContainer","children","rows","totalItems","handleSelection","totalSelected","SelectableContainer_default","Fragment","DataCards","getRowId","loading","fetching","pagination","progressBar","FixedProgressBar_default","fieldsMap","EmptyContent_default","rowId","page","DataCards_default"],"mappings":"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","sourcesContent":["import { useMemo } from 'react';\nimport Pagination from '@mui/material/Pagination';\nimport Stack from '@mui/material/Stack';\n\nimport EmptyContent from 'components/EmptyContent';\nimport FixedProgressBar from 'components/FixedProgressBar';\n\nimport DataCard from './DataCard';\nimport DataCardSkeleton from './DataCardSkeleton';\nimport { getFieldData } from './getFieldData';\nimport { DataCardsProps } from './props';\nimport SelectableContainer from './SelectableContainer';\n\nconst DataCards = ({\n title,\n rows,\n columns,\n getRowId,\n onClick,\n loading,\n fetching,\n pagination,\n checkboxSelection,\n onSelectionRow,\n selectedRows,\n}: DataCardsProps) => {\n const progressBar = fetching && <FixedProgressBar sx={{ zIndex: 1 }} />;\n\n const fieldsMap = useMemo(\n () =>\n rows.map(row => ({\n rowId: getRowId(row),\n row,\n fields: getFieldData(columns, row),\n })),\n [rows, columns, getRowId],\n );\n\n if (loading) {\n return (\n <>\n {progressBar}\n <DataCardSkeleton />\n <DataCardSkeleton />\n <DataCardSkeleton />\n </>\n );\n }\n\n return (\n <Stack\n gap={2}\n component={checkboxSelection ? SelectableContainer : 'div'}\n {...(checkboxSelection && {\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems: pagination?.total || rows.length,\n })}\n >\n {progressBar}\n {rows.length === 0 && (\n <EmptyContent sx={{ mb: 3 }} title=\"Nenhum registro encontrado\" />\n )}\n {fieldsMap.map(({ rowId, row, fields }) => (\n <DataCard\n title={title}\n key={`data-card-${rowId}`}\n id={rowId}\n row={row}\n fields={fields}\n onClick={onClick}\n checkboxSelection={checkboxSelection}\n selectedRows={selectedRows}\n onSelectionRow={onSelectionRow}\n />\n ))}\n\n {pagination && rows.length > 0 && (\n <Stack direction=\"row\" justifyContent=\"center\">\n <Pagination\n page={pagination?.page}\n onChange={(_, page: number) => {\n pagination?.onPageChange(page);\n }}\n count={pagination?.total}\n />\n </Stack>\n )}\n </Stack>\n );\n};\n\nexport default DataCards;\n\nexport { DataCard, DataCardSkeleton, getFieldData };\n","import { memo, useMemo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridRowParams } from '@mui/x-data-grid-premium';\n\nimport DashedDivider from 'components/DashedDivider';\nimport { isNumeric } from 'utils/number';\n\nimport { DataCardProps, MappedRow } from '../props';\n\nimport { CardActionAreaStyled, Container } from './styles';\n\nconst renderField = (field: MappedRow, id: string) => {\n if (field.renderCell) {\n const render = field.renderCell({\n value: field.value,\n field: id,\n row: { [id]: field.value },\n });\n if (render) return render;\n }\n\n if (field.valueFormatter && field.valueGetter) {\n return field.valueFormatter(field.valueGetter(field.value));\n }\n\n return field.value;\n};\n\n/* istanbul ignore next */\nconst menuClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n e.stopPropagation();\n};\n\nconst DataCard = ({\n fields,\n id,\n row,\n title,\n onClick,\n checkboxSelection,\n selectedRows = [],\n onSelectionRow,\n}: DataCardProps) => {\n const cardData = useMemo(() => {\n const status = fields.find(\n field =>\n field.label.toLowerCase() === 'status' ||\n field.type === 'status' ||\n field.field === 'status',\n );\n\n const action = fields.find(\n field => field.type === 'actions' || field.id === 'actions',\n );\n\n const moreFields = fields.filter(\n field =>\n field.label.toLowerCase() !== 'status' &&\n field.value?.toString() !== id &&\n field.type !== 'actions',\n );\n\n return {\n idText: `${isNumeric(id) ? '#' : ''}${id}`,\n selected: selectedRows?.includes(id),\n status,\n statusRender:\n status?.renderCell?.({\n value: status.value,\n field: id,\n row: { [id]: status.value },\n }) || status?.value,\n action,\n actionRender: action?.getActions({ id, row }) || null,\n moreFields,\n };\n }, [fields, id, row, selectedRows]);\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onClick?.({ id } as GridRowParams<object>, e, fields);\n };\n\n const handleSelect = (checked: boolean) => {\n onSelectionRow?.(\n checked ? [...selectedRows, id] : selectedRows.filter(v => v !== id),\n );\n };\n\n const content = (\n <CardContent sx={{ padding: '0!important' }}>\n <Stack flexDirection=\"row\" justifyContent=\"space-between\" p={2} gap={1}>\n <Stack flexDirection=\"row\" alignItems=\"center\" gap={1}>\n {checkboxSelection && (\n <Checkbox\n checked={cardData.selected || false}\n onChange={(_, checked) => handleSelect(checked)}\n />\n )}\n\n <Typography variant=\"body1\" fontWeight={600} color=\"text.secondary\">\n {title}\n </Typography>\n\n <Typography variant=\"body1\" fontWeight={600}>\n {cardData.idText}\n </Typography>\n </Stack>\n <Stack\n className=\"actions\"\n flexDirection=\"row\"\n alignItems=\"center\"\n gap={1}\n >\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n textTransform=\"uppercase\"\n fontSize={14}\n fontWeight={600}\n >\n {cardData.statusRender}\n </Typography>\n <Stack onClick={menuClick} onMouseDown={menuClick}>\n {cardData.actionRender}\n </Stack>\n </Stack>\n </Stack>\n <DashedDivider />\n <Stack\n flexWrap=\"wrap\"\n direction=\"row\"\n justifyContent=\"space-between\"\n p={2}\n pb={0}\n >\n {cardData.moreFields.map(\n field =>\n field.value != id && (\n <Stack\n flexBasis=\"50%\"\n key={`data-card-field-${id}-${field.label}`}\n pb={2}\n order={field.order}\n >\n <Typography variant=\"body2\" color=\"text.secondary\">\n {field.label}\n </Typography>\n <Typography variant=\"body1\">\n {renderField(field, id)}\n </Typography>\n </Stack>\n ),\n )}\n </Stack>\n </CardContent>\n );\n\n if (!onClick) return <Container>{content}</Container>;\n\n return (\n <Container onClick={handleClick}>\n <CardActionAreaStyled component=\"div\">{content}</CardActionAreaStyled>\n </Container>\n );\n};\n\nexport default memo(DataCard);\n","import Card from '@mui/material/Card';\nimport CardActionArea from '@mui/material/CardActionArea';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Card)(({ theme }) => ({\n boxShadow: 'none',\n border: `1px solid ${theme.palette.divider}`,\n}));\n\nexport const CardActionAreaStyled = styled(CardActionArea)<{\n component?: React.ElementType;\n}>({\n '&.MuiCardActionArea-focusHighlight': {\n background: 'transparent',\n },\n});\n","import Card from '@mui/material/Card';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\n\nconst DataCardSkeleton = () => {\n return (\n <Card>\n <Stack justifyContent=\"space-between\" direction=\"row\" spacing={2} p={2}>\n <Skeleton height={24} width={200} />\n <Skeleton height={24} width={100} />\n </Stack>\n <Stack\n justifyContent=\"space-between\"\n flexWrap=\"wrap\"\n direction=\"row\"\n p={2}\n >\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={100} />\n <Skeleton sx={{ maxWidth: '95%' }} height={24} width={230} />\n </Stack>\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={80} />\n <Skeleton sx={{ maxWidth: '100%' }} height={27} width={250} />\n </Stack>\n </Stack>\n </Card>\n );\n};\n\nexport default DataCardSkeleton;\n","import { Columns, Row } from 'types/datagrid';\n\nimport { MappedRow } from './props';\n\nexport const getFieldData = (columns: Columns, row: Row) => {\n const fieldMap: MappedRow[] = [];\n\n columns.forEach(column => {\n if (column.field && column.field !== 'actions') {\n fieldMap.push({\n ...column,\n label: column.headerName || column.field,\n value: row[column.field],\n type: column.type,\n order: (column as unknown as { order: number })?.order || 0,\n id: column.field,\n });\n }\n });\n\n const actions = columns.find(column => column.field === 'actions');\n\n if (actions) {\n fieldMap.push({\n ...actions,\n label: 'Actions',\n value: null,\n order: 0,\n type: 'actions',\n id: 'actions',\n });\n }\n\n return fieldMap;\n};\n","import { PropsWithChildren } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { SelectableContainerProps } from './props';\nimport { Container, Header } from './styles';\n\nconst SelectableContainer = ({\n children,\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems,\n}: PropsWithChildren<SelectableContainerProps>) => {\n const handleSelection = (checked: boolean) => {\n if (checked) {\n onSelectionRow?.(rows.map(row => row['@id']));\n } else {\n onSelectionRow?.([]);\n }\n };\n const totalSelected = selectedRows?.length || 0;\n\n return (\n <Container>\n <Header>\n <Checkbox\n onChange={(_, checked) => handleSelection(checked)}\n checked={totalSelected === totalItems}\n indeterminate={totalSelected > 0 && totalSelected < totalItems}\n />\n <Typography variant=\"subtitle2\" component=\"span\" color=\"grey.600\">\n {title}\n </Typography>\n </Header>\n\n <Stack gap={1.5} p={1.5}>\n {children}\n </Stack>\n </Container>\n );\n};\n\nexport default SelectableContainer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Stack)(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: 16,\n}));\n\nexport const Header = styled(Stack)(() => ({\n padding: '12px 28px',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#F4F4F4',\n gap: 14,\n borderRadius: '16px 16px 0 0',\n}));\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, Dispatch, SetStateAction } from 'react';
3
+ import { ReactNode, Dispatch, SetStateAction, PropsWithChildren } from 'react';
4
4
  import * as _mui_material_Stack from '@mui/material/Stack';
5
5
  import { StackProps } from '@mui/material/Stack';
6
6
  import * as _mui_material_styles from '@mui/material/styles';
@@ -32,6 +32,19 @@ interface DataViewProps extends DataGridProps {
32
32
  interface ToolbarProps {
33
33
  setFilterButtonEl: Dispatch<SetStateAction<HTMLButtonElement | null>>;
34
34
  }
35
+ interface DesktopFooterProps {
36
+ rowCount: number;
37
+ page: number;
38
+ rowsPerPage: number;
39
+ onPaginationChange: (page: number, rowsPerPage: number) => void;
40
+ }
41
+ interface EnhancedMoreActionsProps extends PropsWithChildren {
42
+ onClose: () => void;
43
+ }
44
+
45
+ declare const _default$1: react.MemoExoticComponent<({ rowCount, page, rowsPerPage, onPaginationChange, }: DesktopFooterProps) => react_jsx_runtime.JSX.Element>;
46
+
47
+ declare const _default: react.MemoExoticComponent<({ children, onClose, }: EnhancedMoreActionsProps) => ReactNode>;
35
48
 
36
49
  interface DefaultProps {
37
50
  breakpoint: Breakpoint | number;
@@ -61,12 +74,9 @@ declare const SearchContainer: _emotion_styled.StyledComponent<_mui_material_Sta
61
74
  declare const MobilePaginationContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
62
75
  ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
63
76
  }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
64
- declare const DesktopPaginationContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
65
- ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
66
- }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
67
77
 
68
78
  declare const Toolbar: ({ setFilterButtonEl }: ToolbarProps) => react_jsx_runtime.JSX.Element;
69
79
 
70
80
  declare const DataView: ({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, showColumnButton, ...others }: DataViewProps) => react_jsx_runtime.JSX.Element;
71
81
 
72
- export { ActionsContainer, ActionsDivider, Container, DesktopPaginationContainer, Header, MobilePaginationContainer, SearchContainer, Toolbar, ToolbarActionsDivider, Topbar, DataView as default };
82
+ export { ActionsContainer, ActionsDivider, Container, _default$1 as DesktopFooter, _default as EnhancedMoreActions, Header, MobilePaginationContainer, SearchContainer, Toolbar, ToolbarActionsDivider, Topbar, DataView as default };
@@ -1,11 +1,11 @@
1
- export { a as Toolbar, b as default } from '../../chunk-U7SYDDK7.js';
1
+ export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-UJGDCLUU.js';
2
2
  import '../../chunk-RPPQBAVO.js';
3
3
  import '../../chunk-IJZCVZ32.js';
4
4
  import '../../chunk-IDFJFFIV.js';
5
5
  import '../../chunk-6U5LS7MP.js';
6
6
  import '../../chunk-BNBE2OMA.js';
7
7
  import '../../chunk-NIQW2J3M.js';
8
- export { c as ActionsContainer, d as ActionsDivider, a as Container, i as DesktopPaginationContainer, b as Header, h as MobilePaginationContainer, g as SearchContainer, e as ToolbarActionsDivider, f as Topbar } from '../../chunk-QVU6HSYP.js';
8
+ export { c as ActionsContainer, d as ActionsDivider, a as Container, b as Header, h as MobilePaginationContainer, g as SearchContainer, e as ToolbarActionsDivider, f as Topbar } from '../../chunk-TB4Y7LXN.js';
9
9
  import '../../chunk-UVPQR2Q2.js';
10
10
  import '../../chunk-RBTYTONM.js';
11
11
  import '../../chunk-IN7SP2ND.js';
@@ -1,7 +1,7 @@
1
1
  import { d, c as c$1 } from '../../chunk-N7IK5EUP.js';
2
2
  import { a } from '../../chunk-FK4XGRYF.js';
3
3
  import { h, a as a$3 } from '../../chunk-OF6623HG.js';
4
- import { b } from '../../chunk-U7SYDDK7.js';
4
+ import { d as d$1 } from '../../chunk-UJGDCLUU.js';
5
5
  import '../../chunk-RPPQBAVO.js';
6
6
  import '../../chunk-IJZCVZ32.js';
7
7
  import { a as a$2 } from '../../chunk-ZGSSTXUO.js';
@@ -10,7 +10,7 @@ import '../../chunk-IDFJFFIV.js';
10
10
  import '../../chunk-6U5LS7MP.js';
11
11
  import '../../chunk-BNBE2OMA.js';
12
12
  import '../../chunk-NIQW2J3M.js';
13
- import '../../chunk-QVU6HSYP.js';
13
+ import '../../chunk-TB4Y7LXN.js';
14
14
  import '../../chunk-UVPQR2Q2.js';
15
15
  import '../../chunk-RBTYTONM.js';
16
16
  import '../../chunk-IN7SP2ND.js';
@@ -30,11 +30,11 @@ import '../../chunk-CFNATBO2.js';
30
30
  import { memo, useMemo, useCallback } from 'react';
31
31
  import { jsx, jsxs } from 'react/jsx-runtime';
32
32
  import Be from '@mui/material/Chip';
33
- import te from '@mui/material/Stack';
34
- import oe from '@mui/material/Typography';
33
+ import oe from '@mui/material/Stack';
34
+ import ne from '@mui/material/Typography';
35
35
 
36
- var c={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},S={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},Z=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Ae=(e,r)=>({field:e.name,headerName:e.description,sortable:!1,width:c.IMAGE_WIDTH,resizable:!1,renderCell:t=>r(e,t.row)}),Se=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ID_MIN_WIDTH,flex:c.ID_FLEX,renderCell:t=>r(e,t.row)}),xe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ENTITY_MIN_WIDTH,flex:c.ENTITY_FLEX,renderCell:t=>r(e,t.row)}),Fe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.MIN_WIDTH,renderCell:t=>r(e,t.row)}),Me=(e,r)=>({field:e.name,headerName:"A\xE7\xF5es",width:c.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:t=>r(e,t.row)}),$=(e,r)=>e.name===r?.id_field_name||e.name==="name"?Se:e.name==="ACTIONS"?Me:e.type==="FILE"?Ae:e.type==="ENTITY"?xe:Fe;var ee=({metadata:e,renderCell:r,columnStrategies:t})=>useMemo(()=>{if(!e?.fields)return [];let a=new Map;return e.fields.filter(o=>o.access_type===S.READ_ONLY||o.access_type===S.READ_AND_WRITE?!0:o.name==="ACTIONS"||o.name===e?.id_field_name||o.name==="NAME").forEach(o=>{if(a.has(o.name))return;let b=(t?.[o.name]??$(o,e))(o,r,e);a.set(o.name,b);}),Array.from(a.values())},[t,e,r]);var re=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),x=e=>e.fields.some(t=>t.name==="ACTIONS")?e:{...e,fields:[...e.fields,re()]};var Le=({value:e,trueLabel:r="Ativo",falseLabel:t="Inativo"})=>jsx(a,{color:e?"success":"warning",children:e?r:t}),F=memo(Le);var ve=({value:e,format:r})=>e==null?"-":d(e,r),M=memo(ve);var Ve=({value:e,format:r})=>e==null?"-":c$1(e,r),P=memo(Ve);var He=({value:e,field:r})=>{if(!r.metadata||typeof e!="object"||e===null)return e?String(e):"-";let t=e[r.metadata.description_field_name];return t?jsx(Be,{label:String(t),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},G=memo(He);var ze=({value:e,trueIcon:r="STAR_02",falseIcon:t="STAR",color:a="primary.main",width:i=18})=>jsx(a$1,{icon:e?r:t,color:a,width:i}),Xe=memo(ze);var Ke=({id:e,displayName:r,copyMessage:t="ID copiado!"})=>jsxs(te,{height:1,justifyContent:"center",children:[jsx(oe,{variant:"subtitle2",noWrap:!0,title:r,children:r}),jsxs(te,{direction:"row",gap:1,alignItems:"center",children:[jsxs(oe,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:t})]})]}),Qe=memo(Ke);var rr=({value:e,isCurrency:r=!1})=>e==null?"-":jsx(te,{direction:"row",alignItems:"center",height:"100%",children:jsx(oe,{variant:"body2",noWrap:!0,width:"fit-content",children:r?h(Number(e)):a$3(Number(e))})}),W=memo(rr);var ar=e=>e.replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim(),ir=({value:e,showCopyButton:r=!1,copyMessage:t="Copiado"})=>{if(!e)return "-";let a=String(e),i=ar(a);return r?jsxs(te,{direction:"row",gap:1,alignItems:"center",children:[jsx(oe,{variant:"body2",noWrap:!0,children:i}),jsx(a$2,{toCopy:i,message:t})]}):i},k=memo(ir);function sr(e){return Z.includes(e)}var me=e=>{let{onRowAction:r}=e,t=(a,i)=>{let o=i[a.name];if(a.name==="ACTIONS")return r?.(i.id,i);switch(a.type){case"BOOLEAN":return jsx(F,{value:o});case"DATE":return jsx(M,{value:o});case"DATETIME":return jsx(P,{value:o});case"DECIMAL":case"INTEGER":return jsx(W,{value:o,isCurrency:sr(a.name)});case"FILE":case"ENTITY":return jsx(G,{value:o,field:a});case"TEXT":default:return jsx(k,{value:o})}};return t.displayName="CellRendererComponent",t};function v(e){return e.name}var dr=({title:e,metadata:r,data:t,isLoading:a,isFetching:i,page:o,perPage:O,searchValue:b$1,onSearchChange:le,onSearch:de,onPaginationChange:ce,onAdd:pe,onRowAction:N,onRowDoubleClick:I,actions:ue,moreActions:fe,hideHeader:Re,slots:Te,mobileRender:ye,containerHeight:V=600,showColumnButton:Ce=!1,defaultVisibleFieldNames:_,preferredFieldOrder:E,columnStrategies:De,onColumnVisibilityModelChange:w,columnVisibilityStorageKey:Y})=>{let{items:ge=[],total:Ne=0}=t||{},l=useMemo(()=>N?x(r):r,[r,N]),Ie=useMemo(()=>me({onRowAction:N}),[N]),T=ee({metadata:l,renderCell:Ie,columnStrategies:De}),y=useMemo(()=>new Map(T.map(n=>[n.field,n])),[T]),C=!!Y,[A,B]=a$4(Y||"__dynamic-data-view:columns__",void 0,{initializeWithValue:C}),_e=useMemo(()=>{if(!E||E.length===0||!l?.fields)return T;let n="ACTIONS",p=E.filter(s=>s!==n),d=new Set,m=[],D=s=>{let u=l.fields.find(we=>we.name===s);if(!u)return;let f=v(u),H=y.get(f);!H||d.has(f)||(m.push(H),d.add(f));};return p.forEach(s=>{D(s);}),l.fields.forEach(s=>{if(s.name===n||p.includes(s.name))return;let u=v(s),f=y.get(u);!f||d.has(u)||(m.push(f),d.add(u));}),D(n),m.length===0?T:m},[T,y,l,E]),Ee=useMemo(()=>{if(!l?.fields)return;let n={};if(l.fields.forEach(p=>{let d=v(p);if(!y.has(d))return;let m;if(C&&A){let D=A[d];typeof D=="boolean"&&(m=D);}m===void 0&&_&&_.length>0&&(m=_.includes(p.name)),typeof m=="boolean"&&(n[d]=m);}),Object.keys(n).length!==0)return {columns:{columnVisibilityModel:n}}},[y,_,l,C,A]),he=useCallback(n=>{C&&B(n),w&&w(n);},[C,w,B]),be=useCallback(n=>{if(!I)return;let p=n.id?.toString()||"";I(p,n.row);},[I]);return jsx(b,{title:e,columns:_e,rows:ge,mobileRender:ye||(()=>null),rowCount:Ne,loading:a,fetching:i,searchValue:b$1,onSearch:de,onSearchChange:le,paginationModel:{page:o,pageSize:O},onPaginationChange:ce,actions:ue,moreActions:fe,onAdd:pe,hideHeader:Re,onRowDoubleClick:I?be:void 0,disableRowSelectionOnClick:!0,slots:Te,initialState:Ee,showColumnButton:Ce,containerProps:{height:V,maxHeight:V},onColumnVisibilityModelChange:he})},cr=memo(dr);
36
+ var c={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},S={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},$=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Ae=(e,r)=>({field:e.name,headerName:e.description,sortable:!1,width:c.IMAGE_WIDTH,resizable:!1,renderCell:t=>r(e,t.row)}),Se=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ID_MIN_WIDTH,flex:c.ID_FLEX,renderCell:t=>r(e,t.row)}),xe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ENTITY_MIN_WIDTH,flex:c.ENTITY_FLEX,renderCell:t=>r(e,t.row)}),Fe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.MIN_WIDTH,renderCell:t=>r(e,t.row)}),Me=(e,r)=>({field:e.name,headerName:"A\xE7\xF5es",width:c.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:t=>r(e,t.row)}),ee=(e,r)=>e.name===r?.id_field_name||e.name==="name"?Se:e.name==="ACTIONS"?Me:e.type==="FILE"?Ae:e.type==="ENTITY"?xe:Fe;var re=({metadata:e,renderCell:r,columnStrategies:t})=>useMemo(()=>{if(!e?.fields)return [];let a=new Map;return e.fields.filter(o=>o.access_type===S.READ_ONLY||o.access_type===S.READ_AND_WRITE?!0:o.name==="ACTIONS"||o.name===e?.id_field_name||o.name==="NAME").forEach(o=>{if(a.has(o.name))return;let b=(t?.[o.name]??ee(o,e))(o,r,e);a.set(o.name,b);}),Array.from(a.values())},[t,e,r]);var te=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),x=e=>e.fields.some(t=>t.name==="ACTIONS")?e:{...e,fields:[...e.fields,te()]};var Le=({value:e,trueLabel:r="Ativo",falseLabel:t="Inativo"})=>jsx(a,{color:e?"success":"warning",children:e?r:t}),F=memo(Le);var ve=({value:e,format:r})=>e==null?"-":d(e,r),M=memo(ve);var Ve=({value:e,format:r})=>e==null?"-":c$1(e,r),P=memo(Ve);var He=({value:e,field:r})=>{if(!r.metadata||typeof e!="object"||e===null)return e?String(e):"-";let t=e[r.metadata.description_field_name];return t?jsx(Be,{label:String(t),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},G=memo(He);var ze=({value:e,trueIcon:r="STAR_02",falseIcon:t="STAR",color:a="primary.main",width:i=18})=>jsx(a$1,{icon:e?r:t,color:a,width:i}),Xe=memo(ze);var Ke=({id:e,displayName:r,copyMessage:t="ID copiado!"})=>jsxs(oe,{height:1,justifyContent:"center",children:[jsx(ne,{variant:"subtitle2",noWrap:!0,title:r,children:r}),jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsxs(ne,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:t})]})]}),Qe=memo(Ke);var rr=({value:e,isCurrency:r=!1})=>e==null?"-":jsx(oe,{direction:"row",alignItems:"center",height:"100%",children:jsx(ne,{variant:"body2",noWrap:!0,width:"fit-content",children:r?h(Number(e)):a$3(Number(e))})}),W=memo(rr);var ar=e=>e.replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim(),ir=({value:e,showCopyButton:r=!1,copyMessage:t="Copiado"})=>{if(!e)return "-";let a=String(e),i=ar(a);return r?jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsx(ne,{variant:"body2",noWrap:!0,children:i}),jsx(a$2,{toCopy:i,message:t})]}):i},k=memo(ir);function sr(e){return $.includes(e)}var se=e=>{let{onRowAction:r}=e,t=(a,i)=>{let o=i[a.name];if(a.name==="ACTIONS")return r?.(i.id,i);switch(a.type){case"BOOLEAN":return jsx(F,{value:o});case"DATE":return jsx(M,{value:o});case"DATETIME":return jsx(P,{value:o});case"DECIMAL":case"INTEGER":return jsx(W,{value:o,isCurrency:sr(a.name)});case"FILE":case"ENTITY":return jsx(G,{value:o,field:a});case"TEXT":default:return jsx(k,{value:o})}};return t.displayName="CellRendererComponent",t};function v(e){return e.name}var dr=({title:e,metadata:r,data:t,isLoading:a,isFetching:i,page:o,perPage:O,searchValue:b,onSearchChange:de,onSearch:ce,onPaginationChange:pe,onAdd:ue,onRowAction:N,onRowDoubleClick:I,actions:fe,moreActions:Re,hideHeader:ye,slots:Te,mobileRender:Ce,containerHeight:V=600,showColumnButton:De=!1,defaultVisibleFieldNames:_,preferredFieldOrder:E,columnStrategies:ge,onColumnVisibilityModelChange:w,columnVisibilityStorageKey:Y})=>{let{items:Ne=[],total:Ie=0}=t||{},s=useMemo(()=>N?x(r):r,[r,N]),_e=useMemo(()=>se({onRowAction:N}),[N]),T=re({metadata:s,renderCell:_e,columnStrategies:ge}),C=useMemo(()=>new Map(T.map(n=>[n.field,n])),[T]),B=useMemo(()=>new Map(s?.fields?.map(n=>[n.name,n])||[]),[s]),D=!!Y,[A,H]=a$4(Y||"__dynamic-data-view:columns__",void 0,{initializeWithValue:D}),Ee=useMemo(()=>{if(!E||E.length===0||!s?.fields)return T;let n="ACTIONS",p=E.filter(l=>l!==n),d=new Set,m=[],g=l=>{let u=B.get(l);if(!u)return;let f=v(u),U=C.get(f);!U||d.has(f)||(m.push(U),d.add(f));};return p.forEach(l=>{g(l);}),s.fields.forEach(l=>{if(l.name===n||p.includes(l.name))return;let u=v(l),f=C.get(u);!f||d.has(u)||(m.push(f),d.add(u));}),g(n),m.length===0?T:m},[T,C,B,E,s]),he=useMemo(()=>{if(!s?.fields)return;let n={};if(s.fields.forEach(p=>{let d=v(p);if(!C.has(d))return;let m;if(D&&A){let g=A[d];typeof g=="boolean"&&(m=g);}m===void 0&&_&&_.length>0&&(m=_.includes(p.name)),typeof m=="boolean"&&(n[d]=m);}),Object.keys(n).length!==0)return {columns:{columnVisibilityModel:n}}},[C,_,s,D,A]),be=useCallback(n=>{D&&H(n),w&&w(n);},[D,w,H]),we=useCallback(n=>{if(!I)return;let p=n.id?.toString()||"";I(p,n.row);},[I]);return jsx(d$1,{title:e,columns:Ee,rows:Ne,mobileRender:Ce||(()=>null),rowCount:Ie,loading:a,fetching:i,searchValue:b,onSearch:ce,onSearchChange:de,paginationModel:{page:o,pageSize:O},onPaginationChange:pe,actions:fe,moreActions:Re,onAdd:ue,hideHeader:ye,onRowDoubleClick:I?we:void 0,disableRowSelectionOnClick:!0,slots:Te,initialState:he,showColumnButton:De,containerProps:{height:V,maxHeight:V},onColumnVisibilityModelChange:be})},cr=memo(dr);
37
37
 
38
- export { F as BooleanRenderer, M as DateRenderer, P as DateTimeRenderer, G as EntityRenderer, Xe as IconRenderer, Qe as NameRenderer, W as NumberRenderer, k as TextRenderer, x as addActionsFieldToMetadata, re as createActionsField, cr as default };
38
+ export { F as BooleanRenderer, M as DateRenderer, P as DateTimeRenderer, G as EntityRenderer, Xe as IconRenderer, Qe as NameRenderer, W as NumberRenderer, k as TextRenderer, x as addActionsFieldToMetadata, te as createActionsField, cr as default };
39
39
  //# sourceMappingURL=out.js.map
40
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DynamicDataView/DynamicDataView.tsx","../../../src/components/DynamicDataView/hooks/useDynamicColumns.ts","../../../src/components/DynamicDataView/constants/columnDefaults.ts","../../../src/components/DynamicDataView/utils/columnStrategies.ts","../../../src/components/DynamicDataView/utils/addActionsField.ts","../../../src/components/DynamicDataView/renderers/BooleanRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateTimeRenderer.tsx","../../../src/components/DynamicDataView/renderers/EntityRenderer.tsx","../../../src/components/DynamicDataView/renderers/IconRenderer.tsx","../../../src/components/DynamicDataView/renderers/NameRenderer.tsx","../../../src/components/DynamicDataView/renderers/NumberRenderer.tsx","../../../src/components/DynamicDataView/renderers/TextRenderer.tsx","../../../src/components/DynamicDataView/utils/createCellRenderer.tsx"],"names":["memo","useCallback","useMemo","COLUMN_DEFAULTS","ACCESS_TYPES","CURRENCY_FIELD_NAMES","createImageColumn","field","renderCell","params","createIdColumn","createEntityColumn","createDefaultColumn","createActionsColumn","getColumnStrategy","metadata","useDynamicColumns","columnStrategies","columnsMap","column","createActionsField","addActionsFieldToMetadata","jsx","BooleanRenderer","value","trueLabel","falseLabel","Label_default","BooleanRenderer_default","DateRenderer","format","fDate","DateRenderer_default","DateTimeRenderer","fDateTime","DateTimeRenderer_default","Chip","EntityRenderer","entityValue","EntityRenderer_default","IconRenderer","trueIcon","falseIcon","color","width","Icon_default","IconRenderer_default","Stack","Typography","jsxs","NameRenderer","id","displayName","copyMessage","CopyButton_default","NameRenderer_default","NumberRenderer","isCurrency","fCurrencyBRL","fNumber","NumberRenderer_default","sanitizeHtml","text","TextRenderer","showCopyButton","stringValue","sanitizedValue","TextRenderer_default","getIsCurrency","fieldName","createCellRenderer","context","onRowAction","CellRendererComponent","row","getColumnFieldIdFromField","DynamicDataView","title","data","isLoading","isFetching","page","perPage","searchValue","onSearchChange","onSearch","onPaginationChange","onAdd","onRowDoubleClick","actions","moreActions","hideHeader","slots","mobileRender","containerHeight","showColumnButton","defaultVisibleFieldNames","preferredFieldOrder","onColumnVisibilityModelChange","columnVisibilityStorageKey","rows","total","effectiveMetadata","columns","columnsByFieldId","hasStorageKey","storedVisibilityModel","setStoredVisibilityModel","useLocalStorage_default","orderedColumns","actionFieldName","preferredWithoutActions","usedColumnFieldIds","ordered","pushColumnForField","fieldItem","columnFieldId","initialState","visibilityModel","visible","stored","handleColumnVisibilityModelChange","model","handleRowDoubleClick","rowId","DataView_default","DynamicDataView_default"],"mappings":"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","sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { GridColumnVisibilityModel } from '@mui/x-data-grid-premium';\n\nimport useLocalStorage from 'hooks/useLocalStorage';\nimport { Field } from 'types/entityMetadata';\n\nimport DataView from '../DataView';\n\nimport { useDynamicColumns } from './hooks/useDynamicColumns';\nimport { addActionsFieldToMetadata } from './utils/addActionsField';\nimport { createCellRenderer } from './utils/createCellRenderer';\nimport { DynamicDataViewProps, DynamicRowData } from './props';\n\nfunction getColumnFieldIdFromField(field: Field): string {\n return field.name;\n}\n\nconst DynamicDataView = <T extends object = object>({\n title,\n metadata,\n data,\n isLoading,\n isFetching,\n page,\n perPage,\n searchValue,\n onSearchChange,\n onSearch,\n onPaginationChange,\n onAdd,\n onRowAction,\n onRowDoubleClick,\n actions,\n moreActions,\n hideHeader,\n slots,\n mobileRender,\n containerHeight = 600,\n showColumnButton = false,\n defaultVisibleFieldNames,\n preferredFieldOrder,\n columnStrategies,\n onColumnVisibilityModelChange,\n columnVisibilityStorageKey,\n}: DynamicDataViewProps<T>) => {\n const { items: rows = [], total = 0 } = data || {};\n\n const effectiveMetadata = useMemo(\n () => (onRowAction ? addActionsFieldToMetadata(metadata) : metadata),\n [metadata, onRowAction],\n );\n\n const renderCell = useMemo(\n () =>\n createCellRenderer<T>({\n onRowAction,\n }),\n [onRowAction],\n );\n\n const columns = useDynamicColumns<T>({\n metadata: effectiveMetadata,\n renderCell,\n columnStrategies,\n });\n\n const columnsByFieldId = useMemo(\n () => new Map(columns.map(column => [column.field, column])),\n [columns],\n );\n\n const hasStorageKey = Boolean(columnVisibilityStorageKey);\n\n const [storedVisibilityModel, setStoredVisibilityModel] = useLocalStorage<\n GridColumnVisibilityModel | undefined\n >(columnVisibilityStorageKey || '__dynamic-data-view:columns__', undefined, {\n initializeWithValue: hasStorageKey,\n });\n\n const orderedColumns = useMemo(() => {\n if (\n !preferredFieldOrder ||\n preferredFieldOrder.length === 0 ||\n !effectiveMetadata?.fields\n ) {\n return columns;\n }\n\n const actionFieldName = 'ACTIONS';\n const preferredWithoutActions = preferredFieldOrder.filter(\n fieldName => fieldName !== actionFieldName,\n );\n\n const usedColumnFieldIds = new Set<string>();\n const ordered: Array<(typeof columns)[number]> = [];\n\n const pushColumnForField = (fieldName: string) => {\n const field = effectiveMetadata.fields.find(\n fieldItem => fieldItem.name === fieldName,\n );\n\n if (!field) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n };\n\n preferredWithoutActions.forEach(fieldName => {\n pushColumnForField(fieldName);\n });\n\n effectiveMetadata.fields.forEach(field => {\n if (field.name === actionFieldName) {\n return;\n }\n\n if (preferredWithoutActions.includes(field.name)) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n });\n\n pushColumnForField(actionFieldName);\n\n if (ordered.length === 0) {\n return columns;\n }\n\n return ordered;\n }, [columns, columnsByFieldId, effectiveMetadata, preferredFieldOrder]);\n\n const initialState = useMemo(() => {\n if (!effectiveMetadata?.fields) {\n return undefined;\n }\n\n const visibilityModel: GridColumnVisibilityModel = {};\n\n effectiveMetadata.fields.forEach(field => {\n const columnFieldId = getColumnFieldIdFromField(field);\n\n if (!columnsByFieldId.has(columnFieldId)) {\n return;\n }\n\n let visible: boolean | undefined;\n\n if (hasStorageKey && storedVisibilityModel) {\n const stored = storedVisibilityModel[columnFieldId];\n if (typeof stored === 'boolean') {\n visible = stored;\n }\n }\n\n if (\n visible === undefined &&\n defaultVisibleFieldNames &&\n defaultVisibleFieldNames.length > 0\n ) {\n visible = defaultVisibleFieldNames.includes(field.name);\n }\n\n if (typeof visible === 'boolean') {\n visibilityModel[columnFieldId] = visible;\n }\n });\n\n if (Object.keys(visibilityModel).length === 0) {\n return undefined;\n }\n\n return {\n columns: {\n columnVisibilityModel: visibilityModel,\n },\n };\n }, [\n columnsByFieldId,\n defaultVisibleFieldNames,\n effectiveMetadata,\n hasStorageKey,\n storedVisibilityModel,\n ]);\n\n const handleColumnVisibilityModelChange = useCallback(\n (model: GridColumnVisibilityModel) => {\n if (hasStorageKey) {\n setStoredVisibilityModel(model);\n }\n\n if (onColumnVisibilityModelChange) {\n onColumnVisibilityModelChange(model);\n }\n },\n [hasStorageKey, onColumnVisibilityModelChange, setStoredVisibilityModel],\n );\n\n const handleRowDoubleClick = useCallback(\n (params: { id: string | number; row: DynamicRowData<T> }) => {\n if (!onRowDoubleClick) return;\n\n const rowId = params.id?.toString() || '';\n onRowDoubleClick(rowId, params.row);\n },\n [onRowDoubleClick],\n );\n\n return (\n <DataView\n title={title}\n columns={orderedColumns}\n rows={rows}\n mobileRender={mobileRender || (() => null)}\n rowCount={total}\n loading={isLoading}\n fetching={isFetching}\n searchValue={searchValue}\n onSearch={onSearch}\n onSearchChange={onSearchChange}\n paginationModel={{\n page,\n pageSize: perPage,\n }}\n onPaginationChange={onPaginationChange}\n actions={actions}\n moreActions={moreActions}\n onAdd={onAdd}\n hideHeader={hideHeader}\n onRowDoubleClick={onRowDoubleClick ? handleRowDoubleClick : undefined}\n disableRowSelectionOnClick\n slots={slots}\n initialState={initialState}\n showColumnButton={showColumnButton}\n containerProps={{\n height: containerHeight,\n maxHeight: containerHeight,\n }}\n onColumnVisibilityModelChange={handleColumnVisibilityModelChange}\n />\n );\n};\n\nexport default memo(DynamicDataView) as typeof DynamicDataView;\nexport type {\n DynamicDataViewProps,\n DynamicRowData,\n MobileRenderFunction,\n} from './props';\n","import { useMemo } from 'react';\nimport { GridColDef } from '@mui/x-data-grid-premium';\n\nimport { Columns } from 'types/datagrid';\nimport { EntityMetadataResponse } from 'types/entityMetadata';\n\nimport { ACCESS_TYPES } from '../constants/columnDefaults';\nimport { CellRenderer } from '../types/cellRenderer';\nimport { ColumnStrategy, getColumnStrategy } from '../utils/columnStrategies';\n\ninterface UseDynamicColumnsProps<T> {\n metadata?: EntityMetadataResponse;\n renderCell: CellRenderer<T>;\n columnStrategies?: {\n [fieldName: string]: ColumnStrategy<T>;\n };\n}\n\nexport const useDynamicColumns = <T extends object>({\n metadata,\n renderCell,\n columnStrategies,\n}: UseDynamicColumnsProps<T>): Columns => {\n return useMemo(() => {\n if (!metadata?.fields) return [];\n\n const columnsMap = new Map<string, GridColDef>();\n\n const visibleFields = metadata.fields.filter(field => {\n if (\n field.access_type === ACCESS_TYPES.READ_ONLY ||\n field.access_type === ACCESS_TYPES.READ_AND_WRITE\n ) {\n return true;\n }\n\n return (\n field.name === 'ACTIONS' ||\n field.name === metadata?.id_field_name ||\n field.name === 'NAME'\n );\n });\n\n visibleFields.forEach(field => {\n if (columnsMap.has(field.name)) {\n return;\n }\n\n const strategy =\n columnStrategies?.[field.name] ?? getColumnStrategy<T>(field, metadata);\n const column = strategy(field, renderCell, metadata);\n\n columnsMap.set(field.name, column);\n });\n\n return Array.from(columnsMap.values());\n }, [columnStrategies, metadata, renderCell]);\n};\n","export const COLUMN_DEFAULTS = {\n IMAGE_WIDTH: 90,\n MIN_WIDTH: 130,\n ENTITY_MIN_WIDTH: 100,\n ENTITY_FLEX: 0.5,\n ID_MIN_WIDTH: 200,\n ID_FLEX: 1,\n ACTIONS_WIDTH: 80,\n} as const;\n\nexport const ACCESS_TYPES = {\n READ_ONLY: 'READ_ONLY',\n READ_AND_WRITE: 'READ_AND_WRITE',\n} as const;\n\nexport const CURRENCY_FIELD_NAMES: readonly string[] = [\n 'price',\n 'base_price',\n 'minimum_value',\n 'maximum_value',\n 'minimum_installment_value',\n];\n","import { GridColDef, GridRenderCellParams } from '@mui/x-data-grid-premium';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { COLUMN_DEFAULTS } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../types/cellRenderer';\n\nexport type ColumnStrategy<T = object> = (\n field: Field,\n renderCell: CellRenderer<T>,\n metadata?: { id_field_name?: string },\n) => GridColDef;\n\nconst createImageColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n sortable: false,\n width: COLUMN_DEFAULTS.IMAGE_WIDTH,\n resizable: false,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createIdColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ID_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ID_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createEntityColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ENTITY_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ENTITY_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createDefaultColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.MIN_WIDTH,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createActionsColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: 'Ações',\n width: COLUMN_DEFAULTS.ACTIONS_WIDTH,\n sortable: false,\n resizable: false,\n disableReorder: true,\n headerAlign: 'center',\n disableColumnMenu: true,\n align: 'center',\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nexport const getColumnStrategy = <T extends object>(\n field: Field,\n metadata?: { id_field_name?: string },\n): ColumnStrategy<T> => {\n if (field.name === metadata?.id_field_name || field.name === 'name') {\n return createIdColumn;\n }\n\n if (field.name === 'ACTIONS') {\n return createActionsColumn;\n }\n\n if (field.type === 'FILE') {\n return createImageColumn;\n }\n\n if (field.type === 'ENTITY') {\n return createEntityColumn;\n }\n\n return createDefaultColumn;\n};\n","import { EntityMetadataResponse, Field } from 'types/entityMetadata';\n\nexport const createActionsField = (): Field => ({\n name: 'ACTIONS',\n description: '',\n filter_field_name: null,\n type: 'TEXT',\n metadata: null,\n access_type: 'READ_ONLY',\n relation_field_name: null,\n available_filter_conditions: [],\n});\n\nexport const addActionsFieldToMetadata = (\n metadata: EntityMetadataResponse,\n): EntityMetadataResponse => {\n const hasActionsField = metadata.fields.some(\n field => field.name === 'ACTIONS',\n );\n\n if (hasActionsField) {\n return metadata;\n }\n\n return {\n ...metadata,\n fields: [...metadata.fields, createActionsField()],\n };\n};\n","import { memo, ReactNode } from 'react';\n\nimport Label from '../../Label';\n\nimport { BooleanRendererProps } from './props';\n\nconst BooleanRenderer = ({\n value,\n trueLabel = 'Ativo',\n falseLabel = 'Inativo',\n}: BooleanRendererProps): ReactNode => {\n return (\n <Label color={value ? 'success' : 'warning'}>\n {value ? trueLabel : falseLabel}\n </Label>\n );\n};\n\nexport default memo(BooleanRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDate } from 'utils/formatTime';\n\nexport interface DateRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateRenderer = ({ value, format }: DateRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDate(value as DatePickerFormat, format);\n};\n\nexport default memo(DateRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDateTime } from 'utils/formatTime';\n\nexport interface DateTimeRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateTimeRenderer = ({\n value,\n format,\n}: DateTimeRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDateTime(value as DatePickerFormat, format);\n};\n\nexport default memo(DateTimeRenderer);\n","import { memo, ReactNode } from 'react';\nimport Chip from '@mui/material/Chip';\n\nimport { EntityRendererProps } from './props';\n\nconst EntityRenderer = ({ value, field }: EntityRendererProps): ReactNode => {\n if (!field.metadata || typeof value !== 'object' || value === null) {\n return value ? String(value) : '-';\n }\n\n const entityValue = (value as Record<string, unknown>)[\n field.metadata.description_field_name\n ];\n\n if (!entityValue) return null;\n\n return (\n <Chip\n label={String(entityValue)}\n variant=\"outlined\"\n size=\"small\"\n sx={{\n width: 'fit-content',\n color: 'text.secondary',\n borderColor: 'divider',\n borderRadius: 3,\n }}\n />\n );\n};\n\nexport default memo(EntityRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport Icon, { IconEnum } from '../../Icon';\n\nimport { IconRendererProps } from './props';\n\nconst IconRenderer = ({\n value,\n trueIcon = IconEnum.STAR_02,\n falseIcon = IconEnum.STAR,\n color = 'primary.main',\n width = 18,\n}: IconRendererProps): ReactNode => {\n return (\n <Icon icon={value ? trueIcon : falseIcon} color={color} width={width} />\n );\n};\n\nexport default memo(IconRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { NameRendererProps } from './props';\n\nconst NameRenderer = ({\n id,\n displayName,\n copyMessage = 'ID copiado!',\n}: NameRendererProps): ReactNode => {\n return (\n <Stack height={1} justifyContent=\"center\">\n <Typography variant=\"subtitle2\" noWrap title={displayName}>\n {displayName}\n </Typography>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography color=\"grey.600\" variant=\"body2\" noWrap>\n ID: {id}\n </Typography>\n <CopyButton toCopy={id} message={copyMessage} />\n </Stack>\n </Stack>\n );\n};\n\nexport default memo(NameRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { fCurrencyBRL, fNumber } from 'utils/formatNumber';\n\nimport { NumberRendererProps } from './props';\n\nconst NumberRenderer = ({\n value,\n isCurrency = false,\n}: NumberRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return (\n <Stack direction=\"row\" alignItems=\"center\" height=\"100%\">\n <Typography variant=\"body2\" noWrap width=\"fit-content\">\n {isCurrency ? fCurrencyBRL(Number(value)) : fNumber(Number(value))}\n </Typography>\n </Stack>\n );\n};\n\nexport default memo(NumberRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { TextRendererProps } from './props';\n\nconst sanitizeHtml = (text: string): string => {\n const withoutTags = text.replace(/<[^>]*>/g, '');\n return withoutTags\n .replace(/&nbsp;/g, ' ')\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#39;/g, \"'\")\n .trim();\n};\n\nconst TextRenderer = ({\n value,\n showCopyButton = false,\n copyMessage = 'Copiado',\n}: TextRendererProps): ReactNode => {\n if (!value) return '-';\n\n const stringValue = String(value);\n const sanitizedValue = sanitizeHtml(stringValue);\n\n if (showCopyButton) {\n return (\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography variant=\"body2\" noWrap>\n {sanitizedValue}\n </Typography>\n <CopyButton toCopy={sanitizedValue} message={copyMessage} />\n </Stack>\n );\n }\n\n return sanitizedValue;\n};\n\nexport default memo(TextRenderer);\n","import { ReactNode } from 'react';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { CURRENCY_FIELD_NAMES } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../props';\nimport {\n BooleanRenderer,\n DateRenderer,\n DateTimeRenderer,\n EntityRenderer,\n NumberRenderer,\n TextRenderer,\n} from '../renderers';\n\nfunction getIsCurrency(fieldName: string): boolean {\n return CURRENCY_FIELD_NAMES.includes(fieldName);\n}\n\nexport const createCellRenderer = <T extends object = object>(context: {\n onRowAction?: (rowId: string, row: DynamicRowData<T>) => ReactNode;\n}): CellRenderer<T> => {\n const { onRowAction } = context;\n\n const CellRendererComponent = (\n field: Field,\n row: DynamicRowData<T>,\n ): ReactNode => {\n const value = row[field.name];\n\n if (field.name === 'ACTIONS') {\n return onRowAction?.(row.id, row);\n }\n\n switch (field.type) {\n case 'BOOLEAN':\n return <BooleanRenderer value={value} />;\n\n case 'DATE':\n return <DateRenderer value={value} />;\n\n case 'DATETIME':\n return <DateTimeRenderer value={value} />;\n\n case 'DECIMAL':\n case 'INTEGER':\n return (\n <NumberRenderer\n value={value}\n isCurrency={getIsCurrency(field.name)}\n />\n );\n\n case 'FILE':\n case 'ENTITY':\n return <EntityRenderer value={value} field={field} />;\n case 'TEXT':\n default:\n return <TextRenderer value={value} />;\n }\n };\n\n CellRendererComponent.displayName = 'CellRendererComponent';\n return CellRendererComponent;\n};\n"]}
1
+ {"version":3,"sources":["../../../src/components/DynamicDataView/DynamicDataView.tsx","../../../src/components/DynamicDataView/hooks/useDynamicColumns.ts","../../../src/components/DynamicDataView/constants/columnDefaults.ts","../../../src/components/DynamicDataView/utils/columnStrategies.ts","../../../src/components/DynamicDataView/utils/addActionsField.ts","../../../src/components/DynamicDataView/renderers/BooleanRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateTimeRenderer.tsx","../../../src/components/DynamicDataView/renderers/EntityRenderer.tsx","../../../src/components/DynamicDataView/renderers/IconRenderer.tsx","../../../src/components/DynamicDataView/renderers/NameRenderer.tsx","../../../src/components/DynamicDataView/renderers/NumberRenderer.tsx","../../../src/components/DynamicDataView/renderers/TextRenderer.tsx","../../../src/components/DynamicDataView/utils/createCellRenderer.tsx"],"names":["memo","useCallback","useMemo","COLUMN_DEFAULTS","ACCESS_TYPES","CURRENCY_FIELD_NAMES","createImageColumn","field","renderCell","params","createIdColumn","createEntityColumn","createDefaultColumn","createActionsColumn","getColumnStrategy","metadata","useDynamicColumns","columnStrategies","columnsMap","column","createActionsField","addActionsFieldToMetadata","jsx","BooleanRenderer","value","trueLabel","falseLabel","Label_default","BooleanRenderer_default","DateRenderer","format","fDate","DateRenderer_default","DateTimeRenderer","fDateTime","DateTimeRenderer_default","Chip","EntityRenderer","entityValue","EntityRenderer_default","IconRenderer","trueIcon","falseIcon","color","width","Icon_default","IconRenderer_default","Stack","Typography","jsxs","NameRenderer","id","displayName","copyMessage","CopyButton_default","NameRenderer_default","NumberRenderer","isCurrency","fCurrencyBRL","fNumber","NumberRenderer_default","sanitizeHtml","text","TextRenderer","showCopyButton","stringValue","sanitizedValue","TextRenderer_default","getIsCurrency","fieldName","createCellRenderer","context","onRowAction","CellRendererComponent","row","getColumnFieldIdFromField","DynamicDataView","title","data","isLoading","isFetching","page","perPage","searchValue","onSearchChange","onSearch","onPaginationChange","onAdd","onRowDoubleClick","actions","moreActions","hideHeader","slots","mobileRender","containerHeight","showColumnButton","defaultVisibleFieldNames","preferredFieldOrder","onColumnVisibilityModelChange","columnVisibilityStorageKey","rows","total","effectiveMetadata","columns","columnsByFieldId","fieldsByName","f","hasStorageKey","storedVisibilityModel","setStoredVisibilityModel","useLocalStorage_default","orderedColumns","actionFieldName","preferredWithoutActions","usedColumnFieldIds","ordered","pushColumnForField","columnFieldId","initialState","visibilityModel","visible","stored","handleColumnVisibilityModelChange","model","handleRowDoubleClick","rowId","DataView_default","DynamicDataView_default"],"mappings":"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","sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { GridColumnVisibilityModel } from '@mui/x-data-grid-premium';\n\nimport useLocalStorage from 'hooks/useLocalStorage';\nimport { Field } from 'types/entityMetadata';\n\nimport DataView from '../DataView';\n\nimport { useDynamicColumns } from './hooks/useDynamicColumns';\nimport { addActionsFieldToMetadata } from './utils/addActionsField';\nimport { createCellRenderer } from './utils/createCellRenderer';\nimport { DynamicDataViewProps, DynamicRowData } from './props';\n\nfunction getColumnFieldIdFromField(field: Field): string {\n return field.name;\n}\n\nconst DynamicDataView = <T extends object = object>({\n title,\n metadata,\n data,\n isLoading,\n isFetching,\n page,\n perPage,\n searchValue,\n onSearchChange,\n onSearch,\n onPaginationChange,\n onAdd,\n onRowAction,\n onRowDoubleClick,\n actions,\n moreActions,\n hideHeader,\n slots,\n mobileRender,\n containerHeight = 600,\n showColumnButton = false,\n defaultVisibleFieldNames,\n preferredFieldOrder,\n columnStrategies,\n onColumnVisibilityModelChange,\n columnVisibilityStorageKey,\n}: DynamicDataViewProps<T>) => {\n const { items: rows = [], total = 0 } = data || {};\n\n const effectiveMetadata = useMemo(\n () => (onRowAction ? addActionsFieldToMetadata(metadata) : metadata),\n [metadata, onRowAction],\n );\n\n const renderCell = useMemo(\n () =>\n createCellRenderer<T>({\n onRowAction,\n }),\n [onRowAction],\n );\n\n const columns = useDynamicColumns<T>({\n metadata: effectiveMetadata,\n renderCell,\n columnStrategies,\n });\n\n const columnsByFieldId = useMemo(\n () => new Map(columns.map(column => [column.field, column])),\n [columns],\n );\n\n const fieldsByName = useMemo(\n () => new Map(effectiveMetadata?.fields?.map(f => [f.name, f]) || []),\n [effectiveMetadata],\n );\n\n const hasStorageKey = Boolean(columnVisibilityStorageKey);\n\n const [storedVisibilityModel, setStoredVisibilityModel] = useLocalStorage<\n GridColumnVisibilityModel | undefined\n >(columnVisibilityStorageKey || '__dynamic-data-view:columns__', undefined, {\n initializeWithValue: hasStorageKey,\n });\n\n const orderedColumns = useMemo(() => {\n if (\n !preferredFieldOrder ||\n preferredFieldOrder.length === 0 ||\n !effectiveMetadata?.fields\n ) {\n return columns;\n }\n\n const actionFieldName = 'ACTIONS';\n const preferredWithoutActions = preferredFieldOrder.filter(\n fieldName => fieldName !== actionFieldName,\n );\n\n const usedColumnFieldIds = new Set<string>();\n const ordered: Array<(typeof columns)[number]> = [];\n\n const pushColumnForField = (fieldName: string) => {\n const field = fieldsByName.get(fieldName);\n\n if (!field) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n };\n\n preferredWithoutActions.forEach(fieldName => {\n pushColumnForField(fieldName);\n });\n\n effectiveMetadata.fields.forEach(field => {\n if (field.name === actionFieldName) {\n return;\n }\n\n if (preferredWithoutActions.includes(field.name)) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n });\n\n pushColumnForField(actionFieldName);\n\n if (ordered.length === 0) {\n return columns;\n }\n\n return ordered;\n }, [\n columns,\n columnsByFieldId,\n fieldsByName,\n preferredFieldOrder,\n effectiveMetadata,\n ]);\n\n const initialState = useMemo(() => {\n if (!effectiveMetadata?.fields) {\n return undefined;\n }\n\n const visibilityModel: GridColumnVisibilityModel = {};\n\n effectiveMetadata.fields.forEach(field => {\n const columnFieldId = getColumnFieldIdFromField(field);\n\n if (!columnsByFieldId.has(columnFieldId)) {\n return;\n }\n\n let visible: boolean | undefined;\n\n if (hasStorageKey && storedVisibilityModel) {\n const stored = storedVisibilityModel[columnFieldId];\n if (typeof stored === 'boolean') {\n visible = stored;\n }\n }\n\n if (\n visible === undefined &&\n defaultVisibleFieldNames &&\n defaultVisibleFieldNames.length > 0\n ) {\n visible = defaultVisibleFieldNames.includes(field.name);\n }\n\n if (typeof visible === 'boolean') {\n visibilityModel[columnFieldId] = visible;\n }\n });\n\n if (Object.keys(visibilityModel).length === 0) {\n return undefined;\n }\n\n return {\n columns: {\n columnVisibilityModel: visibilityModel,\n },\n };\n }, [\n columnsByFieldId,\n defaultVisibleFieldNames,\n effectiveMetadata,\n hasStorageKey,\n storedVisibilityModel,\n ]);\n\n const handleColumnVisibilityModelChange = useCallback(\n (model: GridColumnVisibilityModel) => {\n if (hasStorageKey) {\n setStoredVisibilityModel(model);\n }\n\n if (onColumnVisibilityModelChange) {\n onColumnVisibilityModelChange(model);\n }\n },\n [hasStorageKey, onColumnVisibilityModelChange, setStoredVisibilityModel],\n );\n\n const handleRowDoubleClick = useCallback(\n (params: { id: string | number; row: DynamicRowData<T> }) => {\n if (!onRowDoubleClick) return;\n\n const rowId = params.id?.toString() || '';\n onRowDoubleClick(rowId, params.row);\n },\n [onRowDoubleClick],\n );\n\n return (\n <DataView\n title={title}\n columns={orderedColumns}\n rows={rows}\n mobileRender={mobileRender || (() => null)}\n rowCount={total}\n loading={isLoading}\n fetching={isFetching}\n searchValue={searchValue}\n onSearch={onSearch}\n onSearchChange={onSearchChange}\n paginationModel={{\n page,\n pageSize: perPage,\n }}\n onPaginationChange={onPaginationChange}\n actions={actions}\n moreActions={moreActions}\n onAdd={onAdd}\n hideHeader={hideHeader}\n onRowDoubleClick={onRowDoubleClick ? handleRowDoubleClick : undefined}\n disableRowSelectionOnClick\n slots={slots}\n initialState={initialState}\n showColumnButton={showColumnButton}\n containerProps={{\n height: containerHeight,\n maxHeight: containerHeight,\n }}\n onColumnVisibilityModelChange={handleColumnVisibilityModelChange}\n />\n );\n};\n\nexport default memo(DynamicDataView) as typeof DynamicDataView;\nexport type {\n DynamicDataViewProps,\n DynamicRowData,\n MobileRenderFunction,\n} from './props';\n","import { useMemo } from 'react';\nimport { GridColDef } from '@mui/x-data-grid-premium';\n\nimport { Columns } from 'types/datagrid';\nimport { EntityMetadataResponse } from 'types/entityMetadata';\n\nimport { ACCESS_TYPES } from '../constants/columnDefaults';\nimport { CellRenderer } from '../types/cellRenderer';\nimport { ColumnStrategy, getColumnStrategy } from '../utils/columnStrategies';\n\ninterface UseDynamicColumnsProps<T> {\n metadata?: EntityMetadataResponse;\n renderCell: CellRenderer<T>;\n columnStrategies?: {\n [fieldName: string]: ColumnStrategy<T>;\n };\n}\n\nexport const useDynamicColumns = <T extends object>({\n metadata,\n renderCell,\n columnStrategies,\n}: UseDynamicColumnsProps<T>): Columns => {\n return useMemo(() => {\n if (!metadata?.fields) return [];\n\n const columnsMap = new Map<string, GridColDef>();\n\n const visibleFields = metadata.fields.filter(field => {\n if (\n field.access_type === ACCESS_TYPES.READ_ONLY ||\n field.access_type === ACCESS_TYPES.READ_AND_WRITE\n ) {\n return true;\n }\n\n return (\n field.name === 'ACTIONS' ||\n field.name === metadata?.id_field_name ||\n field.name === 'NAME'\n );\n });\n\n visibleFields.forEach(field => {\n if (columnsMap.has(field.name)) {\n return;\n }\n\n const strategy =\n columnStrategies?.[field.name] ?? getColumnStrategy<T>(field, metadata);\n const column = strategy(field, renderCell, metadata);\n\n columnsMap.set(field.name, column);\n });\n\n return Array.from(columnsMap.values());\n }, [columnStrategies, metadata, renderCell]);\n};\n","export const COLUMN_DEFAULTS = {\n IMAGE_WIDTH: 90,\n MIN_WIDTH: 130,\n ENTITY_MIN_WIDTH: 100,\n ENTITY_FLEX: 0.5,\n ID_MIN_WIDTH: 200,\n ID_FLEX: 1,\n ACTIONS_WIDTH: 80,\n} as const;\n\nexport const ACCESS_TYPES = {\n READ_ONLY: 'READ_ONLY',\n READ_AND_WRITE: 'READ_AND_WRITE',\n} as const;\n\nexport const CURRENCY_FIELD_NAMES: readonly string[] = [\n 'price',\n 'base_price',\n 'minimum_value',\n 'maximum_value',\n 'minimum_installment_value',\n];\n","import { GridColDef, GridRenderCellParams } from '@mui/x-data-grid-premium';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { COLUMN_DEFAULTS } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../types/cellRenderer';\n\nexport type ColumnStrategy<T = object> = (\n field: Field,\n renderCell: CellRenderer<T>,\n metadata?: { id_field_name?: string },\n) => GridColDef;\n\nconst createImageColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n sortable: false,\n width: COLUMN_DEFAULTS.IMAGE_WIDTH,\n resizable: false,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createIdColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ID_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ID_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createEntityColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ENTITY_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ENTITY_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createDefaultColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.MIN_WIDTH,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createActionsColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: 'Ações',\n width: COLUMN_DEFAULTS.ACTIONS_WIDTH,\n sortable: false,\n resizable: false,\n disableReorder: true,\n headerAlign: 'center',\n disableColumnMenu: true,\n align: 'center',\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nexport const getColumnStrategy = <T extends object>(\n field: Field,\n metadata?: { id_field_name?: string },\n): ColumnStrategy<T> => {\n if (field.name === metadata?.id_field_name || field.name === 'name') {\n return createIdColumn;\n }\n\n if (field.name === 'ACTIONS') {\n return createActionsColumn;\n }\n\n if (field.type === 'FILE') {\n return createImageColumn;\n }\n\n if (field.type === 'ENTITY') {\n return createEntityColumn;\n }\n\n return createDefaultColumn;\n};\n","import { EntityMetadataResponse, Field } from 'types/entityMetadata';\n\nexport const createActionsField = (): Field => ({\n name: 'ACTIONS',\n description: '',\n filter_field_name: null,\n type: 'TEXT',\n metadata: null,\n access_type: 'READ_ONLY',\n relation_field_name: null,\n available_filter_conditions: [],\n});\n\nexport const addActionsFieldToMetadata = (\n metadata: EntityMetadataResponse,\n): EntityMetadataResponse => {\n const hasActionsField = metadata.fields.some(\n field => field.name === 'ACTIONS',\n );\n\n if (hasActionsField) {\n return metadata;\n }\n\n return {\n ...metadata,\n fields: [...metadata.fields, createActionsField()],\n };\n};\n","import { memo, ReactNode } from 'react';\n\nimport Label from '../../Label';\n\nimport { BooleanRendererProps } from './props';\n\nconst BooleanRenderer = ({\n value,\n trueLabel = 'Ativo',\n falseLabel = 'Inativo',\n}: BooleanRendererProps): ReactNode => {\n return (\n <Label color={value ? 'success' : 'warning'}>\n {value ? trueLabel : falseLabel}\n </Label>\n );\n};\n\nexport default memo(BooleanRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDate } from 'utils/formatTime';\n\nexport interface DateRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateRenderer = ({ value, format }: DateRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDate(value as DatePickerFormat, format);\n};\n\nexport default memo(DateRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDateTime } from 'utils/formatTime';\n\nexport interface DateTimeRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateTimeRenderer = ({\n value,\n format,\n}: DateTimeRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDateTime(value as DatePickerFormat, format);\n};\n\nexport default memo(DateTimeRenderer);\n","import { memo, ReactNode } from 'react';\nimport Chip from '@mui/material/Chip';\n\nimport { EntityRendererProps } from './props';\n\nconst EntityRenderer = ({ value, field }: EntityRendererProps): ReactNode => {\n if (!field.metadata || typeof value !== 'object' || value === null) {\n return value ? String(value) : '-';\n }\n\n const entityValue = (value as Record<string, unknown>)[\n field.metadata.description_field_name\n ];\n\n if (!entityValue) return null;\n\n return (\n <Chip\n label={String(entityValue)}\n variant=\"outlined\"\n size=\"small\"\n sx={{\n width: 'fit-content',\n color: 'text.secondary',\n borderColor: 'divider',\n borderRadius: 3,\n }}\n />\n );\n};\n\nexport default memo(EntityRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport Icon, { IconEnum } from '../../Icon';\n\nimport { IconRendererProps } from './props';\n\nconst IconRenderer = ({\n value,\n trueIcon = IconEnum.STAR_02,\n falseIcon = IconEnum.STAR,\n color = 'primary.main',\n width = 18,\n}: IconRendererProps): ReactNode => {\n return (\n <Icon icon={value ? trueIcon : falseIcon} color={color} width={width} />\n );\n};\n\nexport default memo(IconRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { NameRendererProps } from './props';\n\nconst NameRenderer = ({\n id,\n displayName,\n copyMessage = 'ID copiado!',\n}: NameRendererProps): ReactNode => {\n return (\n <Stack height={1} justifyContent=\"center\">\n <Typography variant=\"subtitle2\" noWrap title={displayName}>\n {displayName}\n </Typography>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography color=\"grey.600\" variant=\"body2\" noWrap>\n ID: {id}\n </Typography>\n <CopyButton toCopy={id} message={copyMessage} />\n </Stack>\n </Stack>\n );\n};\n\nexport default memo(NameRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { fCurrencyBRL, fNumber } from 'utils/formatNumber';\n\nimport { NumberRendererProps } from './props';\n\nconst NumberRenderer = ({\n value,\n isCurrency = false,\n}: NumberRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return (\n <Stack direction=\"row\" alignItems=\"center\" height=\"100%\">\n <Typography variant=\"body2\" noWrap width=\"fit-content\">\n {isCurrency ? fCurrencyBRL(Number(value)) : fNumber(Number(value))}\n </Typography>\n </Stack>\n );\n};\n\nexport default memo(NumberRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { TextRendererProps } from './props';\n\nconst sanitizeHtml = (text: string): string => {\n const withoutTags = text.replace(/<[^>]*>/g, '');\n return withoutTags\n .replace(/&nbsp;/g, ' ')\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#39;/g, \"'\")\n .trim();\n};\n\nconst TextRenderer = ({\n value,\n showCopyButton = false,\n copyMessage = 'Copiado',\n}: TextRendererProps): ReactNode => {\n if (!value) return '-';\n\n const stringValue = String(value);\n const sanitizedValue = sanitizeHtml(stringValue);\n\n if (showCopyButton) {\n return (\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography variant=\"body2\" noWrap>\n {sanitizedValue}\n </Typography>\n <CopyButton toCopy={sanitizedValue} message={copyMessage} />\n </Stack>\n );\n }\n\n return sanitizedValue;\n};\n\nexport default memo(TextRenderer);\n","import { ReactNode } from 'react';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { CURRENCY_FIELD_NAMES } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../props';\nimport {\n BooleanRenderer,\n DateRenderer,\n DateTimeRenderer,\n EntityRenderer,\n NumberRenderer,\n TextRenderer,\n} from '../renderers';\n\nfunction getIsCurrency(fieldName: string): boolean {\n return CURRENCY_FIELD_NAMES.includes(fieldName);\n}\n\nexport const createCellRenderer = <T extends object = object>(context: {\n onRowAction?: (rowId: string, row: DynamicRowData<T>) => ReactNode;\n}): CellRenderer<T> => {\n const { onRowAction } = context;\n\n const CellRendererComponent = (\n field: Field,\n row: DynamicRowData<T>,\n ): ReactNode => {\n const value = row[field.name];\n\n if (field.name === 'ACTIONS') {\n return onRowAction?.(row.id, row);\n }\n\n switch (field.type) {\n case 'BOOLEAN':\n return <BooleanRenderer value={value} />;\n\n case 'DATE':\n return <DateRenderer value={value} />;\n\n case 'DATETIME':\n return <DateTimeRenderer value={value} />;\n\n case 'DECIMAL':\n case 'INTEGER':\n return (\n <NumberRenderer\n value={value}\n isCurrency={getIsCurrency(field.name)}\n />\n );\n\n case 'FILE':\n case 'ENTITY':\n return <EntityRenderer value={value} field={field} />;\n case 'TEXT':\n default:\n return <TextRenderer value={value} />;\n }\n };\n\n CellRendererComponent.displayName = 'CellRendererComponent';\n return CellRendererComponent;\n};\n"]}
@@ -1,4 +1,4 @@
1
- export { a as default } from '../../chunk-QKKARUG5.js';
1
+ export { a as default } from '../../chunk-SVJYA4Q6.js';
2
2
  import '../../chunk-6ZSTKYGL.js';
3
3
  import '../../chunk-RPPQBAVO.js';
4
4
  import '../../chunk-IJZCVZ32.js';
@@ -1,7 +1,7 @@
1
1
  export { a as default } from '../../chunk-VCHDZXTF.js';
2
2
  import '../../chunk-UHXAPEIF.js';
3
- import '../../chunk-74KBZX6F.js';
4
- import '../../chunk-LDGBS7ZI.js';
3
+ import '../../chunk-U4ZTAFZV.js';
4
+ import '../../chunk-373WGZZL.js';
5
5
  import '../../chunk-TWSAWMZ3.js';
6
6
  import '../../chunk-ROVD7OGE.js';
7
7
  import '../../chunk-WUFEPE2G.js';
@@ -1,8 +1,8 @@
1
1
  import { a as a$1 } from '../../../chunk-P6HORLPW.js';
2
2
  import { a as a$2 } from '../../../chunk-YXRL4O4H.js';
3
3
  import '../../../chunk-DHRVSWFW.js';
4
- import { a as a$3 } from '../../../chunk-JZ55NEMI.js';
5
- import '../../../chunk-LY3IB5VH.js';
4
+ import { a as a$3 } from '../../../chunk-WYJV57WG.js';
5
+ import '../../../chunk-IGOVBLZ2.js';
6
6
  import '../../../chunk-NQNNMRLC.js';
7
7
  import '../../../chunk-CIGSMWKF.js';
8
8
  import E from '@mui/material/CircularProgress';
@@ -1,5 +1,5 @@
1
- export { a as default } from '../../../chunk-JZ55NEMI.js';
2
- import '../../../chunk-LY3IB5VH.js';
1
+ export { a as default } from '../../../chunk-WYJV57WG.js';
2
+ import '../../../chunk-IGOVBLZ2.js';
3
3
  import '../../../chunk-NQNNMRLC.js';
4
4
  import '../../../chunk-CIGSMWKF.js';
5
5
  //# sourceMappingURL=out.js.map
@@ -1,4 +1,4 @@
1
- import { a } from '../../../chunk-N22KLIFJ.js';
1
+ import { a } from '../../../chunk-23NOJPUV.js';
2
2
  import '../../../chunk-7R6ZYEQS.js';
3
3
  import '../../../chunk-RPO7AI5K.js';
4
4
  import { useFormContext, Controller } from 'react-hook-form';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/form/SelectList/index.tsx"],"names":["Controller","useFormContext","jsx","SelectList","name","rules","onChange","helperText","other","control","field","error","SelectList_default","value"],"mappings":"oSAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAgBjC,cAAAC,MAAA,oBAVV,IAAMC,EAAa,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,GAAGC,CAAM,IAAuB,CACvF,GAAM,CAAE,QAAAC,CAAQ,EAAIR,EAAe,EAEnC,OACEC,EAACF,EAAA,CACC,KAAMI,EACN,QAASK,EACT,MAAOJ,EACP,OAAQ,CAAC,CAAE,MAAAK,EAAO,WAAY,CAAE,MAAAC,CAAM,CAAE,IAEpCT,EAACU,EAAA,CACE,GAAGJ,EACJ,MAAOE,EAAM,MACb,SAAUG,GAAS,CACjBH,EAAM,SAASG,CAAK,EACpBP,IAAWO,CAAK,CAClB,EACA,MAAO,CAAC,CAACF,EACT,WAAYA,GAAO,SAAWJ,EAChC,EAGN,CAEJ,EAEOK,EAAQT","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport SelectListComponent from 'components/SelectList';\n\nimport { SelectListProps } from './props';\n\nconst SelectList = ({ name, rules, onChange, helperText, ...other }: SelectListProps) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field, fieldState: { error } }) => {\n return (\n <SelectListComponent\n {...other}\n value={field.value}\n onChange={value => {\n field.onChange(value);\n onChange?.(value);\n }}\n error={!!error}\n helperText={error?.message || helperText}\n />\n );\n }}\n />\n );\n};\n\nexport default SelectList;\n"]}
1
+ {"version":3,"sources":["../../../../src/components/form/SelectList/index.tsx"],"names":["Controller","useFormContext","jsx","SelectList","name","rules","onChange","helperText","other","control","field","error","SelectList_default","value"],"mappings":"oSAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAsBjC,cAAAC,MAAA,oBAhBV,IAAMC,EAAa,CAAC,CAClB,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,WAAAC,EACA,GAAGC,CACL,IAAuB,CACrB,GAAM,CAAE,QAAAC,CAAQ,EAAIR,EAAe,EAEnC,OACEC,EAACF,EAAA,CACC,KAAMI,EACN,QAASK,EACT,MAAOJ,EACP,OAAQ,CAAC,CAAE,MAAAK,EAAO,WAAY,CAAE,MAAAC,CAAM,CAAE,IAEpCT,EAACU,EAAA,CACE,GAAGJ,EACJ,MAAOE,EAAM,MACb,SAAUG,GAAS,CACjBH,EAAM,SAASG,CAAK,EACpBP,IAAWO,CAAK,CAClB,EACA,MAAO,CAAC,CAACF,EACT,WAAYA,GAAO,SAAWJ,EAChC,EAGN,CAEJ,EAEOK,EAAQT","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport SelectListComponent from 'components/SelectList';\n\nimport { SelectListProps } from './props';\n\nconst SelectList = ({\n name,\n rules,\n onChange,\n helperText,\n ...other\n}: SelectListProps) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field, fieldState: { error } }) => {\n return (\n <SelectListComponent\n {...other}\n value={field.value}\n onChange={value => {\n field.onChange(value);\n onChange?.(value);\n }}\n error={!!error}\n helperText={error?.message || helperText}\n />\n );\n }}\n />\n );\n};\n\nexport default SelectList;\n"]}
@@ -1,4 +1,4 @@
1
- import { a } from '../../../chunk-QKKARUG5.js';
1
+ import { a } from '../../../chunk-SVJYA4Q6.js';
2
2
  import '../../../chunk-6ZSTKYGL.js';
3
3
  import '../../../chunk-RPPQBAVO.js';
4
4
  import '../../../chunk-IJZCVZ32.js';
@@ -1,7 +1,7 @@
1
1
  import { a } from '../../../chunk-YXRL4O4H.js';
2
- import { a as a$2 } from '../../../chunk-JZ55NEMI.js';
2
+ import { a as a$2 } from '../../../chunk-WYJV57WG.js';
3
3
  import { a as a$3 } from '../../../chunk-LEMPYV5U.js';
4
- import '../../../chunk-LY3IB5VH.js';
4
+ import '../../../chunk-IGOVBLZ2.js';
5
5
  import { a as a$1 } from '../../../chunk-NQNNMRLC.js';
6
6
  import '../../../chunk-CIGSMWKF.js';
7
7
  import { useFormContext, useFieldArray } from 'react-hook-form';
@@ -1,8 +1,8 @@
1
- import { useState } from 'react';
1
+ import { useState, useMemo, useEffect } from 'react';
2
2
  import { debounce } from '@mui/material/utils';
3
3
 
4
- var h=d=>{let[o,i]=useState(!1),[s,l]=useState(),[p,a]=useState(),O=debounce(e=>{l(e),i(!1);},500),S=e=>{e&&i(!0),O(e);},c=()=>{i(!1),l(void 0);};return {search:s,searching:o,buildOptions:(e=[],r=!1)=>{let t=p||d;if(!t||s!==void 0)return e.filter(n=>n.value!==null&&n.value!==void 0);if(o||r)return [];let f=[...Array.isArray(t)?t:[t],...e];return Array.from(new Set(f.map(n=>n.value))).map(n=>f.find(m=>m.value===n)).filter(n=>n.value!==null&&n.value!==void 0)},onSearch:S,onSelectValue:(e=[],r)=>{if(!r||Array.isArray(r)&&r.length===0){a(void 0);return}Array.isArray(r)?a(e.filter(t=>r.includes(t.value))):a(e.find(t=>t.value===r)),c();},finishSearch:c}},w=h;
4
+ var y=p=>{let[o,i]=useState(!1),[l,c]=useState(),[m,a]=useState(),u=useMemo(()=>debounce(e=>{c(e),i(!1);},500),[]);useEffect(()=>()=>{u.clear();},[u]);let O=e=>{e&&i(!0),u(e);},f=()=>{i(!1),c(void 0);};return {search:l,searching:o,buildOptions:(e=[],r=!1)=>{let t=m||p;if(!t||l!==void 0)return e.filter(n=>n.value!==null&&n.value!==void 0);if(o||r)return [];let d=[...Array.isArray(t)?t:[t],...e];return Array.from(new Set(d.map(n=>n.value))).map(n=>d.find(S=>S.value===n)).filter(n=>n.value!==null&&n.value!==void 0)},onSearch:O,onSelectValue:(e=[],r)=>{if(!r||Array.isArray(r)&&r.length===0){a(void 0);return}Array.isArray(r)?a(e.filter(t=>r.includes(t.value))):a(e.find(t=>t.value===r)),f();},finishSearch:f}},x=y;
5
5
 
6
- export { w as default };
6
+ export { x as default };
7
7
  //# sourceMappingURL=out.js.map
8
8
  //# sourceMappingURL=useAutocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useAutocomplete.ts"],"names":["useState","debounce","useAutocomplete","initialValue","searching","setSearching","search","setSearch","selectedValue","setSelectedValue","debouncedSetSearch","onSearch","term","finishSearch","options","fetching","value","opt","combinedOptions","uniqueValue","selected","useAutocomplete_default"],"mappings":"AAAA,OAAS,YAAAA,MAAgB,QACzB,OAAS,YAAAC,MAAgB,sBAIzB,IAAMC,EAAmBC,GAAqC,CAC5D,GAAM,CAACC,EAAWC,CAAY,EAAIL,EAAS,EAAK,EAC1C,CAACM,EAAQC,CAAS,EAAIP,EAAiB,EACvC,CAACQ,EAAeC,CAAgB,EAAIT,EAA4B,EAEhEU,EAAqBT,EAAUK,GAAoB,CACvDC,EAAUD,CAAM,EAChBD,EAAa,EAAK,CACpB,EAAG,GAAG,EAEAM,EAAYC,GAAkB,CAC9BA,GAAMP,EAAa,EAAI,EAC3BK,EAAmBE,CAAI,CACzB,EAEMC,EAAe,IAAM,CACzBR,EAAa,EAAK,EAClBE,EAAU,MAAS,CACrB,EAuCA,MAAO,CACL,OAAAD,EACA,UAAAF,EACA,aAxCmB,CAACU,EAAoB,CAAC,EAAGC,EAAW,KAAU,CACjE,IAAMC,EAAQR,GAAiBL,EAE/B,GAAI,CAACa,GAASV,IAAW,OACvB,OAAOQ,EAAQ,OACbG,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAC7C,EAEF,GAAIb,GAAaW,EAAU,MAAO,CAAC,EAGnC,IAAMG,EAAkB,CAAC,GADH,MAAM,QAAQF,CAAK,EAAIA,EAAQ,CAACA,CAAK,EAChB,GAAGF,CAAO,EAErD,OACE,MAAM,KAAK,IAAI,IAAII,EAAgB,IAAID,GAAOA,EAAI,KAAK,CAAC,CAAC,EAAE,IACzDE,GAAeD,EAAgB,KAAKD,GAAOA,EAAI,QAAUE,CAAW,CACtE,EACA,OAAOF,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAAS,CAC/D,EAuBE,SAAAN,EACA,cAtBoB,CAACG,EAAoB,CAAC,EAAGM,IAAsB,CACnE,GAAI,CAACA,GAAa,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SAAW,EAAI,CACnEX,EAAiB,MAAS,EAC1B,OAGE,MAAM,QAAQW,CAAQ,EACxBX,EACEK,EAAQ,OAAOG,GAAOG,EAAS,SAASH,EAAI,KAAe,CAAC,CAC9D,EAEAR,EAAiBK,EAAQ,KAAKG,GAAOA,EAAI,QAAUG,CAAQ,CAAC,EAG9DP,EAAa,CACf,EAQE,aAAAA,CACF,CACF,EAEOQ,EAAQnB","sourcesContent":["import { useState } from 'react';\nimport { debounce } from '@mui/material/utils';\n\nimport { Option } from 'types/option';\n\nconst useAutocomplete = (initialValue?: Option | Option[]) => {\n const [searching, setSearching] = useState(false);\n const [search, setSearch] = useState<string>();\n const [selectedValue, setSelectedValue] = useState<Option | Option[]>();\n\n const debouncedSetSearch = debounce((search?: string) => {\n setSearch(search);\n setSearching(false);\n }, 500);\n\n const onSearch = (term?: string) => {\n if (term) setSearching(true);\n debouncedSetSearch(term);\n };\n\n const finishSearch = () => {\n setSearching(false);\n setSearch(undefined);\n };\n\n const buildOptions = (options: Option[] = [], fetching = false) => {\n const value = selectedValue || initialValue;\n\n if (!value || search !== undefined)\n return options.filter(\n opt => opt.value !== null && opt.value !== undefined,\n );\n\n if (searching || fetching) return [];\n\n const selectedArray = Array.isArray(value) ? value : [value];\n const combinedOptions = [...selectedArray, ...options];\n\n return (\n Array.from(new Set(combinedOptions.map(opt => opt.value))).map(\n uniqueValue => combinedOptions.find(opt => opt.value === uniqueValue),\n ) as Option[]\n ).filter(opt => opt.value !== null && opt.value !== undefined);\n };\n\n const onSelectValue = (options: Option[] = [], selected: unknown) => {\n if (!selected || (Array.isArray(selected) && selected.length === 0)) {\n setSelectedValue(undefined);\n return;\n }\n\n if (Array.isArray(selected)) {\n setSelectedValue(\n options.filter(opt => selected.includes(opt.value as string)),\n );\n } else {\n setSelectedValue(options.find(opt => opt.value === selected));\n }\n\n finishSearch();\n };\n\n return {\n search,\n searching,\n buildOptions,\n onSearch,\n onSelectValue,\n finishSearch,\n };\n};\n\nexport default useAutocomplete;\n"]}
1
+ {"version":3,"sources":["../../src/hooks/useAutocomplete.ts"],"names":["useEffect","useMemo","useState","debounce","useAutocomplete","initialValue","searching","setSearching","search","setSearch","selectedValue","setSelectedValue","debouncedSetSearch","onSearch","term","finishSearch","options","fetching","value","opt","combinedOptions","uniqueValue","selected","useAutocomplete_default"],"mappings":"AAAA,OAAS,aAAAA,EAAW,WAAAC,EAAS,YAAAC,MAAgB,QAC7C,OAAS,YAAAC,MAAgB,sBAIzB,IAAMC,EAAmBC,GAAqC,CAC5D,GAAM,CAACC,EAAWC,CAAY,EAAIL,EAAS,EAAK,EAC1C,CAACM,EAAQC,CAAS,EAAIP,EAAiB,EACvC,CAACQ,EAAeC,CAAgB,EAAIT,EAA4B,EAEhEU,EAAqBX,EACzB,IACEE,EAAUK,GAAoB,CAC5BC,EAAUD,CAAM,EAChBD,EAAa,EAAK,CACpB,EAAG,GAAG,EACR,CAAC,CACH,EAEAP,EAAU,IACD,IAAM,CACXY,EAAmB,MAAM,CAC3B,EACC,CAACA,CAAkB,CAAC,EAEvB,IAAMC,EAAYC,GAAkB,CAC9BA,GAAMP,EAAa,EAAI,EAC3BK,EAAmBE,CAAI,CACzB,EAEMC,EAAe,IAAM,CACzBR,EAAa,EAAK,EAClBE,EAAU,MAAS,CACrB,EAuCA,MAAO,CACL,OAAAD,EACA,UAAAF,EACA,aAxCmB,CAACU,EAAoB,CAAC,EAAGC,EAAW,KAAU,CACjE,IAAMC,EAAQR,GAAiBL,EAE/B,GAAI,CAACa,GAASV,IAAW,OACvB,OAAOQ,EAAQ,OACbG,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAC7C,EAEF,GAAIb,GAAaW,EAAU,MAAO,CAAC,EAGnC,IAAMG,EAAkB,CAAC,GADH,MAAM,QAAQF,CAAK,EAAIA,EAAQ,CAACA,CAAK,EAChB,GAAGF,CAAO,EAErD,OACE,MAAM,KAAK,IAAI,IAAII,EAAgB,IAAID,GAAOA,EAAI,KAAK,CAAC,CAAC,EAAE,IACzDE,GAAeD,EAAgB,KAAKD,GAAOA,EAAI,QAAUE,CAAW,CACtE,EACA,OAAOF,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAAS,CAC/D,EAuBE,SAAAN,EACA,cAtBoB,CAACG,EAAoB,CAAC,EAAGM,IAAsB,CACnE,GAAI,CAACA,GAAa,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SAAW,EAAI,CACnEX,EAAiB,MAAS,EAC1B,OAGE,MAAM,QAAQW,CAAQ,EACxBX,EACEK,EAAQ,OAAOG,GAAOG,EAAS,SAASH,EAAI,KAAe,CAAC,CAC9D,EAEAR,EAAiBK,EAAQ,KAAKG,GAAOA,EAAI,QAAUG,CAAQ,CAAC,EAG9DP,EAAa,CACf,EAQE,aAAAA,CACF,CACF,EAEOQ,EAAQnB","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { debounce } from '@mui/material/utils';\n\nimport { Option } from 'types/option';\n\nconst useAutocomplete = (initialValue?: Option | Option[]) => {\n const [searching, setSearching] = useState(false);\n const [search, setSearch] = useState<string>();\n const [selectedValue, setSelectedValue] = useState<Option | Option[]>();\n\n const debouncedSetSearch = useMemo(\n () =>\n debounce((search?: string) => {\n setSearch(search);\n setSearching(false);\n }, 500),\n [],\n );\n\n useEffect(() => {\n return () => {\n debouncedSetSearch.clear();\n };\n }, [debouncedSetSearch]);\n\n const onSearch = (term?: string) => {\n if (term) setSearching(true);\n debouncedSetSearch(term);\n };\n\n const finishSearch = () => {\n setSearching(false);\n setSearch(undefined);\n };\n\n const buildOptions = (options: Option[] = [], fetching = false) => {\n const value = selectedValue || initialValue;\n\n if (!value || search !== undefined)\n return options.filter(\n opt => opt.value !== null && opt.value !== undefined,\n );\n\n if (searching || fetching) return [];\n\n const selectedArray = Array.isArray(value) ? value : [value];\n const combinedOptions = [...selectedArray, ...options];\n\n return (\n Array.from(new Set(combinedOptions.map(opt => opt.value))).map(\n uniqueValue => combinedOptions.find(opt => opt.value === uniqueValue),\n ) as Option[]\n ).filter(opt => opt.value !== null && opt.value !== undefined);\n };\n\n const onSelectValue = (options: Option[] = [], selected: unknown) => {\n if (!selected || (Array.isArray(selected) && selected.length === 0)) {\n setSelectedValue(undefined);\n return;\n }\n\n if (Array.isArray(selected)) {\n setSelectedValue(\n options.filter(opt => selected.includes(opt.value as string)),\n );\n } else {\n setSelectedValue(options.find(opt => opt.value === selected));\n }\n\n finishSearch();\n };\n\n return {\n search,\n searching,\n buildOptions,\n onSearch,\n onSelectValue,\n finishSearch,\n };\n};\n\nexport default useAutocomplete;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useScreenSize.ts"],"names":["useState","useEffect","useScreenSize","screenSize","setScreenSize","handleResize","useScreenSize_default"],"mappings":"AAAA,OAAS,YAAAA,EAAU,aAAAC,MAAiB,QAEpC,IAAMC,EAAgB,IAAM,CAC1B,GAAM,CAACC,EAAYC,CAAa,EAAIJ,EAAS,CAC3C,MAAO,OAAO,WACd,OAAQ,OAAO,WACjB,CAAC,EAED,OAAAC,EAAU,IAAM,CACd,IAAMI,EAAe,IAAM,CACzBD,EAAc,CACZ,MAAO,OAAO,WACd,OAAQ,OAAO,WACjB,CAAC,CACH,EAEA,cAAO,iBAAiB,SAAUC,CAAY,EAEvC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAY,CACnD,CACF,EAAG,CAAC,CAAC,EAEEF,CACT,EAEOG,EAAQJ","sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useScreenSize = () => {\n const [screenSize, setScreenSize] = useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n useEffect(() => {\n const handleResize = () => {\n setScreenSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return screenSize;\n};\n\nexport default useScreenSize;\n"]}
1
+ {"version":3,"sources":["../../src/hooks/useScreenSize.ts"],"names":["useEffect","useState","useScreenSize","screenSize","setScreenSize","handleResize","useScreenSize_default"],"mappings":"AAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAEpC,IAAMC,EAAgB,IAAM,CAC1B,GAAM,CAACC,EAAYC,CAAa,EAAIH,EAAS,CAC3C,MAAO,OAAO,WACd,OAAQ,OAAO,WACjB,CAAC,EAED,OAAAD,EAAU,IAAM,CACd,IAAMK,EAAe,IAAM,CACzBD,EAAc,CACZ,MAAO,OAAO,WACd,OAAQ,OAAO,WACjB,CAAC,CACH,EAEA,cAAO,iBAAiB,SAAUC,CAAY,EAEvC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAY,CACnD,CACF,EAAG,CAAC,CAAC,EAEEF,CACT,EAEOG,EAAQJ","sourcesContent":["import { useEffect, useState } from 'react';\n\nconst useScreenSize = () => {\n const [screenSize, setScreenSize] = useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n useEffect(() => {\n const handleResize = () => {\n setScreenSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return screenSize;\n};\n\nexport default useScreenSize;\n"]}
@@ -4,13 +4,13 @@ import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
 
6
6
  declare const useSnackbar: () => {
7
- toast: ((message: (() => ReactNode) | ReactNode, data?: ExternalToast | undefined) => string | number) & {
8
- success: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
9
- info: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
10
- warning: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
11
- error: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
7
+ toast: ((message: ReactNode | (() => ReactNode), data?: ExternalToast | undefined) => string | number) & {
8
+ success: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
9
+ info: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
10
+ warning: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
11
+ error: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
12
12
  custom: (jsx: (id: string | number) => react.ReactElement<any, string | react.JSXElementConstructor<any>>, data?: ExternalToast | undefined) => string | number;
13
- message: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
13
+ message: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
14
14
  promise: <ToastData>(promise: Promise<ToastData> | (() => Promise<ToastData>), data?: ({
15
15
  className?: string | undefined;
16
16
  style?: react.CSSProperties | undefined;
@@ -45,7 +45,7 @@ declare const useSnackbar: () => {
45
45
  unwrap: () => Promise<ToastData>;
46
46
  };
47
47
  dismiss: (id?: string | number | undefined) => string | number;
48
- loading: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
48
+ loading: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
49
49
  } & {
50
50
  getHistory: () => (sonner.ToastT | sonner.ToastToDismiss)[];
51
51
  getToasts: () => (sonner.ToastT | sonner.ToastToDismiss)[];
@@ -1,6 +1,6 @@
1
1
  export { a as useThemeToggle } from '../chunk-UHXAPEIF.js';
2
- import '../chunk-74KBZX6F.js';
3
- import '../chunk-LDGBS7ZI.js';
2
+ import '../chunk-U4ZTAFZV.js';
3
+ import '../chunk-373WGZZL.js';
4
4
  import '../chunk-TWSAWMZ3.js';
5
5
  import '../chunk-ROVD7OGE.js';
6
6
  import '../chunk-WUFEPE2G.js';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { C as CustomShadows } from './index-c8f1e6e7.js';
2
- export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from './index-c8f1e6e7.js';
1
+ import { C as CustomShadows } from './index-5a5e5dc8.js';
2
+ export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from './index-5a5e5dc8.js';
3
3
  export { S as SettingsContextValue, _ as SettingsProvider, T as ThemeProviderProps, u as useSettingsContext } from './settings-provider-38d09283.js';
4
4
  export { THEME_CONFIG, default as ThemeProvider } from './theme/theme-provider.js';
5
5
  import { S as SettingsState } from './settings-583c107c.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { a as useThemeToggle } from './chunk-UHXAPEIF.js';
2
- export { b as ThemeProvider, a as createTheme } from './chunk-74KBZX6F.js';
3
- import './chunk-LDGBS7ZI.js';
2
+ export { b as ThemeProvider, a as createTheme } from './chunk-U4ZTAFZV.js';
3
+ import './chunk-373WGZZL.js';
4
4
  import './chunk-TWSAWMZ3.js';
5
5
  import './chunk-ROVD7OGE.js';
6
6
  import './chunk-WUFEPE2G.js';