@zydon/common 2.8.37 → 2.8.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-QTGORIGL.js +26 -0
- package/dist/chunk-QTGORIGL.js.map +1 -0
- package/dist/components/DataView/index.js +1 -1
- package/dist/components/DynamicDataView/index.js +1 -1
- package/dist/components/Summary/index.js +5 -4
- package/dist/components/Summary/index.js.map +1 -1
- package/dist/components/form/Address/index.d.ts +1 -1
- package/dist/components/form/Address/index.js +4 -4
- package/dist/components/form/Address/index.js.map +1 -1
- package/dist/types/addressProps.d.ts +1 -0
- package/package.json +1 -1
- package/dist/chunk-TGEDZBDY.js +0 -26
- package/dist/chunk-TGEDZBDY.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { a as a$4 } from './chunk-MC44LVZD.js';
|
|
2
|
+
import { a as a$5 } from './chunk-IJZCVZ32.js';
|
|
3
|
+
import { a as a$8 } from './chunk-IDFJFFIV.js';
|
|
4
|
+
import { a as a$6 } from './chunk-6U5LS7MP.js';
|
|
5
|
+
import { i, j, a as a$2, b as b$1, c, d, f, e, g, h as h$1 } from './chunk-2W54CJ6E.js';
|
|
6
|
+
import { a as a$7 } from './chunk-F65ZXAGV.js';
|
|
7
|
+
import { a as a$9 } from './chunk-I4PPSW36.js';
|
|
8
|
+
import { a as a$3 } from './chunk-CO2KQFUN.js';
|
|
9
|
+
import { a } from './chunk-ET6H3IRG.js';
|
|
10
|
+
import { a as a$1 } from './chunk-LQRRMVFN.js';
|
|
11
|
+
import { b } from './chunk-RPO7AI5K.js';
|
|
12
|
+
import { memo, forwardRef, useState, useRef, useEffect, useCallback, useMemo, Fragment as Fragment$1, Children, isValidElement, cloneElement } from 'react';
|
|
13
|
+
import ot from 'react-fast-compare';
|
|
14
|
+
import H from '@mui/material/Button';
|
|
15
|
+
import tt from '@mui/material/CircularProgress';
|
|
16
|
+
import rt from '@mui/material/Divider';
|
|
17
|
+
import et from '@mui/material/LinearProgress';
|
|
18
|
+
import h from '@mui/material/Stack';
|
|
19
|
+
import po from '@mui/material/Typography';
|
|
20
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
21
|
+
import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
|
|
22
|
+
|
|
23
|
+
var A="datagrid-actions";var Ho=({rowCount:r,page:e,rowsPerPage:n,onPaginationChange:a})=>jsxs(i,{children:[jsxs(h,{direction:"row",alignItems:"center",gap:.5,children:[jsx(po,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(po,{variant:"body2",children:r})]}),jsx(j,{count:r,page:e,rowsPerPage:n,onPageChange:s=>a(s,n),onRowsPerPageChange:s=>a(e,s)})]}),uo=memo(Ho);var ho=(r,e)=>Children.map(r,n=>{if(!isValidElement(n))return n;let a=n.props.onClick,s={};s.onClick=(...d)=>{e(),a&&a(...d);};let l=n.props;return l?.children&&(s.children=ho(l.children,e)),cloneElement(n,s)}),Vo=({children:r,onClose:e})=>r?ho(r,e):null,go=memo(Vo);var qo=forwardRef(({children:r,...e},n)=>jsx(H,{...e,ref:n,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:r??"Colunas"}));qo.displayName="ColumnsButton";var Qo=({setFilterButtonEl:r})=>{let e=useCallback(n=>{r(n);},[r]);return jsx(a$9,{container:A,children:jsx(GridToolbarColumnsButton,{ref:e,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},Co=Qo;var nt=({title:r,header:e$1,headerProps:n,breakpoint:a$9="md",columns:s,rows:l=[],mobileSlots:d$1,mobileSlotsProps:O,mobileRender:ko,rowCount:b$2=0,paginationModel:m={page:0,pageSize:25},onPaginationChange:f$1,actions:L,moreActions:N,onAdd:F,onSearch:V,searchValue:To,onSearchChange:vo,slots:C,slotProps:Do,loading:P,fetching:z,fetchingNextPage:So,containerProps:yo={height:562,maxHeight:562},hideFooter:_,showColumnButton:R=!1,filterButton:k,activeFilters:W,onRowsScrollEnd:v,scrollEndThreshold:w=200,...Ao})=>{let u=a$1(),c$1=b("down",a$9),[bo,Ro]=useState(null),U=useRef(null);useEffect(()=>{let i=U.current;if(!i||!c$1||!v)return;let K=()=>{let{scrollTop:xo,scrollHeight:Eo,clientHeight:Io}=i;Eo-xo-Io<=w&&v();};return i.addEventListener("scroll",K,{passive:!0}),()=>{i.removeEventListener("scroll",K);}},[c$1,v,w,l.length]);let q=!!V,M=!!F,D=!!L,x=!!N,E=c$1&&x,S=!c$1&&x,wo=D||M||E,Q=S||q||R||!!k||!c$1,J=useCallback(()=>f$1?jsx(uo,{rowCount:b$2,page:m.page,rowsPerPage:m.pageSize,onPaginationChange:f$1}):null,[b$2,m,f$1]),Mo=useMemo(()=>({...C,footer:J,...R&&!C?.toolbar&&{toolbar:Co}}),[C,J,R]);return jsxs(a$2,{breakpoint:a$9,...yo,flex:P?1:void 0,minHeight:P||l.length===0?562:void 0,children:[e$1?jsx(h,{p:3,...n,children:e$1}):jsxs(Fragment,{children:[jsxs(b$1,{breakpoint:a$9,children:[jsx(po,{variant:"overline",color:"text.secondary",noWrap:!0,children:r}),wo&&jsxs(c,{breakpoint:a$9,children:[D&&L,M&&jsxs(Fragment,{children:[D&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(H,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:F,children:"Adicionar"})]}),E&&jsxs(Fragment,{children:[(D||M)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(H,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:u.onOpen,children:"Mais"})]})]})]}),Q&&jsxs(f,{breakpoint:a$9,children:[jsxs(h,{flex:1,direction:"row",alignItems:"center",id:A,gap:.5,children:[x&&jsxs(Fragment,{children:[S&&jsxs(Fragment,{children:[jsx(H,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:u.onOpen,children:"Mais"}),!c$1&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(S||E)&&jsx(a$3,{open:u.open,anchorEl:u.open,onClose:u.onClose,sx:{minWidth:160},disabledArrow:!0,children:jsx(go,{onClose:u.onClose,children:N})})]}),!c$1&&k&&jsxs(Fragment,{children:[k,S&&jsx(e,{orientation:"vertical",flexItem:!0})]})]}),q&&jsxs(g,{breakpoint:a$9,children:[jsx(a$4,{value:To,placeholder:"Buscar",onSearch:V,onChange:i=>vo?.(i.target.value),size:"small",fullWidth:!0,iconPosition:"start"}),c$1&&k&&jsx(h,{ml:1,children:k})]})]}),W&&W,!Q&&jsx(rt,{sx:{mt:2}})]}),c$1?jsxs(a$5,{isFetching:z,fetching:jsx(a$6,{}),isLoading:P,loading:jsx(tt,{sx:{m:"160px auto"}}),isEmpty:l.length===0,empty:jsxs(h,{flex:1,direction:"column",...O,children:[d$1&&d$1,jsx(h,{flex:1,alignItems:"center",justifyContent:"center",children:C?.noRowsOverlay?jsx(C.noRowsOverlay,{}):jsx(po,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})})]}),children:[jsxs(h,{direction:"column",flex:1,minHeight:0,...O,children:[d$1&&d$1,jsx(a$7,{fillContent:!0,ref:U,children:l.map(i=>jsx(Fragment$1,{children:ko(i)},i.id))})]}),!_&&f$1&&jsx(h$1,{children:jsx(j,{count:b$2,page:m.page,rowsPerPage:m.pageSize,onPageChange:i=>f$1?.(i,m.pageSize),onRowsPerPageChange:i=>f$1?.(m.page,i)})})]}):jsx(a$8,{columns:s,rows:l,slots:Mo,slotProps:{panel:{anchorEl:bo},toolbar:{setFilterButtonEl:Ro,showQuickFilter:!0},...Do},columnHeaderHeight:48,getRowHeight:()=>68,loading:P,fetching:z,hideFooter:_,onRowsScrollEnd:v,scrollEndThreshold:w,...Ao}),So&&jsx(et,{})]},P?"loading":"data")},Yt=memo(nt,ot);
|
|
24
|
+
|
|
25
|
+
export { uo as a, go as b, Co as c, Yt as d };
|
|
26
|
+
//# sourceMappingURL=chunk-QTGORIGL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DataView/index.tsx","../src/components/DataView/contants.ts","../src/components/DataView/DesktopFooter.tsx","../src/components/DataView/EnhancedMoreActions.tsx","../src/components/DataView/Toolbar.tsx"],"names":["Fragment","memo","useCallback","useEffect","useMemo","useRef","useState","isEqual","Button","CircularProgress","Divider","LinearProgress","Stack","Typography","DATAGRID_ACTIONS","jsx","jsxs","DesktopFooter","rowCount","page","rowsPerPage","onPaginationChange","DesktopPaginationContainer","Pagination_default","newPage","newRowsPerPage","DesktopFooter_default","Children","cloneElement","isValidElement","createEnhanceMoreActions","children","onClose","child","originalOnClick","enhancedProps","args","childProps","EnhancedMoreActions","EnhancedMoreActions_default","forwardRef","GridToolbarColumnsButton","ColumnsButton","props","ref","Icon_default","Toolbar","setFilterButtonEl","handleColumnsButtonRef","button","Portal_default","Toolbar_default","DataViewComponent","title","header","headerProps","breakpoint","columns","rows","mobileSlots","mobileSlotsProps","mobileRender","paginationModel","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","fetchingNextPage","containerProps","hideFooter","showColumnButton","filterButton","activeFilters","onRowsScrollEnd","scrollEndThreshold","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","scrollableNodeRef","node","handleScroll","scrollTop","scrollHeight","clientHeight","showSearch","showAdd","showActions","showMoreActions","showHeaderMoreActions","showTopbarMoreActions","showActionsContainer","showTopbar","FooterComponent","dataGridSlots","Container","Header","ActionsContainer","ActionsDivider","Topbar","ToolbarActionsDivider","MenuPopover_default","SearchContainer","SearchInput_default","e","Result_default","FixedProgressBar_default","Scrollbar_default","row","MobilePaginationContainer","DataGrid_default","DataView_default"],"mappings":"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","sourcesContent":["import {\n Fragment,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport isEqual from 'react-fast-compare';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport {\n GridSlotsComponentsProps,\n GridValidRowModel,\n} from '@mui/x-data-grid-premium';\n\nimport DataGrid from 'components/DataGrid';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport usePopover from 'hooks/usePopover';\nimport useResponsive from 'hooks/useResponsive';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport DesktopFooter from './DesktopFooter';\nimport EnhancedMoreActions from './EnhancedMoreActions';\nimport Pagination from './Pagination';\nimport { DataGridSlotsProps, DataViewProps } from './props';\nimport {\n ActionsContainer,\n ActionsDivider,\n Container,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n ToolbarActionsDivider,\n Topbar,\n} from './styles';\nimport Toolbar from './Toolbar';\n\nconst DataViewComponent = <T extends GridValidRowModel = GridValidRowModel>({\n title,\n header,\n headerProps,\n breakpoint = 'md',\n columns,\n rows = [],\n mobileSlots,\n mobileSlotsProps,\n mobileRender,\n rowCount = 0,\n paginationModel = { page: 0, pageSize: 25 },\n onPaginationChange,\n actions,\n moreActions,\n onAdd,\n onSearch,\n searchValue,\n onSearchChange,\n slots,\n slotProps,\n loading,\n fetching,\n fetchingNextPage,\n containerProps = { height: 562, maxHeight: 562 },\n hideFooter,\n showColumnButton = false,\n filterButton,\n activeFilters,\n onRowsScrollEnd,\n scrollEndThreshold = 200,\n ...others\n}: DataViewProps<T>) => {\n const popover = usePopover();\n const isMobile = useResponsive('down', breakpoint);\n const [filterButtonEl, setFilterButtonEl] =\n useState<HTMLButtonElement | null>(null);\n const scrollableNodeRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const node = scrollableNodeRef.current;\n\n if (!node || !isMobile || !onRowsScrollEnd) return;\n\n const handleScroll = () => {\n const { scrollTop, scrollHeight, clientHeight } = node;\n const distanceToBottom = scrollHeight - scrollTop - clientHeight;\n if (distanceToBottom <= scrollEndThreshold) {\n (onRowsScrollEnd as () => void)();\n }\n };\n\n node.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n node.removeEventListener('scroll', handleScroll);\n };\n }, [isMobile, onRowsScrollEnd, scrollEndThreshold, rows.length]);\n\n const showSearch = !!onSearch;\n const showAdd = !!onAdd;\n const showActions = !!actions;\n const showMoreActions = !!moreActions;\n const showHeaderMoreActions = isMobile && showMoreActions;\n const showTopbarMoreActions = !isMobile && showMoreActions;\n const showActionsContainer = showActions || showAdd || showHeaderMoreActions;\n const showTopbar =\n showTopbarMoreActions ||\n showSearch ||\n showColumnButton ||\n !!filterButton ||\n !isMobile;\n\n const FooterComponent = useCallback(() => {\n if (onPaginationChange) {\n return (\n <DesktopFooter\n rowCount={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPaginationChange={onPaginationChange}\n />\n );\n }\n\n return null;\n }, [rowCount, paginationModel, onPaginationChange]);\n\n const dataGridSlots: DataGridSlotsProps = useMemo(\n () => ({\n ...slots,\n footer: FooterComponent as unknown as DataGridSlotsProps['footer'],\n ...(showColumnButton &&\n !slots?.toolbar && {\n toolbar: Toolbar as unknown as DataGridSlotsProps['toolbar'],\n }),\n }),\n [slots, FooterComponent, showColumnButton],\n );\n\n return (\n <Container\n key={loading ? 'loading' : 'data'}\n breakpoint={breakpoint}\n {...containerProps}\n flex={loading ? 1 : undefined}\n minHeight={loading || rows.length === 0 ? 562 : undefined}\n >\n {header ? (\n <Stack p={3} {...headerProps}>\n {header}\n </Stack>\n ) : (\n <>\n <Header breakpoint={breakpoint}>\n <Typography variant=\"overline\" color=\"text.secondary\" noWrap>\n {title}\n </Typography>\n\n {showActionsContainer && (\n <ActionsContainer breakpoint={breakpoint}>\n {showActions && actions}\n\n {showAdd && (\n <>\n {showActions && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n startIcon={<Icon icon=\"SIMPLE_ADD\" />}\n variant=\"contained\"\n onClick={onAdd}\n >\n Adicionar\n </Button>\n </>\n )}\n\n {showHeaderMoreActions && (\n <>\n {(showActions || showAdd) && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n </>\n )}\n </ActionsContainer>\n )}\n </Header>\n\n {showTopbar && (\n <Topbar breakpoint={breakpoint}>\n <Stack\n flex={1}\n direction=\"row\"\n alignItems=\"center\"\n id={DATAGRID_ACTIONS}\n gap={0.5}\n >\n {showMoreActions && (\n <>\n {showTopbarMoreActions && (\n <>\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n\n {!isMobile && (\n <ToolbarActionsDivider\n orientation=\"vertical\"\n flexItem\n />\n )}\n </>\n )}\n\n {(showTopbarMoreActions || showHeaderMoreActions) && (\n <MenuPopover\n open={popover.open}\n anchorEl={popover.open}\n onClose={popover.onClose}\n sx={{\n minWidth: 160,\n }}\n disabledArrow={true}\n >\n <EnhancedMoreActions onClose={popover.onClose}>\n {moreActions}\n </EnhancedMoreActions>\n </MenuPopover>\n )}\n </>\n )}\n\n {!isMobile && filterButton && (\n <>\n {filterButton}\n\n {showTopbarMoreActions && (\n <ToolbarActionsDivider orientation=\"vertical\" flexItem />\n )}\n </>\n )}\n </Stack>\n\n {showSearch && (\n <SearchContainer breakpoint={breakpoint}>\n <SearchInput\n value={searchValue}\n placeholder=\"Buscar\"\n onSearch={onSearch}\n onChange={e => onSearchChange?.(e.target.value)}\n size=\"small\"\n fullWidth\n iconPosition=\"start\"\n />\n {isMobile && filterButton && (\n <Stack ml={1}>{filterButton}</Stack>\n )}\n </SearchContainer>\n )}\n </Topbar>\n )}\n\n {activeFilters && activeFilters}\n\n {!showTopbar && <Divider sx={{ mt: 2 }} />}\n </>\n )}\n\n {isMobile ? (\n <Result\n isFetching={fetching}\n fetching={<FixedProgressBar />}\n isLoading={loading}\n loading={<CircularProgress sx={{ m: '160px auto' }} />}\n isEmpty={rows.length === 0}\n empty={\n <Stack flex={1} direction=\"column\" {...mobileSlotsProps}>\n {mobileSlots && mobileSlots}\n\n <Stack flex={1} alignItems=\"center\" justifyContent=\"center\">\n {slots?.noRowsOverlay ? (\n <slots.noRowsOverlay />\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Nenhum registro encontrado\n </Typography>\n )}\n </Stack>\n </Stack>\n }\n >\n <Stack\n direction=\"column\"\n flex={1}\n minHeight={0}\n {...mobileSlotsProps}\n >\n {mobileSlots && mobileSlots}\n\n <Scrollbar fillContent ref={scrollableNodeRef}>\n {rows.map(row => (\n <Fragment key={row.id}>\n {mobileRender(row)}\n </Fragment>\n ))}\n </Scrollbar>\n </Stack>\n\n {!hideFooter && onPaginationChange && (\n <MobilePaginationContainer>\n <Pagination\n count={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPageChange={newPage =>\n onPaginationChange?.(newPage, paginationModel.pageSize)\n }\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange?.(paginationModel.page, newRowsPerPage)\n }\n />\n </MobilePaginationContainer>\n )}\n </Result>\n ) : (\n <DataGrid\n columns={columns}\n rows={rows}\n slots={dataGridSlots}\n slotProps={{\n panel: { anchorEl: filterButtonEl },\n toolbar: {\n setFilterButtonEl,\n showQuickFilter: true,\n } as unknown as GridSlotsComponentsProps['toolbar'],\n ...slotProps,\n }}\n columnHeaderHeight={48}\n getRowHeight={() => 68}\n loading={loading}\n fetching={fetching}\n hideFooter={hideFooter}\n onRowsScrollEnd={onRowsScrollEnd}\n scrollEndThreshold={scrollEndThreshold}\n {...others}\n />\n )}\n\n {fetchingNextPage && <LinearProgress />}\n </Container>\n );\n};\n\nexport default memo(DataViewComponent, isEqual) as typeof DataViewComponent;\nexport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DesktopFooter,\n EnhancedMoreActions,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n Toolbar,\n ToolbarActionsDivider,\n Topbar,\n};\n","export const DATAGRID_ACTIONS = 'datagrid-actions';\n","import { memo } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Pagination from './Pagination';\nimport { DesktopFooterProps } from './props';\nimport { DesktopPaginationContainer } from './styles';\n\nconst DesktopFooter = ({\n rowCount,\n page,\n rowsPerPage,\n onPaginationChange,\n}: DesktopFooterProps) => {\n return (\n <DesktopPaginationContainer>\n <Stack direction=\"row\" alignItems=\"center\" gap={0.5}>\n <Typography variant=\"body2\" color=\"text.disabled\">\n Total de itens:\n </Typography>\n <Typography variant=\"body2\">{rowCount}</Typography>\n </Stack>\n\n <Pagination\n count={rowCount}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={newPage => onPaginationChange(newPage, rowsPerPage)}\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(page, newRowsPerPage)\n }\n />\n </DesktopPaginationContainer>\n );\n};\n\nexport default memo(DesktopFooter);\n","import {\n Children,\n cloneElement,\n isValidElement,\n memo,\n ReactElement,\n ReactNode,\n} from 'react';\n\nimport { EnhancedMoreActionsProps } from './props';\n\nconst createEnhanceMoreActions = (\n children: ReactNode,\n onClose: () => void,\n): ReactNode => {\n return Children.map(children, child => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const originalOnClick = (\n child.props as { onClick?: (...args: unknown[]) => void }\n ).onClick;\n\n const enhancedProps: {\n onClick?: (...args: unknown[]) => void;\n children?: ReactNode;\n } = {};\n\n enhancedProps.onClick = (...args: unknown[]) => {\n onClose();\n if (originalOnClick) {\n originalOnClick(...args);\n }\n };\n\n const childProps = child.props as { children?: ReactNode };\n if (childProps?.children) {\n enhancedProps.children = createEnhanceMoreActions(\n childProps.children,\n onClose,\n );\n }\n\n return cloneElement(child as ReactElement, enhancedProps);\n });\n};\n\nconst EnhancedMoreActions = ({\n children,\n onClose,\n}: EnhancedMoreActionsProps) => {\n if (!children) return null;\n return createEnhanceMoreActions(children, onClose);\n};\n\nexport default memo(EnhancedMoreActions);\n","import { forwardRef, useCallback } from 'react';\nimport Button, { ButtonProps } from '@mui/material/Button';\nimport { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';\n\nimport Icon from 'components/Icon';\nimport Portal from 'components/Portal';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport { ToolbarProps } from './props';\n\nconst ColumnsButton = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, ...props }, ref) => (\n <Button\n {...props}\n ref={ref}\n color=\"inherit\"\n startIcon={<Icon icon=\"COLUMNS\" />}\n >\n {children ?? 'Colunas'}\n </Button>\n ),\n);\n\nColumnsButton.displayName = 'ColumnsButton';\n\nconst Toolbar = ({ setFilterButtonEl }: ToolbarProps) => {\n const handleColumnsButtonRef = useCallback(\n (button: HTMLButtonElement | null) => {\n setFilterButtonEl(button);\n },\n [setFilterButtonEl],\n );\n\n return (\n <Portal container={DATAGRID_ACTIONS}>\n <GridToolbarColumnsButton\n ref={handleColumnsButtonRef}\n slotProps={{\n button: {\n color: 'inherit',\n startIcon: <Icon icon=\"COLUMNS\" />,\n children: 'Colunas',\n },\n }}\n />\n </Portal>\n );\n};\n\nexport default Toolbar;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-
|
|
1
|
+
export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-QTGORIGL.js';
|
|
2
2
|
import '../../chunk-MC44LVZD.js';
|
|
3
3
|
import '../../chunk-IJZCVZ32.js';
|
|
4
4
|
import '../../chunk-IDFJFFIV.js';
|
|
@@ -3,7 +3,7 @@ export { a as FilterOperator, b as SortType } from '../../chunk-VL4W63YA.js';
|
|
|
3
3
|
import { a as a$1 } from '../../chunk-LG2B5RFV.js';
|
|
4
4
|
import { d, c } from '../../chunk-N7IK5EUP.js';
|
|
5
5
|
import { h, a as a$3 } from '../../chunk-OF6623HG.js';
|
|
6
|
-
import { d as d$1 } from '../../chunk-
|
|
6
|
+
import { d as d$1 } from '../../chunk-QTGORIGL.js';
|
|
7
7
|
import '../../chunk-MC44LVZD.js';
|
|
8
8
|
import '../../chunk-IJZCVZ32.js';
|
|
9
9
|
import '../../chunk-IDFJFFIV.js';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Fragment } from 'react';
|
|
2
|
+
import i from '@mui/material/Stack';
|
|
2
3
|
import { styled } from '@mui/material/styles';
|
|
3
4
|
import a from '@mui/material/Typography';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
6
|
|
|
6
|
-
var l=styled(
|
|
7
|
+
var l=styled(i)({display:"grid",gridTemplateColumns:"auto auto"}),p=styled(a)(({theme:r})=>({color:r.palette.grey[600],display:"flex",gap:"8px",alignItems:"center"})),m=styled(a)(({theme:r})=>({textAlign:"right",color:r.palette.grey[800]}));var g=({data:r,...n})=>r.length===0?null:jsx(l,{gap:1,...n,children:r.map(e=>jsxs(Fragment,{children:[jsx(p,{...e.keyProps,children:e.label}),jsx(m,{variant:"body2",...e.valueProps,children:e.value})]},e.id))}),P=g;
|
|
7
8
|
|
|
8
|
-
export {
|
|
9
|
+
export { P as default };
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Summary/
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Summary/index.tsx","../../../src/components/Summary/styles.ts"],"names":["Fragment","Stack","styled","Typography","Container","Label","theme","Value","jsx","jsxs","Summary","data","other","d","Summary_default"],"mappings":"AAAA,OAAS,YAAAA,MAAgB,QCAzB,OAAOC,MAAW,sBAClB,OAAS,UAAAC,MAAc,uBACvB,OAAOC,MAAgB,2BAEhB,IAAMC,EAAYF,EAAOD,CAAK,EAAE,CACrC,QAAS,OACT,oBAAqB,WACvB,CAAC,EAEYI,EAAQH,EAAOC,CAAU,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CACtD,MAAOA,EAAM,QAAQ,KAAK,GAAG,EAC7B,QAAS,OACT,IAAK,MACL,WAAY,QACd,EAAE,EAEWC,EAAQL,EAAOC,CAAU,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CACtD,UAAW,QACX,MAAOA,EAAM,QAAQ,KAAK,GAAG,CAC/B,EAAE,EDRM,OACE,OAAAE,EADF,QAAAC,MAAA,oBANR,IAAMC,EAAU,CAAC,CAAE,KAAAC,EAAM,GAAGC,CAAM,IAC5BD,EAAK,SAAW,EAAU,KAG5BH,EAACJ,EAAA,CAAU,IAAK,EAAI,GAAGQ,EACpB,SAAAD,EAAK,IAAIE,GACRJ,EAACT,EAAA,CACC,UAAAQ,EAACH,EAAA,CAAO,GAAGQ,EAAE,SAAW,SAAAA,EAAE,MAAM,EAChCL,EAACD,EAAA,CAAM,QAAQ,QAAS,GAAGM,EAAE,WAC1B,SAAAA,EAAE,MACL,IAJaA,EAAE,EAKjB,CACD,EACH,EAIGC,EAAQJ","sourcesContent":["import { Fragment } from 'react';\n\nimport { SummaryProps } from './props';\nimport { Container, Label, Value } from './styles';\n\nconst Summary = ({ data, ...other }: SummaryProps) => {\n if (data.length === 0) return null;\n\n return (\n <Container gap={1} {...other}>\n {data.map(d => (\n <Fragment key={d.id}>\n <Label {...d.keyProps}>{d.label}</Label>\n <Value variant=\"body2\" {...d.valueProps}>\n {d.value}\n </Value>\n </Fragment>\n ))}\n </Container>\n );\n};\n\nexport default Summary;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nexport const Container = styled(Stack)({\n display: 'grid',\n gridTemplateColumns: 'auto auto',\n});\n\nexport const Label = styled(Typography)(({ theme }) => ({\n color: theme.palette.grey[600],\n display: 'flex',\n gap: '8px',\n alignItems: 'center',\n}));\n\nexport const Value = styled(Typography)(({ theme }) => ({\n textAlign: 'right',\n color: theme.palette.grey[800],\n}));\n"]}
|
|
@@ -4,6 +4,6 @@ import '@mui/material/Stack';
|
|
|
4
4
|
import '../../../types/baseField.js';
|
|
5
5
|
import 'react-hook-form';
|
|
6
6
|
|
|
7
|
-
declare const Address: ({ name, containerProps, required, rules, tabIndex, }: AddressProps) => react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare const Address: ({ name, containerProps, required, rules, tabIndex, onZipCodeChange, }: AddressProps) => react_jsx_runtime.JSX.Element;
|
|
8
8
|
|
|
9
9
|
export { Address as default };
|
|
@@ -5,12 +5,12 @@ import { a as a$3 } from '../../../chunk-UB3AKGVA.js';
|
|
|
5
5
|
import '../../../chunk-HELCCAF2.js';
|
|
6
6
|
import '../../../chunk-ET6H3IRG.js';
|
|
7
7
|
import '../../../chunk-ICEDOBLM.js';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
8
|
+
import C from '@mui/material/CircularProgress';
|
|
9
|
+
import E from '@mui/material/InputAdornment';
|
|
10
10
|
import a from '@mui/material/Stack';
|
|
11
11
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var D=({name:t,containerProps:l,required:i,rules:c,tabIndex:e,onZipCodeChange:x})=>{let u=`${t}.zipCode`,f=`${t}.publicPlace`,w=`${t}.number`,h=`${t}.district`,P=`${t}.complement`,b=`${t}.state`,g=`${t}.city`,r=m=>{m.key==="Enter"&&m.preventDefault();};return jsxs(a,{gap:1.5,...l,children:[jsxs(a,{direction:{xs:"column",md:"row"},gap:1.5,flexWrap:"wrap",children:[jsx(a$1,{name:u,label:"CEP",mask:[{mask:"00000-000"}],InputProps:{endAdornment:jsx(E,{position:"end",children:jsx(C,{size:24})})},rules:c,onKeyDown:r,required:i,sx:{width:"auto",flex:1,minWidth:160},tabIndex:e,onChange:x}),jsxs(a,{direction:{xs:"column",sm:"row"},gap:1.5,flex:{xs:1,md:"1 1 50%"},children:[jsx(a$2,{name:f,label:"Logradouro",onKeyDown:r,inputProps:{maxLength:70},sx:{width:"auto",minWidth:250,flex:1},tabIndex:e}),jsx(a$2,{name:w,label:"N\xFAmero",onKeyDown:r,inputProps:{maxLength:6},sx:{width:"auto",minWidth:100},tabIndex:e})]})]}),jsxs(a,{direction:{xs:"column",md:"row"},gap:1.5,flexWrap:"wrap",children:[jsx(a$2,{name:h,label:"Bairro",onKeyDown:r,inputProps:{maxLength:20},sx:{width:"auto",flex:{xs:1,md:"1 1 100px"}},tabIndex:e}),jsx(a$2,{name:P,label:"Complemento",onKeyDown:r,inputProps:{maxLength:30},sx:{minWidth:200,width:"auto",flex:{xs:1,md:"1 1 500px"}},tabIndex:e})]}),jsxs(a,{gap:1.5,flexWrap:"wrap",direction:{xs:"column",sm:"row"},children:[jsx(a$3,{name:b,label:"Estado",options:[],disabled:!0,required:i,sx:{flex:1},tabIndex:e}),jsx(a$2,{name:g,label:"Cidade",disabled:!0,required:i,sx:{flex:1},tabIndex:e})]})]})},K=D;
|
|
14
14
|
|
|
15
|
-
export {
|
|
15
|
+
export { K as default };
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/Address/index.tsx"],"names":["CircularProgress","InputAdornment","Stack","jsx","jsxs","Address","name","containerProps","required","rules","tabIndex","ZIP_CODE_FIELD","PUBLIC_PLACE","NUMBER","DISTRICT","COMPLEMENT","STATE","CITY","handleKeyDown","e","MaskedInput_default","Field_default","Autocomplete_default","Address_default"],"mappings":"yRACA,OAAOA,MAAsB,iCAC7B,OAAOC,MAAoB,+BAC3B,OAAOC,MAAW,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Address/index.tsx"],"names":["CircularProgress","InputAdornment","Stack","jsx","jsxs","Address","name","containerProps","required","rules","tabIndex","onZipCodeChange","ZIP_CODE_FIELD","PUBLIC_PLACE","NUMBER","DISTRICT","COMPLEMENT","STATE","CITY","handleKeyDown","e","MaskedInput_default","Field_default","Autocomplete_default","Address_default"],"mappings":"yRACA,OAAOA,MAAsB,iCAC7B,OAAOC,MAAoB,+BAC3B,OAAOC,MAAW,sBAiDF,cAAAC,EAgBR,QAAAC,MAhBQ,oBAzChB,IAAMC,EAAU,CAAC,CACf,KAAAC,EACA,eAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,gBAAAC,CACF,IAAoB,CAClB,IAAMC,EAAiB,GAAGN,YACpBO,EAAe,GAAGP,gBAClBQ,EAAS,GAAGR,WACZS,EAAW,GAAGT,aACdU,EAAa,GAAGV,eAChBW,EAAQ,GAAGX,UACXY,EAAO,GAAGZ,SAEVa,EAAiBC,GAA2C,CAC5DA,EAAE,MAAQ,SAASA,EAAE,eAAe,CAC1C,EAEA,OACEhB,EAACF,EAAA,CAAM,IAAK,IAAM,GAAGK,EACnB,UAAAH,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,SAAS,OAET,UAAAC,EAACkB,EAAA,CACC,KAAMT,EACN,MAAM,MACN,KAAM,CACJ,CACE,KAAM,WACR,CACF,EACA,WAAY,CACV,aACET,EAACF,EAAA,CAAe,SAAS,MACvB,SAAAE,EAACH,EAAA,CAAiB,KAAM,GAAI,EAC9B,CAEJ,EACA,MAAOS,EACP,UAAWU,EACX,SAAUX,EACV,GAAI,CACF,MAAO,OACP,KAAM,EACN,SAAU,GACZ,EACA,SAAUE,EACV,SAAUC,EACZ,EAEAP,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,KAAM,CACJ,GAAI,EACJ,GAAI,SACN,EAEA,UAAAC,EAACmB,EAAA,CACC,KAAMT,EACN,MAAM,aACN,UAAWM,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,MAAO,OACP,SAAU,IACV,KAAM,CACR,EACA,SAAUT,EACZ,EAEAP,EAACmB,EAAA,CACC,KAAMR,EACN,MAAM,YACN,UAAWK,EACX,WAAY,CAAE,UAAW,CAAE,EAC3B,GAAI,CACF,MAAO,OACP,SAAU,GACZ,EACA,SAAUT,EACZ,GACF,GACF,EAEAN,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,SAAS,OAET,UAAAC,EAACmB,EAAA,CACC,KAAMP,EACN,MAAM,SACN,UAAWI,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,MAAO,OACP,KAAM,CACJ,GAAI,EACJ,GAAI,WACN,CACF,EACA,SAAUT,EACZ,EAEAP,EAACmB,EAAA,CACC,KAAMN,EACN,MAAM,cACN,UAAWG,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,SAAU,IACV,MAAO,OACP,KAAM,CACJ,GAAI,EACJ,GAAI,WACN,CACF,EACA,SAAUT,EACZ,GACF,EAEAN,EAACF,EAAA,CACC,IAAK,IACL,SAAS,OACT,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EAEA,UAAAC,EAACoB,EAAA,CACC,KAAMN,EACN,MAAM,SACN,QAAS,CAAC,EACV,SAAQ,GACR,SAAUT,EACV,GAAI,CAAE,KAAM,CAAE,EACd,SAAUE,EACZ,EAEAP,EAACmB,EAAA,CACC,KAAMJ,EACN,MAAM,SACN,SAAQ,GACR,SAAUV,EACV,GAAI,CAAE,KAAM,CAAE,EACd,SAAUE,EACZ,GACF,GACF,CAEJ,EAEOc,EAAQnB","sourcesContent":["import React from 'react';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\n\nimport { AddressProps } from 'types/addressProps';\n\nimport Autocomplete from '../Autocomplete';\nimport Field from '../Field';\nimport MaskedInput from '../MaskedInput';\n\nconst Address = ({\n name,\n containerProps,\n required,\n rules,\n tabIndex,\n onZipCodeChange,\n}: AddressProps) => {\n const ZIP_CODE_FIELD = `${name}.zipCode`;\n const PUBLIC_PLACE = `${name}.publicPlace`;\n const NUMBER = `${name}.number`;\n const DISTRICT = `${name}.district`;\n const COMPLEMENT = `${name}.complement`;\n const STATE = `${name}.state`;\n const CITY = `${name}.city`;\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') e.preventDefault();\n };\n\n return (\n <Stack gap={1.5} {...containerProps}>\n <Stack\n direction={{\n xs: 'column',\n md: 'row',\n }}\n gap={1.5}\n flexWrap=\"wrap\"\n >\n <MaskedInput\n name={ZIP_CODE_FIELD}\n label=\"CEP\"\n mask={[\n {\n mask: '00000-000',\n },\n ]}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <CircularProgress size={24} />\n </InputAdornment>\n ),\n }}\n rules={rules}\n onKeyDown={handleKeyDown}\n required={required}\n sx={{\n width: 'auto',\n flex: 1,\n minWidth: 160,\n }}\n tabIndex={tabIndex}\n onChange={onZipCodeChange}\n />\n\n <Stack\n direction={{\n xs: 'column',\n sm: 'row',\n }}\n gap={1.5}\n flex={{\n xs: 1,\n md: '1 1 50%',\n }}\n >\n <Field\n name={PUBLIC_PLACE}\n label=\"Logradouro\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 70 }}\n sx={{\n width: 'auto',\n minWidth: 250,\n flex: 1,\n }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={NUMBER}\n label=\"Número\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 6 }}\n sx={{\n width: 'auto',\n minWidth: 100,\n }}\n tabIndex={tabIndex}\n />\n </Stack>\n </Stack>\n\n <Stack\n direction={{\n xs: 'column',\n md: 'row',\n }}\n gap={1.5}\n flexWrap=\"wrap\"\n >\n <Field\n name={DISTRICT}\n label=\"Bairro\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 20 }}\n sx={{\n width: 'auto',\n flex: {\n xs: 1,\n md: '1 1 100px',\n },\n }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={COMPLEMENT}\n label=\"Complemento\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 30 }}\n sx={{\n minWidth: 200,\n width: 'auto',\n flex: {\n xs: 1,\n md: '1 1 500px',\n },\n }}\n tabIndex={tabIndex}\n />\n </Stack>\n\n <Stack\n gap={1.5}\n flexWrap=\"wrap\"\n direction={{\n xs: 'column',\n sm: 'row',\n }}\n >\n <Autocomplete\n name={STATE}\n label=\"Estado\"\n options={[]}\n disabled\n required={required}\n sx={{ flex: 1 }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={CITY}\n label=\"Cidade\"\n disabled\n required={required}\n sx={{ flex: 1 }}\n tabIndex={tabIndex}\n />\n </Stack>\n </Stack>\n );\n};\n\nexport default Address;\n"]}
|
package/package.json
CHANGED
package/dist/chunk-TGEDZBDY.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { a as a$4 } from './chunk-MC44LVZD.js';
|
|
2
|
-
import { a as a$5 } from './chunk-IJZCVZ32.js';
|
|
3
|
-
import { a as a$8 } from './chunk-IDFJFFIV.js';
|
|
4
|
-
import { a as a$6 } from './chunk-6U5LS7MP.js';
|
|
5
|
-
import { i, j, a as a$2, b as b$2, c, d, f, e, g, h as h$1 } from './chunk-2W54CJ6E.js';
|
|
6
|
-
import { a as a$7 } from './chunk-F65ZXAGV.js';
|
|
7
|
-
import { a as a$9 } from './chunk-I4PPSW36.js';
|
|
8
|
-
import { a as a$3 } from './chunk-CO2KQFUN.js';
|
|
9
|
-
import { a } from './chunk-ET6H3IRG.js';
|
|
10
|
-
import { a as a$1 } from './chunk-LQRRMVFN.js';
|
|
11
|
-
import { b as b$1 } from './chunk-RPO7AI5K.js';
|
|
12
|
-
import { memo, forwardRef, useState, useRef, useEffect, useCallback, useMemo, Children, isValidElement, cloneElement } from 'react';
|
|
13
|
-
import jo from 'react-fast-compare';
|
|
14
|
-
import H from '@mui/material/Button';
|
|
15
|
-
import ot from '@mui/material/CircularProgress';
|
|
16
|
-
import tt from '@mui/material/Divider';
|
|
17
|
-
import rt from '@mui/material/LinearProgress';
|
|
18
|
-
import h from '@mui/material/Stack';
|
|
19
|
-
import mo from '@mui/material/Typography';
|
|
20
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
21
|
-
import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
|
|
22
|
-
|
|
23
|
-
var b="datagrid-actions";var Ho=({rowCount:r,page:e,rowsPerPage:n,onPaginationChange:i$1})=>jsxs(i,{children:[jsxs(h,{direction:"row",alignItems:"center",gap:.5,children:[jsx(mo,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(mo,{variant:"body2",children:r})]}),jsx(j,{count:r,page:e,rowsPerPage:n,onPageChange:s=>i$1(s,n),onRowsPerPageChange:s=>i$1(e,s)})]}),uo=memo(Ho);var ho=(r,e)=>Children.map(r,n=>{if(!isValidElement(n))return n;let i=n.props.onClick,s={};s.onClick=(...d)=>{e(),i&&i(...d);};let l=n.props;return l?.children&&(s.children=ho(l.children,e)),cloneElement(n,s)}),zo=({children:r,onClose:e})=>r?ho(r,e):null,go=memo(zo);var qo=forwardRef(({children:r,...e},n)=>jsx(H,{...e,ref:n,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:r??"Colunas"}));qo.displayName="ColumnsButton";var Qo=({setFilterButtonEl:r})=>{let e=useCallback(n=>{r(n);},[r]);return jsx(a$9,{container:b,children:jsx(GridToolbarColumnsButton,{ref:e,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},Co=Qo;var et=({title:r,header:e$1,headerProps:n,breakpoint:i="md",columns:s,rows:l=[],mobileSlots:d$1,mobileSlotsProps:O,mobileRender:ko,rowCount:w=0,paginationModel:p={page:0,pageSize:25},onPaginationChange:f$1,actions:L,moreActions:N,onAdd:V,onSearch:z,searchValue:To,onSearchChange:vo,slots:C,slotProps:Do,loading:P,fetching:F,fetchingNextPage:So,containerProps:Ao={height:562,maxHeight:562},hideFooter:_,showColumnButton:y=!1,filterButton:k,activeFilters:W,onRowsScrollEnd:v,scrollEndThreshold:R=200,...bo})=>{let u=a$1(),c$1=b$1("down",i),[wo,yo]=useState(null),U=useRef(null);useEffect(()=>{let a=U.current;if(!a||!c$1||!v)return;let K=()=>{let{scrollTop:xo,scrollHeight:Eo,clientHeight:Io}=a;Eo-xo-Io<=R&&v();};return a.addEventListener("scroll",K,{passive:!0}),()=>{a.removeEventListener("scroll",K);}},[c$1,v,R,l.length]);let q=!!z,M=!!V,D=!!L,x=!!N,E=c$1&&x,S=!c$1&&x,Ro=D||M||E,Q=S||q||y||!!k||!c$1,J=useCallback(()=>f$1?jsx(uo,{rowCount:w,page:p.page,rowsPerPage:p.pageSize,onPaginationChange:f$1}):null,[w,p,f$1]),Mo=useMemo(()=>({...C,footer:J,...y&&!C?.toolbar&&{toolbar:Co}}),[C,J,y]);return jsxs(a$2,{breakpoint:i,...Ao,flex:P?1:void 0,minHeight:P||l.length===0?562:void 0,children:[e$1?jsx(h,{p:3,...n,children:e$1}):jsxs(Fragment,{children:[jsxs(b$2,{breakpoint:i,children:[jsx(mo,{variant:"overline",color:"text.secondary",noWrap:!0,children:r}),Ro&&jsxs(c,{breakpoint:i,children:[D&&L,M&&jsxs(Fragment,{children:[D&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(H,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:V,children:"Adicionar"})]}),E&&jsxs(Fragment,{children:[(D||M)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(H,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:u.onOpen,children:"Mais"})]})]})]}),Q&&jsxs(f,{breakpoint:i,children:[jsxs(h,{flex:1,direction:"row",alignItems:"center",id:b,gap:.5,children:[x&&jsxs(Fragment,{children:[S&&jsxs(Fragment,{children:[jsx(H,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:u.onOpen,children:"Mais"}),!c$1&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(S||E)&&jsx(a$3,{open:u.open,anchorEl:u.open,onClose:u.onClose,sx:{minWidth:160},disabledArrow:!0,children:jsx(go,{onClose:u.onClose,children:N})})]}),!c$1&&k&&jsxs(Fragment,{children:[k,S&&jsx(e,{orientation:"vertical",flexItem:!0})]})]}),q&&jsxs(g,{breakpoint:i,children:[jsx(a$4,{value:To,placeholder:"Buscar",onSearch:z,onChange:a=>vo?.(a.target.value),size:"small",fullWidth:!0,iconPosition:"start"}),c$1&&k&&jsx(h,{ml:1,children:k})]})]}),W&&W,!Q&&jsx(tt,{sx:{mt:2}})]}),c$1?jsxs(a$5,{isFetching:F,fetching:jsx(a$6,{}),isLoading:P,loading:jsx(ot,{sx:{m:"160px auto"}}),isEmpty:l.length===0,empty:jsxs(h,{flex:1,direction:"column",...O,children:[d$1&&d$1,jsx(h,{flex:1,alignItems:"center",justifyContent:"center",children:C?.noRowsOverlay?jsx(C.noRowsOverlay,{}):jsx(mo,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})})]}),children:[jsxs(h,{direction:"column",flex:1,minHeight:0,...O,children:[d$1&&d$1,jsx(a$7,{fillContent:!0,ref:U,children:l.map(a=>ko(a))})]}),!_&&f$1&&jsx(h$1,{children:jsx(j,{count:w,page:p.page,rowsPerPage:p.pageSize,onPageChange:a=>f$1?.(a,p.pageSize),onRowsPerPageChange:a=>f$1?.(p.page,a)})})]}):jsx(a$8,{columns:s,rows:l,slots:Mo,slotProps:{panel:{anchorEl:wo},toolbar:{setFilterButtonEl:yo,showQuickFilter:!0},...Do},columnHeaderHeight:48,getRowHeight:()=>68,loading:P,fetching:F,hideFooter:_,onRowsScrollEnd:v,scrollEndThreshold:R,...bo}),So&&jsx(rt,{})]},P?"loading":"data")},Xt=memo(et,jo);
|
|
24
|
-
|
|
25
|
-
export { uo as a, go as b, Co as c, Xt as d };
|
|
26
|
-
//# sourceMappingURL=chunk-TGEDZBDY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DataView/index.tsx","../src/components/DataView/contants.ts","../src/components/DataView/DesktopFooter.tsx","../src/components/DataView/EnhancedMoreActions.tsx","../src/components/DataView/Toolbar.tsx"],"names":["memo","useCallback","useEffect","useMemo","useRef","useState","isEqual","Button","CircularProgress","Divider","LinearProgress","Stack","Typography","DATAGRID_ACTIONS","jsx","jsxs","DesktopFooter","rowCount","page","rowsPerPage","onPaginationChange","DesktopPaginationContainer","Pagination_default","newPage","newRowsPerPage","DesktopFooter_default","Children","cloneElement","isValidElement","createEnhanceMoreActions","children","onClose","child","originalOnClick","enhancedProps","args","childProps","EnhancedMoreActions","EnhancedMoreActions_default","forwardRef","GridToolbarColumnsButton","ColumnsButton","props","ref","Icon_default","Toolbar","setFilterButtonEl","handleColumnsButtonRef","button","Portal_default","Toolbar_default","Fragment","DataViewComponent","title","header","headerProps","breakpoint","columns","rows","mobileSlots","mobileSlotsProps","mobileRender","paginationModel","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","fetchingNextPage","containerProps","hideFooter","showColumnButton","filterButton","activeFilters","onRowsScrollEnd","scrollEndThreshold","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","scrollableNodeRef","node","handleScroll","scrollTop","scrollHeight","clientHeight","showSearch","showAdd","showActions","showMoreActions","showHeaderMoreActions","showTopbarMoreActions","showActionsContainer","showTopbar","FooterComponent","dataGridSlots","Container","Header","ActionsContainer","ActionsDivider","Topbar","ToolbarActionsDivider","MenuPopover_default","SearchContainer","SearchInput_default","e","Result_default","FixedProgressBar_default","Scrollbar_default","row","MobilePaginationContainer","DataGrid_default","DataView_default"],"mappings":"kgBAAA,OAAS,QAAAA,GAAM,eAAAC,GAAa,aAAAC,GAAW,WAAAC,GAAS,UAAAC,GAAQ,YAAAC,OAAgB,QACxE,OAAOC,OAAa,qBACpB,OAAOC,MAAY,uBACnB,OAAOC,OAAsB,iCAC7B,OAAOC,OAAa,wBACpB,OAAOC,OAAoB,+BAC3B,OAAOC,MAAW,sBAClB,OAAOC,OAAgB,2BCPhB,IAAMC,EAAmB,mBCAhC,OAAS,QAAAb,OAAY,QACrB,OAAOW,OAAW,sBAClB,OAAOC,OAAgB,2BAcjB,OACE,OAAAE,EADF,QAAAC,OAAA,oBARN,IAAMC,GAAgB,CAAC,CACrB,SAAAC,EACA,KAAAC,EACA,YAAAC,EACA,mBAAAC,CACF,IAEIL,GAACM,GAAA,CACC,UAAAN,GAACJ,GAAA,CAAM,UAAU,MAAM,WAAW,SAAS,IAAK,GAC9C,UAAAG,EAACF,GAAA,CAAW,QAAQ,QAAQ,MAAM,gBAAgB,2BAElD,EACAE,EAACF,GAAA,CAAW,QAAQ,QAAS,SAAAK,EAAS,GACxC,EAEAH,EAACQ,EAAA,CACC,MAAOL,EACP,KAAMC,EACN,YAAaC,EACb,aAAcI,GAAWH,EAAmBG,EAASJ,CAAW,EAChE,oBAAqBK,GACnBJ,EAAmBF,EAAMM,CAAc,EAE3C,GACF,EAIGC,GAAQzB,GAAKgB,EAAa,ECpCjC,OACE,YAAAU,GACA,gBAAAC,GACA,kBAAAC,GACA,QAAA5B,OAGK,QAIP,IAAM6B,GAA2B,CAC/BC,EACAC,IAEOL,GAAS,IAAII,EAAUE,GAAS,CACrC,GAAI,CAACJ,GAAeI,CAAK,EACvB,OAAOA,EAGT,IAAMC,EACJD,EAAM,MACN,QAEIE,EAGF,CAAC,EAELA,EAAc,QAAU,IAAIC,IAAoB,CAC9CJ,EAAQ,EACJE,GACFA,EAAgB,GAAGE,CAAI,CAE3B,EAEA,IAAMC,EAAaJ,EAAM,MACzB,OAAII,GAAY,WACdF,EAAc,SAAWL,GACvBO,EAAW,SACXL,CACF,GAGKJ,GAAaK,EAAuBE,CAAa,CAC1D,CAAC,EAGGG,GAAsB,CAAC,CAC3B,SAAAP,EACA,QAAAC,CACF,IACOD,EACED,GAAyBC,EAAUC,CAAO,EAD3B,KAIjBO,GAAQtC,GAAKqC,EAAmB,ECxDvC,OAAS,cAAAE,GAAY,eAAAtC,OAAmB,QACxC,OAAOM,OAA6B,uBACpC,OAAS,4BAAAiC,OAAgC,2BAcxB,cAAA1B,MAAA,oBANjB,IAAM2B,GAAgBF,GACpB,CAAC,CAAE,SAAAT,EAAU,GAAGY,CAAM,EAAGC,IACvB7B,EAACP,GAAA,CACE,GAAGmC,EACJ,IAAKC,EACL,MAAM,UACN,UAAW7B,EAAC8B,EAAA,CAAK,KAAK,UAAU,EAE/B,SAAAd,GAAY,UACf,CAEJ,EAEAW,GAAc,YAAc,gBAE5B,IAAMI,GAAU,CAAC,CAAE,kBAAAC,CAAkB,IAAoB,CACvD,IAAMC,EAAyB9C,GAC5B+C,GAAqC,CACpCF,EAAkBE,CAAM,CAC1B,EACA,CAACF,CAAiB,CACpB,EAEA,OACEhC,EAACmC,EAAA,CAAO,UAAWpC,EACjB,SAAAC,EAAC0B,GAAA,CACC,IAAKO,EACL,UAAW,CACT,OAAQ,CACN,MAAO,UACP,UAAWjC,EAAC8B,EAAA,CAAK,KAAK,UAAU,EAChC,SAAU,SACZ,CACF,EACF,EACF,CAEJ,EAEOM,GAAQL,GJmEP,OAgDU,YAAAM,EAhDV,OAAArC,EAgDU,QAAAC,MAhDV,oBA5ER,IAAMqC,GAAoB,CAAkD,CAC1E,MAAAC,EACA,OAAAC,EACA,YAAAC,EACA,WAAAC,EAAa,KACb,QAAAC,EACA,KAAAC,EAAO,CAAC,EACR,YAAAC,EACA,iBAAAC,EACA,aAAAC,GACA,SAAA5C,EAAW,EACX,gBAAA6C,EAAkB,CAAE,KAAM,EAAG,SAAU,EAAG,EAC1C,mBAAA1C,EACA,QAAA2C,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,GACA,eAAAC,GACA,MAAAC,EACA,UAAAC,GACA,QAAAC,EACA,SAAAC,EACA,iBAAAC,GACA,eAAAC,GAAiB,CAAE,OAAQ,IAAK,UAAW,GAAI,EAC/C,WAAAC,EACA,iBAAAC,EAAmB,GACnB,aAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,mBAAAC,EAAqB,IACrB,GAAGC,EACL,IAAwB,CACtB,IAAMC,EAAUC,EAAW,EACrBC,EAAWC,EAAc,OAAQ7B,CAAU,EAC3C,CAAC8B,GAAgBxC,EAAiB,EACtCzC,GAAmC,IAAI,EACnCkF,EAAoBnF,GAA8B,IAAI,EAE5DF,GAAU,IAAM,CACd,IAAMsF,EAAOD,EAAkB,QAE/B,GAAI,CAACC,GAAQ,CAACJ,GAAY,CAACL,EAAiB,OAE5C,IAAMU,EAAe,IAAM,CACzB,GAAM,CAAE,UAAAC,GAAW,aAAAC,GAAc,aAAAC,EAAa,EAAIJ,EACzBG,GAAeD,GAAYE,IAC5BZ,GACrBD,EAA+B,CAEpC,EAEA,OAAAS,EAAK,iBAAiB,SAAUC,EAAc,CAAE,QAAS,EAAK,CAAC,EAExD,IAAM,CACXD,EAAK,oBAAoB,SAAUC,CAAY,CACjD,CACF,EAAG,CAACL,EAAUL,EAAiBC,EAAoBtB,EAAK,MAAM,CAAC,EAE/D,IAAMmC,EAAa,CAAC,CAAC3B,EACf4B,EAAU,CAAC,CAAC7B,EACZ8B,EAAc,CAAC,CAAChC,EAChBiC,EAAkB,CAAC,CAAChC,EACpBiC,EAAwBb,GAAYY,EACpCE,EAAwB,CAACd,GAAYY,EACrCG,GAAuBJ,GAAeD,GAAWG,EACjDG,EACJF,GACAL,GACAjB,GACA,CAAC,CAACC,GACF,CAACO,EAEGiB,EAAkBpG,GAAY,IAC9BmB,EAEAN,EAACW,GAAA,CACC,SAAUR,EACV,KAAM6C,EAAgB,KACtB,YAAaA,EAAgB,SAC7B,mBAAoB1C,EACtB,EAIG,KACN,CAACH,EAAU6C,EAAiB1C,CAAkB,CAAC,EAE5CkF,GAAoCnG,GACxC,KAAO,CACL,GAAGkE,EACH,OAAQgC,EACR,GAAIzB,GACF,CAACP,GAAO,SAAW,CACjB,QAASnB,EACX,CACJ,GACA,CAACmB,EAAOgC,EAAiBzB,CAAgB,CAC3C,EAEA,OACE7D,EAACwF,GAAA,CAEC,WAAY/C,EACX,GAAGkB,GACJ,KAAMH,EAAU,EAAI,OACpB,UAAWA,GAAWb,EAAK,SAAW,EAAI,IAAM,OAE/C,UAAAJ,EACCxC,EAACH,EAAA,CAAM,EAAG,EAAI,GAAG4C,EACd,SAAAD,EACH,EAEAvC,EAAAoC,EAAA,CACE,UAAApC,EAACyF,GAAA,CAAO,WAAYhD,EAClB,UAAA1C,EAACF,GAAA,CAAW,QAAQ,WAAW,MAAM,iBAAiB,OAAM,GACzD,SAAAyC,EACH,EAEC8C,IACCpF,EAAC0F,GAAA,CAAiB,WAAYjD,EAC3B,UAAAuC,GAAehC,EAEf+B,GACC/E,EAAAoC,EAAA,CACG,UAAA4C,GACCjF,EAAC4F,EAAA,CAAe,YAAY,WAAW,SAAQ,GAAC,EAGlD5F,EAACP,EAAA,CACC,UAAWO,EAAC8B,EAAA,CAAK,KAAK,aAAa,EACnC,QAAQ,YACR,QAASqB,EACV,qBAED,GACF,EAGDgC,GACClF,EAAAoC,EAAA,CACI,WAAA4C,GAAeD,IACfhF,EAAC4F,EAAA,CAAe,YAAY,WAAW,SAAQ,GAAC,EAGlD5F,EAACP,EAAA,CACC,MAAM,UACN,UAAWO,EAAC8B,EAAA,CAAK,KAAK,YAAY,EAClC,KAAK,QACL,QAASsC,EAAQ,OAClB,gBAED,GACF,GAEJ,GAEJ,EAECkB,GACCrF,EAAC4F,GAAA,CAAO,WAAYnD,EAClB,UAAAzC,EAACJ,EAAA,CACC,KAAM,EACN,UAAU,MACV,WAAW,SACX,GAAIE,EACJ,IAAK,GAEJ,UAAAmF,GACCjF,EAAAoC,EAAA,CACG,UAAA+C,GACCnF,EAAAoC,EAAA,CACE,UAAArC,EAACP,EAAA,CACC,MAAM,UACN,UAAWO,EAAC8B,EAAA,CAAK,KAAK,YAAY,EAClC,KAAK,QACL,QAASsC,EAAQ,OAClB,gBAED,EAEC,CAACE,GACAtE,EAAC8F,EAAA,CACC,YAAY,WACZ,SAAQ,GACV,GAEJ,GAGAV,GAAyBD,IACzBnF,EAAC+F,EAAA,CACC,KAAM3B,EAAQ,KACd,SAAUA,EAAQ,KAClB,QAASA,EAAQ,QACjB,GAAI,CACF,SAAU,GACZ,EACA,cAAe,GAEf,SAAApE,EAACwB,GAAA,CAAoB,QAAS4C,EAAQ,QACnC,SAAAlB,EACH,EACF,GAEJ,EAGD,CAACoB,GAAYP,GACZ9D,EAAAoC,EAAA,CACG,UAAA0B,EAEAqB,GACCpF,EAAC8F,EAAA,CAAsB,YAAY,WAAW,SAAQ,GAAC,GAE3D,GAEJ,EAECf,GACC9E,EAAC+F,GAAA,CAAgB,WAAYtD,EAC3B,UAAA1C,EAACiG,GAAA,CACC,MAAO5C,GACP,YAAY,SACZ,SAAUD,EACV,SAAU8C,GAAK5C,KAAiB4C,EAAE,OAAO,KAAK,EAC9C,KAAK,QACL,UAAS,GACT,aAAa,QACf,EACC5B,GAAYP,GACX/D,EAACH,EAAA,CAAM,GAAI,EAAI,SAAAkE,EAAa,GAEhC,GAEJ,EAGDC,GAAiBA,EAEjB,CAACsB,GAActF,EAACL,GAAA,CAAQ,GAAI,CAAE,GAAI,CAAE,EAAG,GAC1C,EAGD2E,EACCrE,EAACkG,GAAA,CACC,WAAYzC,EACZ,SAAU1D,EAACoG,GAAA,EAAiB,EAC5B,UAAW3C,EACX,QAASzD,EAACN,GAAA,CAAiB,GAAI,CAAE,EAAG,YAAa,EAAG,EACpD,QAASkD,EAAK,SAAW,EACzB,MACE3C,EAACJ,EAAA,CAAM,KAAM,EAAG,UAAU,SAAU,GAAGiD,EACpC,UAAAD,GAAeA,EAEhB7C,EAACH,EAAA,CAAM,KAAM,EAAG,WAAW,SAAS,eAAe,SAChD,SAAA0D,GAAO,cACNvD,EAACuD,EAAM,cAAN,EAAoB,EAErBvD,EAACF,GAAA,CAAW,QAAQ,QAAQ,MAAM,iBAAiB,sCAEnD,EAEJ,GACF,EAGF,UAAAG,EAACJ,EAAA,CACC,UAAU,SACV,KAAM,EACN,UAAW,EACV,GAAGiD,EAEH,UAAAD,GAAeA,EAEhB7C,EAACqG,EAAA,CAAU,YAAW,GAAC,IAAK5B,EACzB,SAAA7B,EAAK,IAAI0D,GAAOvD,GAAauD,CAAG,CAAC,EACpC,GACF,EAEC,CAACzC,GAAcvD,GACdN,EAACuG,GAAA,CACC,SAAAvG,EAACQ,EAAA,CACC,MAAOL,EACP,KAAM6C,EAAgB,KACtB,YAAaA,EAAgB,SAC7B,aAAcvC,GACZH,IAAqBG,EAASuC,EAAgB,QAAQ,EAExD,oBAAqBtC,GACnBJ,IAAqB0C,EAAgB,KAAMtC,CAAc,EAE7D,EACF,GAEJ,EAEAV,EAACwG,GAAA,CACC,QAAS7D,EACT,KAAMC,EACN,MAAO4C,GACP,UAAW,CACT,MAAO,CAAE,SAAUhB,EAAe,EAClC,QAAS,CACP,kBAAAxC,GACA,gBAAiB,EACnB,EACA,GAAGwB,EACL,EACA,mBAAoB,GACpB,aAAc,IAAM,GACpB,QAASC,EACT,SAAUC,EACV,WAAYG,EACZ,gBAAiBI,EACjB,mBAAoBC,EACnB,GAAGC,GACN,EAGDR,IAAoB3D,EAACJ,GAAA,EAAe,IA1NhC6D,EAAU,UAAY,MA2N7B,CAEJ,EAEOgD,GAAQvH,GAAKoD,GAAmB9C,EAAO","sourcesContent":["import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport isEqual from 'react-fast-compare';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport {\n GridSlotsComponentsProps,\n GridValidRowModel,\n} from '@mui/x-data-grid-premium';\n\nimport DataGrid from 'components/DataGrid';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport usePopover from 'hooks/usePopover';\nimport useResponsive from 'hooks/useResponsive';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport DesktopFooter from './DesktopFooter';\nimport EnhancedMoreActions from './EnhancedMoreActions';\nimport Pagination from './Pagination';\nimport { DataGridSlotsProps, DataViewProps } from './props';\nimport {\n ActionsContainer,\n ActionsDivider,\n Container,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n ToolbarActionsDivider,\n Topbar,\n} from './styles';\nimport Toolbar from './Toolbar';\n\nconst DataViewComponent = <T extends GridValidRowModel = GridValidRowModel>({\n title,\n header,\n headerProps,\n breakpoint = 'md',\n columns,\n rows = [],\n mobileSlots,\n mobileSlotsProps,\n mobileRender,\n rowCount = 0,\n paginationModel = { page: 0, pageSize: 25 },\n onPaginationChange,\n actions,\n moreActions,\n onAdd,\n onSearch,\n searchValue,\n onSearchChange,\n slots,\n slotProps,\n loading,\n fetching,\n fetchingNextPage,\n containerProps = { height: 562, maxHeight: 562 },\n hideFooter,\n showColumnButton = false,\n filterButton,\n activeFilters,\n onRowsScrollEnd,\n scrollEndThreshold = 200,\n ...others\n}: DataViewProps<T>) => {\n const popover = usePopover();\n const isMobile = useResponsive('down', breakpoint);\n const [filterButtonEl, setFilterButtonEl] =\n useState<HTMLButtonElement | null>(null);\n const scrollableNodeRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const node = scrollableNodeRef.current;\n\n if (!node || !isMobile || !onRowsScrollEnd) return;\n\n const handleScroll = () => {\n const { scrollTop, scrollHeight, clientHeight } = node;\n const distanceToBottom = scrollHeight - scrollTop - clientHeight;\n if (distanceToBottom <= scrollEndThreshold) {\n (onRowsScrollEnd as () => void)();\n }\n };\n\n node.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n node.removeEventListener('scroll', handleScroll);\n };\n }, [isMobile, onRowsScrollEnd, scrollEndThreshold, rows.length]);\n\n const showSearch = !!onSearch;\n const showAdd = !!onAdd;\n const showActions = !!actions;\n const showMoreActions = !!moreActions;\n const showHeaderMoreActions = isMobile && showMoreActions;\n const showTopbarMoreActions = !isMobile && showMoreActions;\n const showActionsContainer = showActions || showAdd || showHeaderMoreActions;\n const showTopbar =\n showTopbarMoreActions ||\n showSearch ||\n showColumnButton ||\n !!filterButton ||\n !isMobile;\n\n const FooterComponent = useCallback(() => {\n if (onPaginationChange) {\n return (\n <DesktopFooter\n rowCount={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPaginationChange={onPaginationChange}\n />\n );\n }\n\n return null;\n }, [rowCount, paginationModel, onPaginationChange]);\n\n const dataGridSlots: DataGridSlotsProps = useMemo(\n () => ({\n ...slots,\n footer: FooterComponent as unknown as DataGridSlotsProps['footer'],\n ...(showColumnButton &&\n !slots?.toolbar && {\n toolbar: Toolbar as unknown as DataGridSlotsProps['toolbar'],\n }),\n }),\n [slots, FooterComponent, showColumnButton],\n );\n\n return (\n <Container\n key={loading ? 'loading' : 'data'}\n breakpoint={breakpoint}\n {...containerProps}\n flex={loading ? 1 : undefined}\n minHeight={loading || rows.length === 0 ? 562 : undefined}\n >\n {header ? (\n <Stack p={3} {...headerProps}>\n {header}\n </Stack>\n ) : (\n <>\n <Header breakpoint={breakpoint}>\n <Typography variant=\"overline\" color=\"text.secondary\" noWrap>\n {title}\n </Typography>\n\n {showActionsContainer && (\n <ActionsContainer breakpoint={breakpoint}>\n {showActions && actions}\n\n {showAdd && (\n <>\n {showActions && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n startIcon={<Icon icon=\"SIMPLE_ADD\" />}\n variant=\"contained\"\n onClick={onAdd}\n >\n Adicionar\n </Button>\n </>\n )}\n\n {showHeaderMoreActions && (\n <>\n {(showActions || showAdd) && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n </>\n )}\n </ActionsContainer>\n )}\n </Header>\n\n {showTopbar && (\n <Topbar breakpoint={breakpoint}>\n <Stack\n flex={1}\n direction=\"row\"\n alignItems=\"center\"\n id={DATAGRID_ACTIONS}\n gap={0.5}\n >\n {showMoreActions && (\n <>\n {showTopbarMoreActions && (\n <>\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n\n {!isMobile && (\n <ToolbarActionsDivider\n orientation=\"vertical\"\n flexItem\n />\n )}\n </>\n )}\n\n {(showTopbarMoreActions || showHeaderMoreActions) && (\n <MenuPopover\n open={popover.open}\n anchorEl={popover.open}\n onClose={popover.onClose}\n sx={{\n minWidth: 160,\n }}\n disabledArrow={true}\n >\n <EnhancedMoreActions onClose={popover.onClose}>\n {moreActions}\n </EnhancedMoreActions>\n </MenuPopover>\n )}\n </>\n )}\n\n {!isMobile && filterButton && (\n <>\n {filterButton}\n\n {showTopbarMoreActions && (\n <ToolbarActionsDivider orientation=\"vertical\" flexItem />\n )}\n </>\n )}\n </Stack>\n\n {showSearch && (\n <SearchContainer breakpoint={breakpoint}>\n <SearchInput\n value={searchValue}\n placeholder=\"Buscar\"\n onSearch={onSearch}\n onChange={e => onSearchChange?.(e.target.value)}\n size=\"small\"\n fullWidth\n iconPosition=\"start\"\n />\n {isMobile && filterButton && (\n <Stack ml={1}>{filterButton}</Stack>\n )}\n </SearchContainer>\n )}\n </Topbar>\n )}\n\n {activeFilters && activeFilters}\n\n {!showTopbar && <Divider sx={{ mt: 2 }} />}\n </>\n )}\n\n {isMobile ? (\n <Result\n isFetching={fetching}\n fetching={<FixedProgressBar />}\n isLoading={loading}\n loading={<CircularProgress sx={{ m: '160px auto' }} />}\n isEmpty={rows.length === 0}\n empty={\n <Stack flex={1} direction=\"column\" {...mobileSlotsProps}>\n {mobileSlots && mobileSlots}\n\n <Stack flex={1} alignItems=\"center\" justifyContent=\"center\">\n {slots?.noRowsOverlay ? (\n <slots.noRowsOverlay />\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Nenhum registro encontrado\n </Typography>\n )}\n </Stack>\n </Stack>\n }\n >\n <Stack\n direction=\"column\"\n flex={1}\n minHeight={0}\n {...mobileSlotsProps}\n >\n {mobileSlots && mobileSlots}\n\n <Scrollbar fillContent ref={scrollableNodeRef}>\n {rows.map(row => mobileRender(row))}\n </Scrollbar>\n </Stack>\n\n {!hideFooter && onPaginationChange && (\n <MobilePaginationContainer>\n <Pagination\n count={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPageChange={newPage =>\n onPaginationChange?.(newPage, paginationModel.pageSize)\n }\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange?.(paginationModel.page, newRowsPerPage)\n }\n />\n </MobilePaginationContainer>\n )}\n </Result>\n ) : (\n <DataGrid\n columns={columns}\n rows={rows}\n slots={dataGridSlots}\n slotProps={{\n panel: { anchorEl: filterButtonEl },\n toolbar: {\n setFilterButtonEl,\n showQuickFilter: true,\n } as unknown as GridSlotsComponentsProps['toolbar'],\n ...slotProps,\n }}\n columnHeaderHeight={48}\n getRowHeight={() => 68}\n loading={loading}\n fetching={fetching}\n hideFooter={hideFooter}\n onRowsScrollEnd={onRowsScrollEnd}\n scrollEndThreshold={scrollEndThreshold}\n {...others}\n />\n )}\n\n {fetchingNextPage && <LinearProgress />}\n </Container>\n );\n};\n\nexport default memo(DataViewComponent, isEqual) as typeof DataViewComponent;\nexport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DesktopFooter,\n EnhancedMoreActions,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n Toolbar,\n ToolbarActionsDivider,\n Topbar,\n};\n","export const DATAGRID_ACTIONS = 'datagrid-actions';\n","import { memo } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Pagination from './Pagination';\nimport { DesktopFooterProps } from './props';\nimport { DesktopPaginationContainer } from './styles';\n\nconst DesktopFooter = ({\n rowCount,\n page,\n rowsPerPage,\n onPaginationChange,\n}: DesktopFooterProps) => {\n return (\n <DesktopPaginationContainer>\n <Stack direction=\"row\" alignItems=\"center\" gap={0.5}>\n <Typography variant=\"body2\" color=\"text.disabled\">\n Total de itens:\n </Typography>\n <Typography variant=\"body2\">{rowCount}</Typography>\n </Stack>\n\n <Pagination\n count={rowCount}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={newPage => onPaginationChange(newPage, rowsPerPage)}\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(page, newRowsPerPage)\n }\n />\n </DesktopPaginationContainer>\n );\n};\n\nexport default memo(DesktopFooter);\n","import {\n Children,\n cloneElement,\n isValidElement,\n memo,\n ReactElement,\n ReactNode,\n} from 'react';\n\nimport { EnhancedMoreActionsProps } from './props';\n\nconst createEnhanceMoreActions = (\n children: ReactNode,\n onClose: () => void,\n): ReactNode => {\n return Children.map(children, child => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const originalOnClick = (\n child.props as { onClick?: (...args: unknown[]) => void }\n ).onClick;\n\n const enhancedProps: {\n onClick?: (...args: unknown[]) => void;\n children?: ReactNode;\n } = {};\n\n enhancedProps.onClick = (...args: unknown[]) => {\n onClose();\n if (originalOnClick) {\n originalOnClick(...args);\n }\n };\n\n const childProps = child.props as { children?: ReactNode };\n if (childProps?.children) {\n enhancedProps.children = createEnhanceMoreActions(\n childProps.children,\n onClose,\n );\n }\n\n return cloneElement(child as ReactElement, enhancedProps);\n });\n};\n\nconst EnhancedMoreActions = ({\n children,\n onClose,\n}: EnhancedMoreActionsProps) => {\n if (!children) return null;\n return createEnhanceMoreActions(children, onClose);\n};\n\nexport default memo(EnhancedMoreActions);\n","import { forwardRef, useCallback } from 'react';\nimport Button, { ButtonProps } from '@mui/material/Button';\nimport { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';\n\nimport Icon from 'components/Icon';\nimport Portal from 'components/Portal';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport { ToolbarProps } from './props';\n\nconst ColumnsButton = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, ...props }, ref) => (\n <Button\n {...props}\n ref={ref}\n color=\"inherit\"\n startIcon={<Icon icon=\"COLUMNS\" />}\n >\n {children ?? 'Colunas'}\n </Button>\n ),\n);\n\nColumnsButton.displayName = 'ColumnsButton';\n\nconst Toolbar = ({ setFilterButtonEl }: ToolbarProps) => {\n const handleColumnsButtonRef = useCallback(\n (button: HTMLButtonElement | null) => {\n setFilterButtonEl(button);\n },\n [setFilterButtonEl],\n );\n\n return (\n <Portal container={DATAGRID_ACTIONS}>\n <GridToolbarColumnsButton\n ref={handleColumnsButtonRef}\n slotProps={{\n button: {\n color: 'inherit',\n startIcon: <Icon icon=\"COLUMNS\" />,\n children: 'Colunas',\n },\n }}\n />\n </Portal>\n );\n};\n\nexport default Toolbar;\n"]}
|