@zydon/common 2.8.57 → 2.8.58
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/{bulkActions-3ec5afc1.d.ts → bulkActions-29cd56a9.d.ts} +4 -4
- package/dist/chunk-PRWQQJDL.js +12 -0
- package/dist/chunk-PRWQQJDL.js.map +1 -0
- package/dist/chunk-XLNJJJ7D.js +27 -0
- package/dist/chunk-XLNJJJ7D.js.map +1 -0
- package/dist/{chunk-3HKLNWRZ.js → chunk-XUDTPZHF.js} +4 -4
- package/dist/chunk-XUDTPZHF.js.map +1 -0
- package/dist/components/BulkEditModal/index.js +1 -1
- package/dist/components/Confirm/index.js +1 -1
- package/dist/components/DataView/index.d.ts +10 -8
- package/dist/components/DataView/index.js +3 -3
- package/dist/components/DynamicDataView/index.d.ts +2 -3
- package/dist/components/DynamicDataView/index.js +6 -6
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/components/MenuPopover/index.d.ts +2 -8
- package/dist/props-3c1ceae1.d.ts +10 -0
- package/package.json +1 -1
- package/dist/chunk-3HKLNWRZ.js.map +0 -1
- package/dist/chunk-75PS5WVR.js +0 -27
- package/dist/chunk-75PS5WVR.js.map +0 -1
- package/dist/chunk-D3RY7C7B.js +0 -12
- package/dist/chunk-D3RY7C7B.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DataView/styles.ts","../src/components/DataView/Pagination.tsx"],"names":["Checkbox","CircularProgress","Divider","Stack","styled","Typography","Container","Panel_default","prop","theme","breakpoint","Header","ActionsContainer","ActionsDivider","ToolbarActionsDivider","Topbar","SearchContainer","PaginationContainer","MobilePaginationContainer","DesktopPaginationContainer","DataGridWrapper","SelectionOverlay","SelectionCount","SelectionActions","SelectionCheckbox","MoreActionsPopover","MenuPopover_default","TopbarDivider","LoadingProgress","useCallback","useMemo","MuiPagination","jsx","Pagination","count","page","rowsPerPage","onPageChange","onRowsPerPageChange","totalPages","handlePageChange","_","newPage","handleRowsPerPageChange","event","ariaLabel","Pagination_default"],"mappings":"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","sourcesContent":["import Checkbox from '@mui/material/Checkbox';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Stack, { StackProps } from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport { Breakpoint } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nimport MenuPopover from 'components/MenuPopover';\nimport Panel from 'components/Panel';\n\nexport interface DefaultProps {\n breakpoint: Breakpoint | number;\n}\n\nexport interface ContainerProps extends StackProps {\n breakpoint: Breakpoint | number;\n}\n\nexport const Container = styled(Panel, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<ContainerProps>(({ theme, breakpoint }) => ({\n position: 'relative',\n borderRadius: 12,\n padding: 0,\n gap: 0,\n overflow: 'hidden',\n\n [theme.breakpoints.down(breakpoint)]: {\n borderColor: theme.palette.divider,\n },\n}));\n\nexport const Header = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: theme.spacing(3, 3, 0),\n gap: theme.spacing(3),\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: theme.spacing(2, 2, 0),\n },\n}));\n\nexport const ActionsContainer = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: theme.spacing(1.5),\n color: theme.palette.text.secondary,\n\n [theme.breakpoints.down(breakpoint)]: {\n '& button, & a': {\n textIndent: '-9999em',\n fontSize: 0,\n minWidth: 36,\n maxWidth: 36,\n height: 36,\n width: 36,\n overflow: 'hidden',\n\n '& .MuiButton-icon': {\n margin: 0,\n },\n },\n },\n}));\n\nexport const ActionsDivider = styled(Divider)(({ theme }) => ({\n borderStyle: 'dashed',\n height: theme.spacing(2),\n margin: 'auto',\n}));\n\nexport const ToolbarActionsDivider = styled(Divider)(({ theme }) => ({\n borderStyle: 'dashed',\n height: theme.spacing(1.5),\n marginTop: 'auto',\n marginBottom: 'auto',\n}));\n\nexport const Topbar = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n position: 'relative',\n padding: theme.spacing(2),\n flexDirection: 'row',\n alignItems: 'center',\n color: theme.palette.text.secondary,\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: theme.spacing(1.5, 2),\n borderBottom: `1px solid ${theme.palette.divider}`,\n minHeight: 60,\n\n [theme.breakpoints.down(breakpoint)]: {\n '& button': {\n textIndent: '-9999em',\n fontSize: 0,\n minWidth: 36,\n maxWidth: 36,\n height: 36,\n width: 36,\n overflow: 'hidden',\n\n '& .MuiButton-icon': {\n margin: 0,\n },\n },\n },\n },\n}));\n\nexport const SearchContainer = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n width: 320,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n\n [theme.breakpoints.down(breakpoint)]: {\n width: '100%',\n zIndex: 1,\n\n '& fieldset, & input': {\n display: 'flex',\n },\n\n '& .MuiInputAdornment-root': {\n marginLeft: 0,\n },\n },\n}));\n\nexport const PaginationContainer = styled(Stack)(({ theme }) => ({\n '& .MuiToolbar-root': {\n height: 24,\n minHeight: 24,\n overflow: 'hidden',\n\n [theme.breakpoints.down('sm')]: {\n height: 'auto',\n flexWrap: 'wrap',\n justifyContent: 'center',\n },\n },\n}));\n\nexport const MobilePaginationContainer = styled(Stack)(({ theme }) => ({\n minHeight: 60,\n alignItems: 'flex-end',\n justifyContent: 'center',\n borderTop: `1px solid ${theme.palette.divider}`,\n\n [theme.breakpoints.down('sm')]: {\n minHeight: 'auto',\n },\n}));\n\nexport const DesktopPaginationContainer = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n height: 60,\n alignItems: 'center',\n justifyContent: 'space-between',\n borderTop: `1px solid ${theme.palette.divider}`,\n gap: theme.spacing(2),\n padding: theme.spacing(2),\n}));\n\nexport const DataGridWrapper = styled(Stack)({\n position: 'relative',\n flex: 1,\n minHeight: 0,\n});\n\nexport const SelectionOverlay = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n padding: `0 ${theme.spacing(3)}`,\n top: 0,\n left: 0,\n width: '100%',\n zIndex: 9,\n height: 48,\n position: 'absolute',\n backgroundColor: theme.palette.primary.lighter,\n}));\n\nexport const SelectionCount = styled(Typography)(({ theme }) => ({\n flexGrow: 1,\n color: theme.palette.primary.main,\n fontWeight: 600,\n}));\n\nexport const SelectionActions = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: theme.spacing(1),\n}));\n\nexport const SelectionCheckbox = styled(Checkbox)({\n marginLeft: -6,\n});\n\nexport const MoreActionsPopover = styled(MenuPopover)({\n minWidth: 160,\n});\n\nexport const TopbarDivider = styled(Divider)(({ theme }) => ({\n marginTop: theme.spacing(2),\n}));\n\nexport const LoadingProgress = styled(CircularProgress)({\n margin: '160px auto',\n});\n","import { useCallback, useMemo } from 'react';\nimport MuiPagination from '@mui/material/TablePagination';\n\nimport { PaginationProps } from './props';\nimport { PaginationContainer } from './styles';\n\nconst Pagination = ({\n count,\n page,\n rowsPerPage,\n onPageChange,\n onRowsPerPageChange,\n}: PaginationProps) => {\n const totalPages = Math.ceil(count / rowsPerPage) || 1;\n\n const handlePageChange = useCallback(\n (_: unknown, newPage: number) => {\n onPageChange(newPage);\n },\n [onPageChange],\n );\n\n const handleRowsPerPageChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n onRowsPerPageChange(Number(event.target.value));\n },\n [onRowsPerPageChange],\n );\n\n const ariaLabel = useMemo(\n () => `Página ${page + 1} de ${totalPages}`,\n [page, totalPages],\n );\n\n return (\n <PaginationContainer\n aria-label={ariaLabel}\n aria-live=\"polite\"\n role=\"navigation\"\n >\n <MuiPagination\n color=\"primary\"\n component=\"div\"\n size=\"small\"\n count={count}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handleRowsPerPageChange}\n />\n </PaginationContainer>\n );\n};\n\nexport default Pagination;\n"]}
|
package/dist/chunk-75PS5WVR.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { a as a$3 } from './chunk-PVI5BAUW.js';
|
|
2
|
-
import { a as a$4 } from './chunk-IJZCVZ32.js';
|
|
3
|
-
import { a as a$7 } from './chunk-IDFJFFIV.js';
|
|
4
|
-
import { a as a$5 } from './chunk-6U5LS7MP.js';
|
|
5
|
-
import { a as a$9 } from './chunk-D3RY7C7B.js';
|
|
6
|
-
import { i, r, k, n, l, a as a$2, b as b$1, c, d, f, e, o, g, p, q, h, j, m } from './chunk-3HKLNWRZ.js';
|
|
7
|
-
import { a as a$6 } from './chunk-F65ZXAGV.js';
|
|
8
|
-
import { a as a$8 } from './chunk-I4PPSW36.js';
|
|
9
|
-
import { a } from './chunk-VURAUMLN.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, useMemo, useCallback, Fragment as Fragment$1, Children, isValidElement, cloneElement } from 'react';
|
|
13
|
-
import Ve from 'react-fast-compare';
|
|
14
|
-
import io from '@mui/material/Button';
|
|
15
|
-
import ze from '@mui/material/IconButton';
|
|
16
|
-
import Fe from '@mui/material/LinearProgress';
|
|
17
|
-
import w from '@mui/material/Stack';
|
|
18
|
-
import $o from '@mui/material/Tooltip';
|
|
19
|
-
import Ko from '@mui/material/Typography';
|
|
20
|
-
import ge from '@mui/lab/LoadingButton';
|
|
21
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
22
|
-
import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
|
|
23
|
-
|
|
24
|
-
var _="datagrid-actions";var Uo=(e,n)=>typeof e=="function"?e(n):!!e,Ce=e=>{if(e)return e===!0?{}:e},he=({actions:e,context:n})=>{let[r,l]=useState(null),[c,s]=useState(null),C=useMemo(()=>e.filter(i=>!Uo(i.hidden,n)),[e,n]),h=useCallback(async i=>{s(i.id);try{await i.handler(n);}finally{s(null);}},[n]),K=useCallback(i=>{if(i.confirmation){l(i);return}h(i).catch(()=>{});},[h]),y=useCallback(async()=>{r&&(await h(r),l(null));},[r,h]),u=useCallback(()=>{c||l(null);},[c]),d=Ce(r?.confirmation);return jsxs(Fragment,{children:[jsx(m,{children:C.map(i=>{let E=!!c||Uo(i.disabled,n),G=c===i.id;return jsx(ge,{size:"small",variant:"text",color:i.color??"primary",onClick:()=>K(i),loading:G,disabled:E,startIcon:typeof i.icon=="string"?jsx(a,{icon:i.icon}):i.icon,children:i.label},i.id)})}),r&&jsx(a$9,{open:!0,onClose:u,onConfirm:()=>{y().catch(()=>{});},confirming:c===r.id,modalTitle:d?.title??"Tem certeza que deseja executar esta a\xE7\xE3o?",message:d?.message??"Essa a\xE7\xE3o ser\xE1 aplicada aos itens selecionados.",cancelButtonText:d?.cancelButtonText??"Cancelar",confirmButtonText:d?.confirmButtonText??"Confirmar",confirmButtonProps:{color:r.color??"primary"}})]})},qo=he;var we=({rowCount:e,page:n,rowsPerPage:r$1,onPaginationChange:l})=>jsxs(i,{children:[jsxs(w,{direction:"row",alignItems:"center",gap:.5,children:[jsx(Ko,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(Ko,{variant:"body2",children:e})]}),jsx(r,{count:e,page:n,rowsPerPage:r$1,onPageChange:c=>l(c,r$1),onRowsPerPageChange:c=>l(n,c)})]}),Jo=memo(we);var Xo=(e,n)=>Children.map(e,r=>{if(!isValidElement(r))return r;let l=r.props.onClick,c={};c.onClick=(...C)=>{n(),l&&l(...C);};let s=r.props;return s?.children&&(c.children=Xo(s.children,n)),cloneElement(r,c)}),Ie=({children:e,onClose:n})=>e?Xo(e,n):null,Yo=memo(Ie);var De=forwardRef(({children:e,...n},r)=>jsx(io,{...n,ref:r,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:e??"Colunas"}));De.displayName="ColumnsButton";var Ee=({setFilterButtonEl:e})=>{let n=useCallback(r=>{e(r);},[e]);return jsx(a$8,{container:_,children:jsx(GridToolbarColumnsButton,{ref:n,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},Zo=Ee;var _e=({title:e$1,header:n$1,headerProps:r$1,breakpoint:l$1="md",columns:c$1,rows:s=[],mobileSlots:C,mobileSlotsProps:h$1,mobileRender:K,rowCount:y=0,paginationModel:u={page:0,pageSize:25},onPaginationChange:d$1,actions:i,moreActions:E,onAdd:G,onSearch:ao,searchValue:oe,onSearchChange:ee,slots:P,slotProps:te,loading:R,fetching:lo,fetchingNextPage:ne,containerProps:re={height:562,maxHeight:562},hideFooter:co,showColumnButton:Q=!1,filterButton:I,activeFilters:so,bulkActions:mo,onRowsScrollEnd:O,scrollEndThreshold:J=200,...k$1})=>{let A=a$1(),f$1=b("down",l$1),[ie,ae]=useState(null),po=useRef(null);useEffect(()=>{let t=po.current;if(!t||!f$1||!O)return;let T=()=>{let{scrollTop:j,scrollHeight:M,clientHeight:z}=t;M-j-z<=J&&O();};return t.addEventListener("scroll",T,{passive:!0}),()=>{t.removeEventListener("scroll",T);}},[f$1,O,J,s.length]);let uo=!!ao,X=!!G,L=!!i,Y=!!E,Z=f$1&&Y,H=!f$1&&Y,le=L||X||Z,fo=H||uo||Q||!!I||!f$1,m=useMemo(()=>Array.isArray(k$1.rowSelectionModel)?k$1.rowSelectionModel:[],[k$1.rowSelectionModel]),b$2=m.length,N=useMemo(()=>k$1.getRowId??(t=>t.id),[k$1.getRowId]),S=useMemo(()=>s.map(t=>N(t)),[s,N]),V=useMemo(()=>new Set(S),[S]),go=useMemo(()=>m.reduce((t,T)=>t+(V.has(T)?1:0),0),[m,V]),Co=S.length>0&&go===S.length,ce=go>0&&!Co,{onRowSelectionModelChange:v}=k$1,x=useCallback(t=>{v&&v(t);},[v]),$=useCallback(()=>{x([]);},[x]),ho=useMemo(()=>new Set(m),[m]),ko=useMemo(()=>s.filter(t=>ho.has(N(t))),[s,ho,N]),se=useMemo(()=>({selectedIds:m,selectedRowsInPage:ko,selectedCount:b$2,clearSelection:$}),[m,ko,b$2,$]),de=!!mo?.length,me=useCallback((t,T)=>{if(!v)return;if(T){let M=new Set(m),z=[...m];S.forEach(oo=>{M.has(oo)||z.push(oo);}),x(z);return}let j=m.filter(M=>!V.has(M));x(j);},[v,m,S,V,x]),Ao=useCallback(()=>d$1?jsx(Jo,{rowCount:y,page:u.page,rowsPerPage:u.pageSize,onPaginationChange:d$1}):null,[y,u,d$1]),pe=useMemo(()=>({...P,footer:Ao,...Q&&!P?.toolbar&&{toolbar:Zo}}),[P,Ao,Q]),ue=de&&b$2>0&&jsxs(k,{children:[jsx($o,{title:"Selecione todos nessa pagina",children:jsx(n,{size:"small",checked:Co,indeterminate:ce,onChange:me})}),jsx($o,{title:"Desselecionar tudo",children:jsx(ze,{size:"small",onClick:$,"aria-label":"Desselecionar tudo",sx:{color:"primary.main"},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18,height:18})})}),jsxs(l,{variant:"body2",children:[b$2," selecionado",b$2>1?"s":""]}),jsx(qo,{actions:mo??[],context:se})]});return jsxs(a$2,{breakpoint:l$1,...re,flex:R?1:void 0,minHeight:R||s.length===0?562:void 0,children:[n$1?jsx(w,{p:3,...r$1,children:n$1}):jsxs(Fragment,{children:[jsxs(b$1,{breakpoint:l$1,children:[jsx(Ko,{variant:"overline",color:"text.secondary",noWrap:!0,children:e$1}),le&&jsxs(c,{breakpoint:l$1,children:[L&&i,X&&jsxs(Fragment,{children:[L&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(io,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:G,children:"Adicionar"})]}),Z&&jsxs(Fragment,{children:[(L||X)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(io,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:A.onOpen,children:"Mais"})]})]})]}),fo&&jsxs(f,{breakpoint:l$1,children:[jsxs(w,{flex:1,direction:"row",alignItems:"center",id:_,gap:.5,children:[Y&&jsxs(Fragment,{children:[H&&jsxs(Fragment,{children:[jsx(io,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:A.onOpen,children:"Mais"}),!f$1&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(H||Z)&&jsx(o,{open:A.open,anchorEl:A.open,onClose:A.onClose,disabledArrow:!0,children:jsx(Yo,{onClose:A.onClose,children:E})})]}),!f$1&&I&&jsxs(Fragment,{children:[I,H&&jsx(e,{orientation:"vertical",flexItem:!0})]})]}),uo&&jsxs(g,{breakpoint:l$1,children:[jsx(a$3,{value:oe,placeholder:"Buscar",onSearch:ao,onChange:t=>ee?.(t.target.value),size:"small",fullWidth:!0,iconPosition:"start"}),f$1&&I&&jsx(w,{ml:1,children:I})]})]}),so&&so,!fo&&jsx(p,{})]}),f$1?jsxs(a$4,{isFetching:lo,fetching:jsx(a$5,{}),isLoading:R,loading:jsx(q,{}),isEmpty:s.length===0,empty:jsxs(w,{flex:1,direction:"column",...h$1,children:[C&&C,jsx(w,{flex:1,alignItems:"center",justifyContent:"center",children:P?.noRowsOverlay?jsx(P.noRowsOverlay,{}):jsx(Ko,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})})]}),children:[jsxs(w,{direction:"column",flex:1,minHeight:0,...h$1,children:[C&&C,jsx(a$6,{fillContent:!0,ref:po,children:s.map(t=>jsx(Fragment$1,{children:K(t)},t.id))})]}),!co&&d$1&&jsx(h,{children:jsx(r,{count:y,page:u.page,rowsPerPage:u.pageSize,onPageChange:t=>d$1?.(t,u.pageSize),onRowsPerPageChange:t=>d$1?.(u.page,t)})})]}):jsxs(j,{children:[ue,jsx(a$7,{columns:c$1,rows:s,slots:pe,slotProps:{panel:{anchorEl:ie},toolbar:{setFilterButtonEl:ae,showQuickFilter:!0},...te},columnHeaderHeight:48,getRowHeight:()=>68,loading:R,fetching:lo,hideFooter:co,onRowsScrollEnd:O,scrollEndThreshold:J,...k$1})]}),ne&&jsx(Fe,{})]},R?"loading":"data")},Ft=memo(_e,Ve);
|
|
25
|
-
|
|
26
|
-
export { Jo as a, Yo as b, Zo as c, Ft as d };
|
|
27
|
-
//# sourceMappingURL=chunk-75PS5WVR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DataView/index.tsx","../src/components/DataView/contants.ts","../src/components/DataView/BulkActionsBar.tsx","../src/components/DataView/DesktopFooter.tsx","../src/components/DataView/EnhancedMoreActions.ts","../src/components/DataView/Toolbar.tsx"],"names":["Fragment","memo","useCallback","useEffect","useMemo","useRef","useState","isEqual","Button","IconButton","LinearProgress","Stack","Tooltip","Typography","DATAGRID_ACTIONS","LoadingButton","jsx","jsxs","resolveDynamicBoolean","value","context","getConfirmationConfig","confirmation","BulkActionsBar","actions","confirmAction","setConfirmAction","runningActionId","setRunningActionId","visibleActions","action","executeAction","handleActionClick","handleConfirm","handleCloseConfirm","confirmationConfig","SelectionActions","disabled","loading","Icon_default","Confirm_default","BulkActionsBar_default","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","Toolbar","setFilterButtonEl","handleColumnsButtonRef","button","Portal_default","Toolbar_default","DataViewComponent","title","header","headerProps","breakpoint","columns","rows","mobileSlots","mobileSlotsProps","mobileRender","paginationModel","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","fetching","fetchingNextPage","containerProps","hideFooter","showColumnButton","filterButton","activeFilters","bulkActions","onRowsScrollEnd","scrollEndThreshold","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","scrollableNodeRef","node","handleScroll","scrollTop","scrollHeight","clientHeight","showSearch","showAdd","showActions","showMoreActions","showHeaderMoreActions","showTopbarMoreActions","showActionsContainer","showTopbar","selectionModel","numSelected","getRowId","row","pageRowIds","pageRowIdSet","selectedOnPageCount","count","id","allSelected","someSelected","onRowSelectionModelChange","emitRowSelectionChange","nextSelection","clearSelection","selectedIdSet","selectedRowsInPage","bulkActionContext","hasBulkActions","handleSelectAllToggle","_event","checked","selectedIds","FooterComponent","dataGridSlots","selectionOverlay","SelectionOverlay","SelectionCheckbox","SelectionCount","Container","Header","ActionsContainer","ActionsDivider","Topbar","ToolbarActionsDivider","MoreActionsPopover","SearchContainer","SearchInput_default","e","TopbarDivider","Result_default","FixedProgressBar_default","LoadingProgress","Scrollbar_default","MobilePaginationContainer","DataGridWrapper","DataGrid_default","DataView_default"],"mappings":"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","sourcesContent":["import {\n ChangeEvent,\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 IconButton from '@mui/material/IconButton';\nimport LinearProgress from '@mui/material/LinearProgress';\nimport Stack from '@mui/material/Stack';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport {\n GridRowId,\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 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 BulkActionsBar from './BulkActionsBar';\nimport DesktopFooter from './DesktopFooter';\nimport EnhancedMoreActions from './EnhancedMoreActions';\nimport Pagination from './Pagination';\nimport type { BulkActionContext } from './bulkActions';\nimport { DataGridSlotsProps, DataViewProps } from './props';\nimport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DataGridWrapper,\n Header,\n LoadingProgress,\n MobilePaginationContainer,\n MoreActionsPopover,\n SearchContainer,\n SelectionActions,\n SelectionCheckbox,\n SelectionCount,\n SelectionOverlay,\n ToolbarActionsDivider,\n Topbar,\n TopbarDivider,\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 bulkActions,\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 selectionModel = useMemo(() => {\n if (Array.isArray(others.rowSelectionModel)) {\n return others.rowSelectionModel;\n }\n return [];\n }, [others.rowSelectionModel]);\n const numSelected = selectionModel.length;\n\n const getRowId = useMemo(\n () =>\n (others.getRowId ?? ((row: GridValidRowModel) => row.id)) as (\n row: GridValidRowModel,\n ) => GridRowId,\n [others.getRowId],\n );\n const pageRowIds = useMemo(\n () => rows.map(row => getRowId(row)),\n [rows, getRowId],\n );\n const pageRowIdSet = useMemo(() => new Set(pageRowIds), [pageRowIds]);\n const selectedOnPageCount = useMemo(\n () =>\n selectionModel.reduce(\n (count, id) => count + (pageRowIdSet.has(id) ? 1 : 0),\n 0,\n ),\n [selectionModel, pageRowIdSet],\n );\n const allSelected =\n pageRowIds.length > 0 && selectedOnPageCount === pageRowIds.length;\n const someSelected = selectedOnPageCount > 0 && !allSelected;\n\n const { onRowSelectionModelChange } = others;\n const emitRowSelectionChange = useCallback(\n (nextSelection: GridRowId[]) => {\n if (!onRowSelectionModelChange) return;\n (\n onRowSelectionModelChange as unknown as (\n model: GridRowId[],\n details?: unknown,\n ) => void\n )(nextSelection);\n },\n [onRowSelectionModelChange],\n );\n\n const clearSelection = useCallback(() => {\n emitRowSelectionChange([]);\n }, [emitRowSelectionChange]);\n\n const selectedIdSet = useMemo(\n () => new Set(selectionModel),\n [selectionModel],\n );\n const selectedRowsInPage = useMemo(\n () => rows.filter(row => selectedIdSet.has(getRowId(row))),\n [rows, selectedIdSet, getRowId],\n );\n\n const bulkActionContext: BulkActionContext<T> = useMemo(\n () => ({\n selectedIds: selectionModel,\n selectedRowsInPage: selectedRowsInPage as T[],\n selectedCount: numSelected,\n clearSelection,\n }),\n [selectionModel, selectedRowsInPage, numSelected, clearSelection],\n );\n\n const hasBulkActions = !!bulkActions?.length;\n\n const handleSelectAllToggle = useCallback(\n (_event: ChangeEvent<HTMLInputElement>, checked: boolean) => {\n if (!onRowSelectionModelChange) return;\n\n if (checked) {\n const selectedIds = new Set(selectionModel);\n const nextSelection = [...selectionModel];\n\n pageRowIds.forEach(id => {\n if (!selectedIds.has(id)) {\n nextSelection.push(id);\n }\n });\n\n emitRowSelectionChange(nextSelection);\n return;\n }\n\n const nextSelection = selectionModel.filter(id => !pageRowIdSet.has(id));\n emitRowSelectionChange(nextSelection);\n },\n [\n onRowSelectionModelChange,\n selectionModel,\n pageRowIds,\n pageRowIdSet,\n emitRowSelectionChange,\n ],\n );\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 const selectionOverlay = hasBulkActions && numSelected > 0 && (\n <SelectionOverlay>\n <Tooltip title=\"Selecione todos nessa pagina\">\n <SelectionCheckbox\n size=\"small\"\n checked={allSelected}\n indeterminate={someSelected}\n onChange={handleSelectAllToggle}\n />\n </Tooltip>\n\n <Tooltip title=\"Desselecionar tudo\">\n <IconButton\n size=\"small\"\n onClick={clearSelection}\n aria-label=\"Desselecionar tudo\"\n sx={{ color: 'primary.main' }}\n >\n <Icon icon=\"CLOSE_MARK_BUTTON\" width={18} height={18} />\n </IconButton>\n </Tooltip>\n\n <SelectionCount variant=\"body2\">\n {numSelected} selecionado{numSelected > 1 ? 's' : ''}\n </SelectionCount>\n\n <BulkActionsBar actions={bulkActions ?? []} context={bulkActionContext} />\n </SelectionOverlay>\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 <MoreActionsPopover\n open={popover.open}\n anchorEl={popover.open}\n onClose={popover.onClose}\n disabledArrow={true}\n >\n <EnhancedMoreActions onClose={popover.onClose}>\n {moreActions}\n </EnhancedMoreActions>\n </MoreActionsPopover>\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 && <TopbarDivider />}\n </>\n )}\n\n {isMobile ? (\n <Result\n isFetching={fetching}\n fetching={<FixedProgressBar />}\n isLoading={loading}\n loading={<LoadingProgress />}\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}>{mobileRender(row)}</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 <DataGridWrapper>\n {selectionOverlay}\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 </DataGridWrapper>\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 DataGridWrapper,\n DesktopFooter,\n EnhancedMoreActions,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n SelectionActions,\n SelectionCount,\n SelectionOverlay,\n Toolbar,\n ToolbarActionsDivider,\n Topbar,\n};\nexport type {\n BulkAction,\n BulkActionConfirmation,\n BulkActionContext,\n} from './bulkActions';\n","export const DATAGRID_ACTIONS = 'datagrid-actions';\n","import { useCallback, useMemo, useState } from 'react';\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport { GridValidRowModel } from '@mui/x-data-grid-premium';\n\nimport Confirm from 'components/Confirm';\nimport Icon from 'components/Icon';\n\nimport type {\n BulkAction,\n BulkActionConfirmation,\n BulkActionContext,\n} from './bulkActions';\nimport type { BulkActionsBarProps } from './props';\nimport { SelectionActions } from './styles';\n\nconst resolveDynamicBoolean = <T extends GridValidRowModel>(\n value: boolean | ((context: BulkActionContext<T>) => boolean) | undefined,\n context: BulkActionContext<T>,\n) => (typeof value === 'function' ? value(context) : !!value);\n\nconst getConfirmationConfig = (\n confirmation: BulkActionConfirmation | boolean | undefined,\n) => {\n if (!confirmation) return undefined;\n if (confirmation === true) return {};\n\n return confirmation;\n};\n\nconst BulkActionsBar = <T extends GridValidRowModel>({\n actions,\n context,\n}: BulkActionsBarProps<T>) => {\n const [confirmAction, setConfirmAction] = useState<BulkAction<T> | null>(\n null,\n );\n const [runningActionId, setRunningActionId] = useState<string | null>(null);\n\n const visibleActions = useMemo(\n () =>\n actions.filter(action => !resolveDynamicBoolean(action.hidden, context)),\n [actions, context],\n );\n\n const executeAction = useCallback(\n async (action: BulkAction<T>) => {\n setRunningActionId(action.id);\n try {\n await action.handler(context);\n } finally {\n setRunningActionId(null);\n }\n },\n [context],\n );\n\n const handleActionClick = useCallback(\n (action: BulkAction<T>) => {\n if (action.confirmation) {\n setConfirmAction(action);\n return;\n }\n\n void executeAction(action).catch(() => undefined);\n },\n [executeAction],\n );\n\n const handleConfirm = useCallback(async () => {\n if (!confirmAction) return;\n await executeAction(confirmAction);\n setConfirmAction(null);\n }, [confirmAction, executeAction]);\n\n const handleCloseConfirm = useCallback(() => {\n if (runningActionId) return;\n setConfirmAction(null);\n }, [runningActionId]);\n\n const confirmationConfig = getConfirmationConfig(confirmAction?.confirmation);\n\n return (\n <>\n <SelectionActions>\n {visibleActions.map(action => {\n const disabled =\n !!runningActionId ||\n resolveDynamicBoolean(action.disabled, context);\n const loading = runningActionId === action.id;\n\n return (\n <LoadingButton\n key={action.id}\n size=\"small\"\n variant=\"text\"\n color={action.color ?? 'primary'}\n onClick={() => handleActionClick(action)}\n loading={loading}\n disabled={disabled}\n startIcon={\n typeof action.icon === 'string' ? (\n <Icon icon={action.icon} />\n ) : (\n action.icon\n )\n }\n >\n {action.label}\n </LoadingButton>\n );\n })}\n </SelectionActions>\n\n {confirmAction && (\n <Confirm\n open\n onClose={handleCloseConfirm}\n onConfirm={() => {\n void handleConfirm().catch(() => undefined);\n }}\n confirming={runningActionId === confirmAction.id}\n modalTitle={\n confirmationConfig?.title ??\n 'Tem certeza que deseja executar esta ação?'\n }\n message={\n confirmationConfig?.message ??\n 'Essa ação será aplicada aos itens selecionados.'\n }\n cancelButtonText={confirmationConfig?.cancelButtonText ?? 'Cancelar'}\n confirmButtonText={\n confirmationConfig?.confirmButtonText ?? 'Confirmar'\n }\n confirmButtonProps={{\n color: confirmAction.color ?? 'primary',\n }}\n />\n )}\n </>\n );\n};\n\nexport default BulkActionsBar;\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"]}
|
package/dist/chunk-D3RY7C7B.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import p from '@mui/lab/LoadingButton';
|
|
2
|
-
import c from '@mui/material/Button';
|
|
3
|
-
import u from '@mui/material/Dialog';
|
|
4
|
-
import C from '@mui/material/DialogActions';
|
|
5
|
-
import D from '@mui/material/DialogContent';
|
|
6
|
-
import x from '@mui/material/DialogTitle';
|
|
7
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
|
-
|
|
9
|
-
var B=({modalTitle:r="Tem certeza que deseja excluir?",message:n="Essa a\xE7\xE3o n\xE3o poder\xE1 ser desfeita.",cancelButtonText:a="Cancelar",confirmButtonText:e="Sim, excluir registro",onClose:i,onConfirm:l,confirming:m,child:g,cancelButtonProps:f,confirmButtonProps:s,...d})=>jsxs(u,{fullWidth:!0,maxWidth:"xs",...d,onClose:i,children:[jsx(x,{children:r}),jsx(D,{children:n}),g,jsxs(C,{children:[jsx(c,{variant:"outlined",color:"inherit",onClick:i,size:"large",...f,children:a}),jsx(p,{variant:"contained",onClick:l,size:"large",loading:m,...s,children:e})]})]}),L=B;
|
|
10
|
-
|
|
11
|
-
export { L as a };
|
|
12
|
-
//# sourceMappingURL=chunk-D3RY7C7B.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Confirm/index.tsx"],"names":["LoadingButton","Button","Dialog","DialogActions","DialogContent","DialogTitle","jsx","jsxs","Confirm","modalTitle","message","cancelButtonText","confirmButtonText","onClose","onConfirm","confirming","child","cancelButtonProps","confirmButtonProps","other","Confirm_default"],"mappings":"AAAA,OAAOA,MAAmB,yBAC1B,OAAOC,MAAY,uBACnB,OAAOC,MAAY,uBACnB,OAAOC,MAAmB,8BAC1B,OAAOC,MAAmB,8BAC1B,OAAOC,MAAiB,4BAmBlB,cAAAC,EAIA,QAAAC,MAJA,oBAfN,IAAMC,EAAU,CAAC,CACf,WAAAC,EAAa,kCACb,QAAAC,EAAU,iDACV,iBAAAC,EAAmB,WACnB,kBAAAC,EAAoB,wBACpB,QAAAC,EACA,UAAAC,EACA,WAAAC,EACA,MAAAC,EACA,kBAAAC,EACA,mBAAAC,EACA,GAAGC,CACL,IAEIZ,EAACL,EAAA,CAAO,UAAS,GAAC,SAAS,KAAM,GAAGiB,EAAO,QAASN,EAClD,UAAAP,EAACD,EAAA,CAAa,SAAAI,EAAW,EAEzBH,EAACF,EAAA,CAAe,SAAAM,EAAQ,EACvBM,EACDT,EAACJ,EAAA,CACC,UAAAG,EAACL,EAAA,CACC,QAAQ,WACR,MAAM,UACN,QAASY,EACT,KAAK,QACJ,GAAGI,EAEH,SAAAN,EACH,EAEAL,EAACN,EAAA,CACC,QAAQ,YACR,QAASc,EACT,KAAK,QACL,QAASC,EACR,GAAGG,EAEH,SAAAN,EACH,GACF,GACF,EAIGQ,EAAQZ","sourcesContent":["import LoadingButton from '@mui/lab/LoadingButton';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nimport { ConfirmProps } from './props';\n\nconst Confirm = ({\n modalTitle = 'Tem certeza que deseja excluir?',\n message = 'Essa ação não poderá ser desfeita.',\n cancelButtonText = 'Cancelar',\n confirmButtonText = 'Sim, excluir registro',\n onClose,\n onConfirm,\n confirming,\n child,\n cancelButtonProps,\n confirmButtonProps,\n ...other\n}: ConfirmProps) => {\n return (\n <Dialog fullWidth maxWidth=\"xs\" {...other} onClose={onClose}>\n <DialogTitle>{modalTitle}</DialogTitle>\n\n <DialogContent>{message}</DialogContent>\n {child}\n <DialogActions>\n <Button\n variant=\"outlined\"\n color=\"inherit\"\n onClick={onClose}\n size=\"large\"\n {...cancelButtonProps}\n >\n {cancelButtonText}\n </Button>\n\n <LoadingButton\n variant=\"contained\"\n onClick={onConfirm}\n size=\"large\"\n loading={confirming}\n {...confirmButtonProps}\n >\n {confirmButtonText}\n </LoadingButton>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport default Confirm;\n"]}
|