@zydon/common 2.7.87 → 2.7.88
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-TB4Y7LXN.js → chunk-2W54CJ6E.js} +3 -3
- package/dist/chunk-2W54CJ6E.js.map +1 -0
- package/dist/chunk-3C7RDPW6.js +19 -0
- package/dist/chunk-3C7RDPW6.js.map +1 -0
- package/dist/chunk-4P2L7UJA.js +5 -0
- package/dist/chunk-4P2L7UJA.js.map +1 -0
- package/dist/chunk-CJXYDF24.js +26 -0
- package/dist/chunk-CJXYDF24.js.map +1 -0
- package/dist/chunk-G5LWV77F.js +12 -0
- package/dist/chunk-G5LWV77F.js.map +1 -0
- package/dist/chunk-HNEGKBXI.js +5 -0
- package/dist/chunk-HNEGKBXI.js.map +1 -0
- package/dist/chunk-K4FZQR7Q.js +19 -0
- package/dist/chunk-K4FZQR7Q.js.map +1 -0
- package/dist/chunk-LG2B5RFV.js +12 -0
- package/dist/chunk-LG2B5RFV.js.map +1 -0
- package/dist/{chunk-QGWIO2AX.js → chunk-MZOCS5HH.js} +3 -3
- package/dist/{chunk-UJIMMQAD.js → chunk-VXSEKK3V.js} +2 -2
- package/dist/chunk-ZOUROFZV.js +9 -0
- package/dist/chunk-ZOUROFZV.js.map +1 -0
- package/dist/components/Autocomplete/index.d.ts +1 -1
- package/dist/components/Autocomplete/index.js +1 -1
- package/dist/components/AutocompleteDetailed/index.d.ts +2 -2
- package/dist/components/AutocompleteDetailed/index.js +1 -1
- package/dist/components/AvatarButton/index.js +3 -3
- package/dist/components/BulkEditModal/index.js +3 -3
- package/dist/components/CardBrand/index.d.ts +4 -2
- package/dist/components/CardBrand/index.js +2 -2
- package/dist/components/CardBrand/index.js.map +1 -1
- package/dist/components/Common/index.js +3 -3
- package/dist/components/DataView/index.d.ts +8 -5
- package/dist/components/DataView/index.js +2 -2
- package/dist/components/DateRangeCalendar/index.d.ts +8 -4
- package/dist/components/DateRangeCalendar/index.js +3 -3
- package/dist/components/DateRangeCalendar/index.js.map +1 -1
- package/dist/components/DynamicDataView/index.d.ts +57 -33
- package/dist/components/DynamicDataView/index.js +32 -14
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -2
- package/dist/components/IconButton/index.d.ts +0 -2
- package/dist/components/IconButton/index.js +1 -1
- package/dist/components/ResponsivePopover/index.d.ts +19 -0
- package/dist/components/ResponsivePopover/index.js +4 -0
- package/dist/components/ResponsivePopover/index.js.map +1 -0
- package/dist/components/ToggleTheme/index.js +3 -3
- package/dist/components/form/Address/index.js +2 -2
- package/dist/components/form/Autocomplete/index.d.ts +1 -1
- package/dist/components/form/Autocomplete/index.js +2 -2
- package/dist/components/form/AutocompleteDetailed/index.d.ts +1 -1
- package/dist/components/form/AutocompleteDetailed/index.js +3 -3
- package/dist/components/form/AutocompleteDetailed/index.js.map +1 -1
- package/dist/components/form/Codes/index.js +2 -2
- package/dist/components/form/Codes/index.js.map +1 -1
- package/dist/components/form/FileUpload/index.js +2 -2
- package/dist/components/form/Webhook/index.js +2 -2
- package/dist/hooks/useAutocomplete.js +3 -3
- package/dist/hooks/useAutocomplete.js.map +1 -1
- package/dist/hooks/useThemeToggle.js +3 -3
- package/dist/hooks/useUploadImage.d.ts +2 -1
- package/dist/hooks/useUploadImage.js +1 -1
- package/dist/hooks/useUploadImage.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/theme/theme-provider.js +3 -3
- package/dist/types/autoCompleteProps.d.ts +1 -1
- package/dist/types/entityMetadata.d.ts +30 -3
- package/dist/types/entityMetadata.js +1 -1
- package/dist/types/export.d.ts +42 -0
- package/dist/types/export.js +5 -0
- package/dist/types/export.js.map +1 -0
- package/dist/types/filter.d.ts +44 -0
- package/dist/types/filter.js +3 -0
- package/dist/types/filter.js.map +1 -0
- package/dist/utils/buildExportPayload.d.ts +20 -0
- package/dist/utils/buildExportPayload.js +8 -0
- package/dist/utils/buildExportPayload.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-4HWP7ZLZ.js +0 -26
- package/dist/chunk-4HWP7ZLZ.js.map +0 -1
- package/dist/chunk-5PLCCVXS.js +0 -9
- package/dist/chunk-5PLCCVXS.js.map +0 -1
- package/dist/chunk-A22V4WPA.js +0 -19
- package/dist/chunk-A22V4WPA.js.map +0 -1
- package/dist/chunk-CKYSHYJK.js +0 -19
- package/dist/chunk-CKYSHYJK.js.map +0 -1
- package/dist/chunk-FCXNL2OG.js +0 -12
- package/dist/chunk-FCXNL2OG.js.map +0 -1
- package/dist/chunk-TB4Y7LXN.js.map +0 -1
- /package/dist/{chunk-QGWIO2AX.js.map → chunk-MZOCS5HH.js.map} +0 -0
- /package/dist/{chunk-UJIMMQAD.js.map → chunk-VXSEKK3V.js.map} +0 -0
|
@@ -3,11 +3,11 @@ import l from '@mui/material/Divider';
|
|
|
3
3
|
import n from '@mui/material/Stack';
|
|
4
4
|
import { styled } from '@mui/material/styles';
|
|
5
5
|
import { useCallback, useMemo } from 'react';
|
|
6
|
-
import
|
|
6
|
+
import w from '@mui/material/TablePagination';
|
|
7
7
|
import { jsx } from 'react/jsx-runtime';
|
|
8
8
|
|
|
9
|
-
var I=styled(a,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({position:"relative",borderRadius:12,padding:0,gap:0,overflow:"hidden",[o.breakpoints.down(t)]:{borderColor:o.palette.divider}})),M=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:"24px 24px 0",gap:24,[o.breakpoints.down(t)]:{padding:"16px 16px 0"}})),S=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({flexDirection:"row",alignItems:"center",gap:12,color:o.palette.text.secondary,[o.breakpoints.down(t)]:{"& button, & a":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}})),B=styled(l)({borderStyle:"dashed",height:16,margin:"auto"}),T=styled(l)({borderStyle:"dashed",height:12,marginTop:"auto",marginBottom:"auto"}),H=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({position:"relative",padding:16,flexDirection:"row",alignItems:"center",color:o.palette.text.secondary,[o.breakpoints.down(t)]:{padding:"12px 16px",borderBottom:`1px solid ${o.palette.divider}`,minHeight:60,[o.breakpoints.down(t)]:{"& button":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}}})),F=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({width:320,alignItems:"center",justifyContent:"center",[o.breakpoints.down(t)]:{
|
|
9
|
+
var I=styled(a,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({position:"relative",borderRadius:12,padding:0,gap:0,overflow:"hidden",[o.breakpoints.down(t)]:{borderColor:o.palette.divider}})),M=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:"24px 24px 0",gap:24,[o.breakpoints.down(t)]:{padding:"16px 16px 0"}})),S=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({flexDirection:"row",alignItems:"center",gap:12,color:o.palette.text.secondary,[o.breakpoints.down(t)]:{"& button, & a":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}})),B=styled(l)({borderStyle:"dashed",height:16,margin:"auto"}),T=styled(l)({borderStyle:"dashed",height:12,marginTop:"auto",marginBottom:"auto"}),H=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({position:"relative",padding:16,flexDirection:"row",alignItems:"center",color:o.palette.text.secondary,[o.breakpoints.down(t)]:{padding:"12px 16px",borderBottom:`1px solid ${o.palette.divider}`,minHeight:60,[o.breakpoints.down(t)]:{"& button":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}}})),F=styled(n,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:t})=>({width:320,flexDirection:"row",alignItems:"center",justifyContent:"center",[o.breakpoints.down(t)]:{width:"100%",zIndex:1,"& fieldset, & input":{display:"flex"},"& .MuiInputAdornment-root":{marginLeft:0}}})),g=styled(n)(({theme:o})=>({"& .MuiToolbar-root":{height:24,minHeight:24,overflow:"hidden",[o.breakpoints.down("sm")]:{height:"auto",flexWrap:"wrap",justifyContent:"center"}}})),W=styled(n)(({theme:o})=>({minHeight:60,alignItems:"flex-end",justifyContent:"center",borderTop:`1px solid ${o.palette.divider}`,[o.breakpoints.down("sm")]:{minHeight:"auto"}})),$=styled(n)(({theme:o})=>({flexDirection:"row",height:60,alignItems:"center",justifyContent:"space-between",borderTop:`1px solid ${o.palette.divider}`,gap:16,padding:16}));var P=({count:o,page:t,rowsPerPage:i,onPageChange:r,onRowsPerPageChange:a})=>{let p=Math.ceil(o/i)||1,u=useCallback((d,x)=>{r(x);},[r]),f=useCallback(d=>{a(Number(d.target.value));},[a]),h=useMemo(()=>`P\xE1gina ${t+1} de ${p}`,[t,p]);return jsx(g,{"aria-label":h,"aria-live":"polite",role:"navigation",children:jsx(w,{color:"primary",component:"div",size:"small",count:o,page:t,rowsPerPage:i,onPageChange:u,onRowsPerPageChange:f})})},R=P;
|
|
10
10
|
|
|
11
11
|
export { I as a, M as b, S as c, B as d, T as e, H as f, F as g, W as h, $ as i, R as j };
|
|
12
12
|
//# sourceMappingURL=out.js.map
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-2W54CJ6E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DataView/styles.ts","../src/components/DataView/Pagination.tsx"],"names":["Divider","Stack","styled","Container","Panel_default","prop","theme","breakpoint","Header","ActionsContainer","ActionsDivider","ToolbarActionsDivider","Topbar","SearchContainer","PaginationContainer","MobilePaginationContainer","DesktopPaginationContainer","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 Divider from '@mui/material/Divider';\nimport Stack, { StackProps } from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport { Breakpoint } from '@mui/material/styles';\n\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: '24px 24px 0',\n gap: 24,\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: '16px 16px 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: 12,\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)({\n borderStyle: 'dashed',\n height: 16,\n margin: 'auto',\n});\n\nexport const ToolbarActionsDivider = styled(Divider)({\n borderStyle: 'dashed',\n height: 12,\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: 16,\n flexDirection: 'row',\n alignItems: 'center',\n color: theme.palette.text.secondary,\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: '12px 16px',\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: 16,\n padding: 16,\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"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { a } from './chunk-VR3K2Y2C.js';
|
|
2
|
+
import { b } from './chunk-RPO7AI5K.js';
|
|
3
|
+
import k, { memo, useMemo, forwardRef, useCallback, useState, useDeferredValue, useEffect } from 'react';
|
|
4
|
+
import Be, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
5
|
+
import Le from '@mui/material/CircularProgress';
|
|
6
|
+
import Ie from '@mui/material/TextField';
|
|
7
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import { VariableSizeList } from 'react-window';
|
|
9
|
+
import ke from '@mui/material/ListSubheader';
|
|
10
|
+
import Y from '@mui/material/Typography';
|
|
11
|
+
import T from '@mui/material/Stack';
|
|
12
|
+
import Oe from '@mui/material/Popper';
|
|
13
|
+
import { styled } from '@mui/material/styles';
|
|
14
|
+
|
|
15
|
+
var _=memo(({params:e,name:r,placeholder:o,error:t,helperText:n,label:i,required:a,loading:p,tabIndex:m})=>jsx(Ie,{...e,name:r,placeholder:o,fullWidth:!0,error:!!t,helperText:n,label:i,required:a,InputProps:{...e.InputProps,endAdornment:jsxs(Fragment,{children:[p?jsx(Le,{color:"primary",size:20}):null,e.InputProps.endAdornment]})},inputProps:{...e.inputProps,name:r,tabIndex:m}}));_.displayName="AutocompleteDetailedInput";var U=_;var X=styled(Oe)({[`& .${autocompleteClasses.listbox}`]:{boxSizing:"border-box","& ul":{padding:0,margin:0}}}),F=styled(T)(({theme:e})=>({flex:1,width:"100%",gap:6,[e.breakpoints.down("md")]:{flexDirection:"column"},[e.breakpoints.up("md")]:{flexDirection:"row"}})),w=styled(T)(({theme:e})=>({flex:1,maxWidth:"100%",gap:6,[e.breakpoints.up("md")]:{flex:"1 1 calc(50% - 8px)",width:"calc(50% - 8px)",minWidth:"calc(50% - 8px)",maxWidth:"calc(50% - 8px)"}})),q=styled(T)(({theme:e})=>({position:"relative",alignItems:"center",justifyContent:"center",width:68,height:68,borderRadius:8,overflow:"hidden",img:{position:"absolute",width:"100%",height:"100%",objectFit:"cover"},[e.breakpoints.down("sm")]:{display:"none"}})),J=styled("hr")(({theme:e})=>({borderStyle:"dashed",position:"absolute",bottom:0,width:"100%",margin:0,borderColor:e.palette.divider,borderWidth:"0 0 thin"}));var we={width:68,height:68,borderRadius:1},Z=memo(({option:e})=>{let r=useMemo(()=>Object.keys(e).filter(t=>t.startsWith("field")).map((t,n)=>{let i=e[t];if(i&&typeof i=="object"){let a="label"in i?i.label:null,p="value"in i?i.value:null;return jsxs(Y,{component:"span",variant:"body2",color:"textPrimary",noWrap:!0,children:[a,": ",p]},`${t}:${n}`)}}),[e]),o=useMemo(()=>e.image?jsx("img",{alt:"Imagem",src:e.image}):jsx(a,{alt:e.label||e.value.toString(),name:e.label||e.value.toString(),sx:we}),[e]);return jsxs(Fragment,{children:[jsxs(T,{direction:"row",gap:2,margin:2,children:[jsx(q,{children:o}),jsxs(T,{flex:1,overflow:"hidden",children:[jsxs(Y,{variant:"subtitle2",color:"textPrimary",noWrap:!0,flex:1,children:[e.value," - ",e.label]}),r.length>0&&jsxs(F,{width:1,children:[jsxs(w,{children:[r[0]?r[0]:void 0,r[1]?r[1]:void 0]}),(r[2]||r[3])&&jsxs(w,{children:[r[2]?r[2]:void 0,r[3]?r[3]:void 0]})]})]})]}),jsx(J,{className:"border"})]})});Z.displayName="ListItem";var R=Z;var D=8,ee=memo(e=>{let{data:r,index:o,style:t}=e,n=r[o],i={...t,top:t.top+D,paddingTop:8,display:"block"};if(Object.prototype.hasOwnProperty.call(n,"group")){let m=n;return jsx(ke,{component:"div",style:i,children:m.group},`list-box-item-group-${m.group}`)}let a=n,p=a.props?.children?.props;return jsx(Y,{component:"li",...a.props,noWrap:!0,style:i,children:jsx(R,{...p})})});ee.displayName="ListboxRow";var te=ee;var ie=k.createContext({}),ae=forwardRef((e,r)=>{let o=k.useContext(ie);return jsx("div",{ref:r,...e,...o})});ae.displayName="OuterElementType";var He=e=>{let r=k.useRef(null);return useEffect(()=>{r.current!=null&&r.current.resetAfterIndex(0,!0);},[e]),r},Ne=forwardRef(function(r,o){let{children:t,"data-item-height":n,...i}=r,a=useMemo(()=>{let l=[];return t.forEach(u=>{l.push(u),Object.prototype.hasOwnProperty.call(u,"children")&&Array.isArray(u.children)&&l.push(...u.children);}),l},[t]),p=a.length,m=n>112?n:112,f=useCallback(l=>Object.prototype.hasOwnProperty.call(l,"group")?48:m,[m]),b=useMemo(()=>p>8?8*m:a.map(f).reduce((l,u)=>l+u,0),[p,m,a,f]),L=He(p),I=useCallback(l=>f(a[l]),[a,f]);return jsx("div",{ref:o,children:jsx(ie.Provider,{value:i,children:jsx(VariableSizeList,{itemData:a,height:b+2*D,width:"100%",ref:L,outerElementType:ae,innerElementType:"ul",itemSize:I,overscanCount:5,itemCount:p,children:te})})})}),le=Ne;var je=e=>e&&typeof e=="object"?e.value.toString():e.toString(),_e=e=>e,Ue=(e,r)=>{let o=r.inputValue.toLocaleUpperCase();return e.filter(t=>`${t.field1?.value} ${t.field1?.label} ${t.field2?.label} ${t.field2?.value} ${t.field3?.label} ${t.field3?.value} ${t.field4?.label} ${t.field4?.value} ${t.field5?.label} ${t.field5?.value} ${t.label}${t.value}`.toLocaleUpperCase().includes(o))},Xe=({key:e,...r},o)=>jsx("li",{...r,style:{display:"block"},children:jsx(R,{option:o})},e),pe=memo(forwardRef(({name:e,label:r,value:o,options:t=[],loading:n,noOptionsText:i="Nenhum resultado encontrado.",loadingText:a="Carregando op\xE7\xF5es...",error:p,helperText:m,placeholder:f,onChange:b$1,groupBy:L,disabled:I,multiple:l,required:u,renderOption:me,tabIndex:M,onSearch:v,onInputChange:S,...ue},de)=>{let[$,C]=useState(""),[H,ce]=useState(null),O=useDeferredValue($),N=b("down","md"),fe=useMemo(()=>l?(Array.isArray(o)?o:[]).reduce((d,xe)=>{let W=t.find(Pe=>Pe.value.toString()===xe.toString());return W?[...d,W]:[...d]},[]):t.find(s=>s.value.toString()===o?.toString())||null,[t,o,l]),z=useMemo(()=>N&&t[0]?Object.keys(t[0]).length*24:void 0,[N,t]),be=useCallback((g,s,d)=>{if(ce(d),S&&S(g,s,d),d==="input"){v&&v(s),C(s);return}if(d==="reset"){C(s);return}d==="clear"&&C("");},[S,v]),ge=useCallback((g,s)=>{if(!s){b$1(l?[]:null);return}if(Array.isArray(s)){b$1(s.map(je));return}b$1(typeof s=="string"?s.toString():s.value.toString());},[b$1,l]),he=useMemo(()=>({"data-item-height":z}),[z]),ye=useCallback(g=>jsx(U,{params:g,name:e,placeholder:f,error:p,helperText:m,label:r,required:u,loading:n,tabIndex:M}),[e,f,p,m,r,u,n,M]),Re=useMemo(()=>!O||H==="reset"?t:Ue(t,{inputValue:O}),[t,O,H]);return jsx(Be,{ref:de,value:fe,inputValue:$,onInputChange:be,options:Re,loading:n,noOptionsText:i,loadingText:a,disabled:n||I,disableListWrap:!0,PopperComponent:X,ListboxProps:he,ListboxComponent:me?void 0:le,onChange:ge,renderOption:Xe,renderGroup:_e,groupBy:L,multiple:l,renderInput:ye,...ue})}));pe.displayName="Autocomplete";var kt=pe;
|
|
16
|
+
|
|
17
|
+
export { kt as a };
|
|
18
|
+
//# sourceMappingURL=out.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-3C7RDPW6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AutocompleteDetailed/index.tsx","../src/components/AutocompleteDetailed/AutocompleteDetailedInput.tsx","../src/components/AutocompleteDetailed/Listbox.tsx","../src/components/AutocompleteDetailed/ListboxRow.tsx","../src/components/AutocompleteDetailed/ListItem.tsx","../src/components/AutocompleteDetailed/styles.ts"],"names":["forwardRef","memo","useCallback","useDeferredValue","useMemo","useState","MuiAutocomplete","CircularProgress","TextField","Fragment","jsx","jsxs","AutocompleteDetailedInput","params","name","placeholder","error","helperText","label","required","loading","tabIndex","AutocompleteDetailedInput_default","React","useEffect","VariableSizeList","ListSubheader","Typography","Stack","autocompleteClasses","Popper","styled","StyledPopper","OptionBox","theme","OptionContent","ImageContainer","DividerStyled","AVATAR_SX","ListItem","option","options","key","index","data","value","image","CustomAvatar_default","ListItem_default","LISTBOX_PADDING","ListboxRow","props","style","dataSet","inlineStyle","groupItem","element","listItemProps","ListboxRow_default","OuterElementContext","OuterElementType","ref","outerProps","useResetCache","ListboxComponent","children","dataItemHeight","other","itemData","item","itemCount","itemSize","getChildSize","child","getHeight","a","b","gridRef","getItemSize","Listbox_default","getOptionValue","optionValue","renderGroup","filterOptions","opts","state","searchValue","opt","renderOptionListItem","AutocompleteDetailed","noOptionsText","loadingText","onChange","groupBy","disabled","multiple","renderOption","onSearch","onInputChange","inputValue","setInputValue","inputReason","setInputReason","deferredInputValue","mdDown","useResponsive_default","formattedValue","acc","curr","optionHeight","handleInputChange","event","eventValue","reason","handleChange","_","listboxProps","memoizedRenderInput","filteredOptions","AutocompleteDetailed_default"],"mappings":"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","sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n memo,\n ReactNode,\n useCallback,\n useDeferredValue,\n useMemo,\n useState,\n} from 'react';\nimport MuiAutocomplete, {\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n} from '@mui/material/Autocomplete';\n\nimport useResponsive from 'hooks/useResponsive';\nimport { Option } from 'types/option';\n\nimport AutocompleteDetailedInput from './AutocompleteDetailedInput';\nimport ListboxComponent from './Listbox';\nimport ListItem from './ListItem';\nimport { AutocompleteDetailedProps } from './props';\nimport { StyledPopper } from './styles';\n\nconst getOptionValue = (optionValue: Option | string | number): string =>\n optionValue && typeof optionValue === 'object'\n ? optionValue.value.toString()\n : optionValue.toString();\n\nconst renderGroup = (params: AutocompleteRenderGroupParams) =>\n params as unknown as ReactNode;\n\nconst filterOptions = (opts: Option[], state: { inputValue: string }) => {\n const searchValue = state.inputValue.toLocaleUpperCase();\n return opts.filter(opt => {\n const search = `${opt.field1?.value} ${opt.field1?.label} ${opt.field2?.label} ${opt.field2?.value} ${opt.field3?.label} ${opt.field3?.value} ${opt.field4?.label} ${opt.field4?.value} ${opt.field5?.label} ${opt.field5?.value} ${opt.label}${opt.value}`;\n return search.toLocaleUpperCase().includes(searchValue);\n });\n};\n\nconst renderOptionListItem = (\n { key, ...props }: React.HTMLAttributes<HTMLLIElement> & { key: string },\n option: Option,\n) => {\n return (\n <li key={key} {...props} style={{ display: 'block' }}>\n <ListItem option={option} />\n </li>\n );\n};\n\nconst AutocompleteDetailed = memo(\n forwardRef<unknown, AutocompleteDetailedProps>(\n (\n {\n name,\n label,\n value,\n options = [],\n loading,\n noOptionsText = 'Nenhum resultado encontrado.',\n loadingText = 'Carregando opções...',\n error,\n helperText,\n placeholder,\n onChange,\n groupBy,\n disabled,\n multiple,\n required,\n renderOption,\n tabIndex,\n onSearch,\n onInputChange,\n ...other\n },\n ref,\n ) => {\n const [inputValue, setInputValue] = useState<string>('');\n const [inputReason, setInputReason] = useState<\n 'input' | 'reset' | 'clear' | null\n >(null);\n const deferredInputValue = useDeferredValue(inputValue);\n\n const mdDown = useResponsive('down', 'md');\n\n const formattedValue = useMemo(() => {\n if (multiple) {\n const values = Array.isArray(value) ? value : [];\n\n return values.reduce<Option[]>((acc, curr) => {\n const item = options.find(\n opt => opt.value.toString() === curr.toString(),\n );\n\n if (item) return [...acc, item];\n\n return [...acc];\n }, []);\n }\n\n const item = options.find(\n opt => opt.value.toString() === value?.toString(),\n );\n\n return item || null;\n }, [options, value, multiple]);\n\n const optionHeight = useMemo(\n () =>\n mdDown && options[0]\n ? Object.keys(options[0]).length * 24\n : undefined,\n [mdDown, options],\n );\n\n const handleInputChange = useCallback(\n (\n event: React.SyntheticEvent,\n eventValue: string,\n reason: 'input' | 'reset' | 'clear',\n ) => {\n setInputReason(reason);\n if (onInputChange) onInputChange(event, eventValue, reason);\n\n if (reason === 'input') {\n if (onSearch) onSearch(eventValue);\n setInputValue(eventValue);\n\n return;\n }\n\n if (reason === 'reset') {\n setInputValue(eventValue);\n return;\n }\n\n if (reason === 'clear') {\n setInputValue('');\n }\n },\n [onInputChange, onSearch],\n );\n\n const handleChange = useCallback(\n (\n _: React.SyntheticEvent,\n option: Option | (string | Option)[] | string | null,\n ) => {\n if (!option) {\n onChange(multiple ? [] : null);\n return;\n }\n\n if (Array.isArray(option)) {\n onChange(option.map(getOptionValue));\n return;\n }\n\n onChange(\n typeof option === 'string'\n ? option.toString()\n : option.value.toString(),\n );\n },\n [onChange, multiple],\n );\n\n const listboxProps = useMemo(\n () =>\n ({\n 'data-item-height': optionHeight,\n }) as HTMLAttributes<HTMLUListElement>,\n [optionHeight],\n );\n\n const memoizedRenderInput = useCallback(\n (params: AutocompleteRenderInputParams) => (\n <AutocompleteDetailedInput\n params={params}\n name={name}\n placeholder={placeholder}\n error={error}\n helperText={helperText}\n label={label}\n required={required}\n loading={loading}\n tabIndex={tabIndex}\n />\n ),\n [\n name,\n placeholder,\n error,\n helperText,\n label,\n required,\n loading,\n tabIndex,\n ],\n );\n\n const filteredOptions = useMemo(() => {\n if (!deferredInputValue || inputReason === 'reset') return options;\n return filterOptions(options, { inputValue: deferredInputValue });\n }, [options, deferredInputValue, inputReason]);\n\n return (\n <MuiAutocomplete\n ref={ref}\n value={formattedValue}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n options={filteredOptions}\n loading={loading}\n noOptionsText={noOptionsText}\n loadingText={loadingText}\n disabled={loading || disabled}\n disableListWrap\n PopperComponent={StyledPopper}\n ListboxProps={listboxProps}\n ListboxComponent={renderOption ? undefined : ListboxComponent}\n onChange={handleChange}\n renderOption={renderOptionListItem}\n renderGroup={renderGroup}\n groupBy={groupBy}\n multiple={multiple}\n renderInput={memoizedRenderInput}\n {...other}\n />\n );\n },\n ),\n);\n\nAutocompleteDetailed.displayName = 'Autocomplete';\n\nexport default AutocompleteDetailed;\n","import { memo } from 'react';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\n\nimport { AutocompleteDetailedInputProps } from './props';\n\nconst AutocompleteDetailedInput = memo(\n ({\n params,\n name,\n placeholder,\n error,\n helperText,\n label,\n required,\n loading,\n tabIndex,\n }: AutocompleteDetailedInputProps) => (\n <TextField\n {...params}\n name={name}\n placeholder={placeholder}\n fullWidth\n error={!!error}\n helperText={helperText}\n label={label}\n required={required}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n <>\n {loading ? <CircularProgress color=\"primary\" size={20} /> : null}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n inputProps={{\n ...params.inputProps,\n name,\n tabIndex,\n }}\n />\n ),\n);\n\nAutocompleteDetailedInput.displayName = 'AutocompleteDetailedInput';\n\nexport default AutocompleteDetailedInput;\n","import React, {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n} from 'react';\nimport { VariableSizeList } from 'react-window';\nimport { AutocompleteRenderGroupParams } from '@mui/material/Autocomplete';\n\nimport ListboxRow, { LISTBOX_PADDING } from './ListboxRow';\n\nconst OuterElementContext = React.createContext({});\n\nconst OuterElementType = forwardRef<HTMLDivElement>((props, ref) => {\n const outerProps = React.useContext(OuterElementContext);\n return <div ref={ref} {...props} {...outerProps} />;\n});\n\nOuterElementType.displayName = 'OuterElementType';\n\nconst useResetCache = (data: number) => {\n const ref = React.useRef<VariableSizeList>(null);\n\n useEffect(() => {\n if (ref.current != null) {\n ref.current.resetAfterIndex(0, true);\n }\n }, [data]);\n\n return ref;\n};\n\nconst ListboxComponent = forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLElement>\n>(function ListboxComponent(props, ref) {\n const {\n children,\n // eslint-disable-next-line react/prop-types\n 'data-item-height': dataItemHeight,\n ...other\n } = props as { 'data-item-height': number } & HTMLAttributes<HTMLElement>;\n\n const itemData: (React.ReactElement | AutocompleteRenderGroupParams)[] =\n useMemo(() => {\n const data: (React.ReactElement | AutocompleteRenderGroupParams)[] = [];\n (\n children as (React.ReactElement | AutocompleteRenderGroupParams)[]\n ).forEach(item => {\n data.push(item);\n if (\n Object.prototype.hasOwnProperty.call(item, 'children') &&\n Array.isArray((item as AutocompleteRenderGroupParams).children)\n ) {\n data.push(\n ...((item as AutocompleteRenderGroupParams)\n .children as React.ReactElement[]),\n );\n }\n });\n return data;\n }, [children]);\n const itemCount = itemData.length;\n const itemSize = dataItemHeight > 112 ? dataItemHeight : 112;\n\n const getChildSize = useCallback(\n (child: React.ReactElement | AutocompleteRenderGroupParams) => {\n if (Object.prototype.hasOwnProperty.call(child, 'group')) {\n return 48;\n }\n\n return itemSize;\n },\n [itemSize],\n );\n\n const getHeight = useMemo(() => {\n if (itemCount > 8) {\n return 8 * itemSize;\n }\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\n }, [itemCount, itemSize, itemData, getChildSize]);\n\n const gridRef = useResetCache(itemCount);\n\n const getItemSize = useCallback(\n (index: number) => {\n return getChildSize(itemData[index]);\n },\n [itemData, getChildSize],\n );\n\n return (\n <div ref={ref}>\n <OuterElementContext.Provider value={other}>\n <VariableSizeList\n itemData={itemData}\n height={getHeight + 2 * LISTBOX_PADDING}\n width=\"100%\"\n ref={gridRef}\n outerElementType={OuterElementType}\n innerElementType=\"ul\"\n itemSize={getItemSize}\n overscanCount={5}\n itemCount={itemCount}\n >\n {ListboxRow}\n </VariableSizeList>\n </OuterElementContext.Provider>\n </div>\n );\n});\n\nexport default ListboxComponent;\n","import { memo } from 'react';\nimport { ListChildComponentProps } from 'react-window';\nimport { AutocompleteRenderGroupParams } from '@mui/material/Autocomplete';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Typography from '@mui/material/Typography';\n\nimport ListItem from './ListItem';\nimport { ListItemProps } from './props';\n\nconst LISTBOX_PADDING = 8;\n\nconst ListboxRow = memo((props: ListChildComponentProps) => {\n const { data, index, style } = props;\n const dataSet = data[index] as\n | React.ReactElement\n | AutocompleteRenderGroupParams;\n\n const inlineStyle = {\n ...style,\n top: (style.top as number) + LISTBOX_PADDING,\n paddingTop: 8,\n display: 'block',\n };\n\n if (Object.prototype.hasOwnProperty.call(dataSet, 'group')) {\n const groupItem = dataSet as AutocompleteRenderGroupParams;\n return (\n <ListSubheader\n key={`list-box-item-group-${groupItem.group}`}\n component=\"div\"\n style={inlineStyle}\n >\n {groupItem.group}\n </ListSubheader>\n );\n }\n\n const element = dataSet as React.ReactElement;\n const listItemProps = element.props?.children?.props as ListItemProps;\n\n return (\n <Typography component=\"li\" {...element.props} noWrap style={inlineStyle}>\n <ListItem {...listItemProps} />\n </Typography>\n );\n});\n\nListboxRow.displayName = 'ListboxRow';\n\nexport { LISTBOX_PADDING };\nexport default ListboxRow;\n","import { memo, useMemo } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CustomAvatar from 'components/CustomAvatar';\n\nimport { ListItemProps } from './props';\nimport {\n DividerStyled,\n ImageContainer,\n OptionBox,\n OptionContent,\n} from './styles';\n\nconst AVATAR_SX = { width: 68, height: 68, borderRadius: 1 };\n\nconst ListItem = memo(({ option }: ListItemProps) => {\n const options = useMemo(\n () =>\n Object.keys(option)\n .filter(key => key.startsWith('field'))\n .map((key, index) => {\n const data = option[key];\n\n if (data && typeof data === 'object') {\n const label = ('label' in data ? data.label : null) as string;\n const value = ('value' in data ? data.value : null) as string;\n\n return (\n <Typography\n key={`${key}:${index}`}\n component=\"span\"\n variant=\"body2\"\n color=\"textPrimary\"\n noWrap\n >\n {label}: {value}\n </Typography>\n );\n }\n }),\n [option],\n );\n\n const image = useMemo(\n () =>\n option.image ? (\n <img alt=\"Imagem\" src={option.image} />\n ) : (\n <CustomAvatar\n alt={option.label || option.value.toString()}\n name={option.label || option.value.toString()}\n sx={AVATAR_SX}\n />\n ),\n [option],\n );\n\n return (\n <>\n <Stack direction=\"row\" gap={2} margin={2}>\n <ImageContainer>{image}</ImageContainer>\n\n <Stack flex={1} overflow=\"hidden\">\n <Typography variant=\"subtitle2\" color=\"textPrimary\" noWrap flex={1}>\n {option.value} - {option.label}\n </Typography>\n\n {options.length > 0 && (\n <OptionBox width={1}>\n <OptionContent>\n {options[0] ? options[0] : undefined}\n {options[1] ? options[1] : undefined}\n </OptionContent>\n\n {(options[2] || options[3]) && (\n <OptionContent>\n {options[2] ? options[2] : undefined}\n {options[3] ? options[3] : undefined}\n </OptionContent>\n )}\n </OptionBox>\n )}\n </Stack>\n </Stack>\n\n <DividerStyled className=\"border\" />\n </>\n );\n});\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n","import { autocompleteClasses } from '@mui/material/Autocomplete';\nimport Popper from '@mui/material/Popper';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledPopper = styled(Popper)({\n [`& .${autocompleteClasses.listbox}`]: {\n boxSizing: 'border-box',\n '& ul': {\n padding: 0,\n margin: 0,\n },\n },\n});\n\nexport const OptionBox = styled(Stack)(({ theme }) => ({\n flex: 1,\n width: '100%',\n gap: 6,\n\n [theme.breakpoints.down('md')]: {\n flexDirection: 'column',\n },\n\n [theme.breakpoints.up('md')]: {\n flexDirection: 'row',\n },\n}));\n\nexport const OptionContent = styled(Stack)(({ theme }) => ({\n flex: 1,\n maxWidth: '100%',\n gap: 6,\n\n [theme.breakpoints.up('md')]: {\n flex: '1 1 calc(50% - 8px)',\n width: 'calc(50% - 8px)',\n minWidth: 'calc(50% - 8px)',\n maxWidth: 'calc(50% - 8px)',\n },\n}));\n\nexport const ImageContainer = styled(Stack)(({ theme }) => ({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: 68,\n height: 68,\n borderRadius: 8,\n overflow: 'hidden',\n\n img: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n\n [theme.breakpoints.down('sm')]: {\n display: 'none',\n },\n}));\n\nexport const DividerStyled = styled('hr')(({ theme }) => ({\n borderStyle: 'dashed',\n position: 'absolute',\n bottom: 0,\n width: '100%',\n margin: 0,\n borderColor: theme.palette.divider,\n borderWidth: '0 0 thin',\n}));\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var L=(e=>(e.READ_AND_WRITE="READ_AND_WRITE",e.READ_ONLY="READ_ONLY",e.WRITE_ONLY="WRITE_ONLY",e))(L||{}),N=(_=>(_.TEXT="TEXT",_.BOOLEAN="BOOLEAN",_.DECIMAL="DECIMAL",_.INTEGER="INTEGER",_.DATE="DATE",_.DATETIME="DATETIME",_.FILE="FILE",_.ENTITY="ENTITY",_.LIST="LIST",_))(N||{}),A=(E=>(E.EQUALS="EQUALS",E.NOT_EQUALS="NOT_EQUALS",E.LIKE="LIKE",E.NOT_LIKE="NOT_LIKE",E.IN="IN",E.NOT_IN="NOT_IN",E.GREATER_THAN="GREATER_THAN",E.GREATER_THAN_OR_EQUAL="GREATER_THAN_OR_EQUAL",E.LESS_THAN="LESS_THAN",E.LESS_THAN_OR_EQUAL="LESS_THAN_OR_EQUAL",E.IS_NULL="IS_NULL",E.IS_NOT_NULL="IS_NOT_NULL",E))(A||{});
|
|
2
|
+
|
|
3
|
+
export { L as a, N as b, A as c };
|
|
4
|
+
//# sourceMappingURL=out.js.map
|
|
5
|
+
//# sourceMappingURL=chunk-4P2L7UJA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/entity-metadata.ts"],"names":["AccessType","DataType","Condition"],"mappings":"AAAO,IAAKA,OACVA,EAAA,eAAiB,iBACjBA,EAAA,UAAY,YACZA,EAAA,WAAa,aAHHA,OAAA,IAMAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,UACVA,EAAA,QAAU,UACVA,EAAA,KAAO,OACPA,EAAA,SAAW,WACXA,EAAA,KAAO,OACPA,EAAA,OAAS,SACTA,EAAA,KAAO,OATGA,OAAA,IAYAC,OACVA,EAAA,OAAS,SACTA,EAAA,WAAa,aACbA,EAAA,KAAO,OACPA,EAAA,SAAW,WACXA,EAAA,GAAK,KACLA,EAAA,OAAS,SACTA,EAAA,aAAe,eACfA,EAAA,sBAAwB,wBACxBA,EAAA,UAAY,YACZA,EAAA,mBAAqB,qBACrBA,EAAA,QAAU,UACVA,EAAA,YAAc,cAZJA,OAAA","sourcesContent":["export enum AccessType {\n READ_AND_WRITE = 'READ_AND_WRITE',\n READ_ONLY = 'READ_ONLY',\n WRITE_ONLY = 'WRITE_ONLY',\n}\n\nexport enum DataType {\n TEXT = 'TEXT',\n BOOLEAN = 'BOOLEAN',\n DECIMAL = 'DECIMAL',\n INTEGER = 'INTEGER',\n DATE = 'DATE',\n DATETIME = 'DATETIME',\n FILE = 'FILE',\n ENTITY = 'ENTITY',\n LIST = 'LIST',\n}\n\nexport enum Condition {\n EQUALS = 'EQUALS',\n NOT_EQUALS = 'NOT_EQUALS',\n LIKE = 'LIKE',\n NOT_LIKE = 'NOT_LIKE',\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n GREATER_THAN = 'GREATER_THAN',\n GREATER_THAN_OR_EQUAL = 'GREATER_THAN_OR_EQUAL',\n LESS_THAN = 'LESS_THAN',\n LESS_THAN_OR_EQUAL = 'LESS_THAN_OR_EQUAL',\n IS_NULL = 'IS_NULL',\n IS_NOT_NULL = 'IS_NOT_NULL',\n}\n\nexport interface EntityMetadata {\n name: string;\n id_field_name: string;\n description_field_name: string;\n access_type: AccessType;\n fields?: Field[];\n}\n\nexport interface Field {\n name: string;\n description: string;\n filter_field_name: string | null;\n type: DataType;\n metadata: EntityMetadata | null;\n access_type: AccessType;\n relation_field_name: string | null;\n available_filter_conditions: Condition[];\n}\n\nexport interface EntityMetadataResponse {\n name: string;\n description: string;\n id_field_name: string;\n description_field_name: string;\n access_type: AccessType;\n fields: Field[];\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { a as a$4 } from './chunk-SHJKJLBQ.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 } from './chunk-2W54CJ6E.js';
|
|
6
|
+
import { a as a$9 } from './chunk-I4PPSW36.js';
|
|
7
|
+
import { a as a$3 } from './chunk-CO2KQFUN.js';
|
|
8
|
+
import { a } from './chunk-VPG46WNM.js';
|
|
9
|
+
import { a as a$7 } from './chunk-F65ZXAGV.js';
|
|
10
|
+
import { a as a$1 } from './chunk-LQRRMVFN.js';
|
|
11
|
+
import { b } from './chunk-RPO7AI5K.js';
|
|
12
|
+
import { memo, forwardRef, useState, useCallback, useMemo, Children, isValidElement, cloneElement } from 'react';
|
|
13
|
+
import Fo from 'react-fast-compare';
|
|
14
|
+
import E from '@mui/material/Button';
|
|
15
|
+
import _o from '@mui/material/CircularProgress';
|
|
16
|
+
import Wo from '@mui/material/Divider';
|
|
17
|
+
import x from '@mui/material/Stack';
|
|
18
|
+
import io from '@mui/material/Typography';
|
|
19
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
20
|
+
import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
|
|
21
|
+
|
|
22
|
+
var D="datagrid-actions";var Ao=({rowCount:t,page:e,rowsPerPage:r,onPaginationChange:i$1})=>jsxs(i,{children:[jsxs(x,{direction:"row",alignItems:"center",gap:.5,children:[jsx(io,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(io,{variant:"body2",children:t})]}),jsx(j,{count:t,page:e,rowsPerPage:r,onPageChange:a=>i$1(a,r),onRowsPerPageChange:a=>i$1(e,a)})]}),lo=memo(Ao);var po=(t,e)=>Children.map(t,r=>{if(!isValidElement(r))return r;let i=r.props.onClick,a={};a.onClick=(...f)=>{e(),i&&i(...f);};let C=r.props;return C?.children&&(a.children=po(C.children,e)),cloneElement(r,a)}),Mo=({children:t,onClose:e})=>t?po(t,e):null,co=memo(Mo);var Oo=forwardRef(({children:t,...e},r)=>jsx(E,{...e,ref:r,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:t??"Colunas"}));Oo.displayName="ColumnsButton";var No=({setFilterButtonEl:t})=>{let e=useCallback(r=>{t(r);},[t]);return jsx(a$9,{container:D,children:jsx(GridToolbarColumnsButton,{ref:e,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},mo=No;var Uo=({title:t,headerContent:e$1,breakpoint:r="md",columns:i,rows:a$9=[],mobileRender:C,rowCount:f$1=0,paginationModel:s={page:0,pageSize:25},onPaginationChange:k,actions:G,moreActions:B,onAdd:O,onSearch:N,searchValue:uo,onSearchChange:ho,slots:u,slotProps:go,loading:h$1,fetching:H,containerProps:Po={height:562,maxHeight:562},hideFooter:L,hideHeader:V=!1,showColumnButton:T=!1,filterButton:g$1,activeFilters:z,...Co})=>{let m=a$1(),l=b("down",r),[ko,So]=useState(null),F=!!N,A=!!O,S=!!G,y=!!B,R=l&&y,b$2=!l&&y,bo=S||A||R,_=b$2||F||T||!!g$1||!l,W=useCallback(()=>jsx(lo,{rowCount:f$1,page:s.page,rowsPerPage:s.pageSize,onPaginationChange:k}),[f$1,s,k]),wo=useMemo(()=>({...u,footer:W,...T&&!u?.toolbar&&{toolbar:mo}}),[u,W,T]);return jsxs(a$2,{breakpoint:r,...Po,flex:h$1?1:void 0,minHeight:!h$1&&a$9.length===0?562:void 0,children:[!V&&jsxs(Fragment,{children:[jsxs(b$1,{breakpoint:r,children:[jsx(io,{variant:"overline",color:"text.secondary",noWrap:!0,children:t}),bo&&jsxs(c,{breakpoint:r,children:[S&&G,A&&jsxs(Fragment,{children:[S&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(E,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:O,children:"Adicionar"})]}),R&&jsxs(Fragment,{children:[(S||A)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(E,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:m.onOpen,children:"Mais"})]})]})]}),_&&jsxs(f,{breakpoint:r,children:[jsxs(x,{flex:1,direction:"row",alignItems:"center",id:D,gap:.5,children:[y&&jsxs(Fragment,{children:[b$2&&jsxs(Fragment,{children:[jsx(E,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:m.onOpen,children:"Mais"}),!l&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(b$2||R)&&jsx(a$3,{open:m.open,anchorEl:m.open,onClose:m.onClose,sx:{minWidth:160},disabledArrow:!0,children:jsx(co,{onClose:m.onClose,children:B})})]}),!l&&g$1&&jsxs(Fragment,{children:[g$1,b$2&&jsx(e,{orientation:"vertical",flexItem:!0})]})]}),F&&jsxs(g,{breakpoint:r,children:[jsx(a$4,{value:uo,placeholder:"Buscar",onSearch:N,onChange:p=>ho?.(p.target.value),size:"small",fullWidth:!0,iconPosition:"start"}),l&&g$1&&jsx(x,{ml:1,children:g$1})]})]}),z&&z]}),!_&&!V&&jsx(Wo,{sx:{mt:2}}),e$1&&e$1,l?jsxs(a$5,{isFetching:H,fetching:jsx(a$6,{}),isLoading:h$1,loading:jsx(_o,{sx:{m:"160px auto"}}),isEmpty:a$9.length===0,empty:jsx(x,{flex:1,alignItems:"center",justifyContent:"center",children:u?.noRowsOverlay?jsx(u.noRowsOverlay,{}):jsx(io,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})}),children:[jsx(a$7,{fillContent:!0,children:a$9.map(p=>C(p))}),!L&&jsx(h,{children:jsx(j,{count:f$1,page:s.page,rowsPerPage:s.pageSize,onPageChange:p=>k(p,s.pageSize),onRowsPerPageChange:p=>k(s.page,p)})})]}):jsx(a$8,{columns:i,rows:a$9,slots:wo,slotProps:{panel:{anchorEl:ko},toolbar:{setFilterButtonEl:So,showQuickFilter:!0},...go},columnHeaderHeight:48,getRowHeight:()=>68,loading:h$1,fetching:H,hideFooter:L,...Co})]},h$1?"loading":"data")},Br=memo(Uo,Fo);
|
|
23
|
+
|
|
24
|
+
export { lo as a, co as b, mo as c, Br as d };
|
|
25
|
+
//# sourceMappingURL=out.js.map
|
|
26
|
+
//# sourceMappingURL=chunk-CJXYDF24.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":["memo","useCallback","useMemo","useState","isEqual","Button","CircularProgress","Divider","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","headerContent","breakpoint","columns","rows","mobileRender","paginationModel","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","containerProps","hideFooter","hideHeader","showColumnButton","filterButton","activeFilters","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","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":"6fAAA,OAAS,QAAAA,GAAM,eAAAC,GAAa,WAAAC,GAAS,YAAAC,OAAgB,QACrD,OAAOC,OAAa,qBACpB,OAAOC,MAAY,uBACnB,OAAOC,OAAsB,iCAC7B,OAAOC,OAAa,wBACpB,OAAOC,MAAW,sBAClB,OAAOC,OAAgB,2BCNhB,IAAMC,EAAmB,mBCAhC,OAAS,QAAAV,OAAY,QACrB,OAAOQ,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,GAAQtB,GAAKa,EAAa,ECpCjC,OACE,YAAAU,GACA,gBAAAC,GACA,kBAAAC,GACA,QAAAzB,OAGK,QAIP,IAAM0B,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,GAAQnC,GAAKkC,EAAmB,ECxDvC,OAAS,cAAAE,GAAY,eAAAnC,OAAmB,QACxC,OAAOI,OAA6B,uBACpC,OAAS,4BAAAgC,OAAgC,2BAcxB,cAAA1B,MAAA,oBANjB,IAAM2B,GAAgBF,GACpB,CAAC,CAAE,SAAAT,EAAU,GAAGY,CAAM,EAAGC,IACvB7B,EAACN,GAAA,CACE,GAAGkC,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,EAAyB3C,GAC5B4C,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,GJuCT,OA0CY,YAAAM,EA1CZ,OAAArC,EA0CY,QAAAC,MA1CZ,oBAjDN,IAAMqC,GAAoB,CAAkD,CAC1E,MAAAC,EACA,cAAAC,EACA,WAAAC,EAAa,KACb,QAAAC,EACA,KAAAC,EAAO,CAAC,EACR,aAAAC,EACA,SAAAzC,EAAW,EACX,gBAAA0C,EAAkB,CAAE,KAAM,EAAG,SAAU,EAAG,EAC1C,mBAAAvC,EACA,QAAAwC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,GACA,eAAAC,GACA,MAAAC,EACA,UAAAC,GACA,QAAAC,EACA,SAAAC,EACA,eAAAC,GAAiB,CAAE,OAAQ,IAAK,UAAW,GAAI,EAC/C,WAAAC,EACA,WAAAC,EAAa,GACb,iBAAAC,EAAmB,GACnB,aAAAC,EACA,cAAAC,EACA,GAAGC,EACL,IAAwB,CACtB,IAAMC,EAAUC,EAAW,EACrBC,EAAWC,EAAc,OAAQzB,CAAU,EAC3C,CAAC0B,GAAgBnC,EAAiB,EACtCxC,GAAmC,IAAI,EAEnC4E,EAAa,CAAC,CAACnB,EACfoB,EAAU,CAAC,CAACrB,EACZsB,EAAc,CAAC,CAACxB,EAChByB,EAAkB,CAAC,CAACxB,EACpByB,EAAwBP,GAAYM,EACpCE,EAAwB,CAACR,GAAYM,EACrCG,GAAuBJ,GAAeD,GAAWG,EACjDG,EACJF,GACAL,GACAT,GACA,CAAC,CAACC,GACF,CAACK,EAEGW,EAAkBtF,GACtB,IACEU,EAACW,GAAA,CACC,SAAUR,EACV,KAAM0C,EAAgB,KACtB,YAAaA,EAAgB,SAC7B,mBAAoBvC,EACtB,EAEF,CAACH,EAAU0C,EAAiBvC,CAAkB,CAChD,EAEMuE,GAAoCtF,GACxC,KAAO,CACL,GAAG6D,EACH,OAAQwB,EACR,GAAIjB,GACF,CAACP,GAAO,SAAW,CACjB,QAAShB,EACX,CACJ,GACA,CAACgB,EAAOwB,EAAiBjB,CAAgB,CAC3C,EAEA,OACE1D,EAAC6E,EAAA,CAEC,WAAYrC,EACX,GAAGe,GACJ,KAAMF,EAAU,EAAI,OACpB,UAAW,CAACA,GAAWX,EAAK,SAAW,EAAI,IAAM,OAEhD,WAACe,GACAzD,EAAAoC,EAAA,CACE,UAAApC,EAAC8E,EAAA,CAAO,WAAYtC,EAClB,UAAAzC,EAACF,GAAA,CAAW,QAAQ,WAAW,MAAM,iBAAiB,OAAM,GACzD,SAAAyC,EACH,EAECmC,IACCzE,EAAC+E,EAAA,CAAiB,WAAYvC,EAC3B,UAAA6B,GAAexB,EAEfuB,GACCpE,EAAAoC,EAAA,CACG,UAAAiC,GACCtE,EAACiF,EAAA,CAAe,YAAY,WAAW,SAAQ,GAAC,EAGlDjF,EAACN,EAAA,CACC,UAAWM,EAAC8B,EAAA,CAAK,KAAK,aAAa,EACnC,QAAQ,YACR,QAASkB,EACV,qBAED,GACF,EAGDwB,GACCvE,EAAAoC,EAAA,CACI,WAAAiC,GAAeD,IACfrE,EAACiF,EAAA,CAAe,YAAY,WAAW,SAAQ,GAAC,EAGlDjF,EAACN,EAAA,CACC,MAAM,UACN,UAAWM,EAAC8B,EAAA,CAAK,KAAK,YAAY,EAClC,KAAK,QACL,QAASiC,EAAQ,OAClB,gBAED,GACF,GAEJ,GAEJ,EAECY,GACC1E,EAACiF,EAAA,CAAO,WAAYzC,EAClB,UAAAxC,EAACJ,EAAA,CACC,KAAM,EACN,UAAU,MACV,WAAW,SACX,GAAIE,EACJ,IAAK,GAEJ,UAAAwE,GACCtE,EAAAoC,EAAA,CACG,UAAAoC,GACCxE,EAAAoC,EAAA,CACE,UAAArC,EAACN,EAAA,CACC,MAAM,UACN,UAAWM,EAAC8B,EAAA,CAAK,KAAK,YAAY,EAClC,KAAK,QACL,QAASiC,EAAQ,OAClB,gBAED,EAEC,CAACE,GACAjE,EAACmF,EAAA,CACC,YAAY,WACZ,SAAQ,GACV,GAEJ,GAGAV,GAAyBD,IACzBxE,EAACoF,EAAA,CACC,KAAMrB,EAAQ,KACd,SAAUA,EAAQ,KAClB,QAASA,EAAQ,QACjB,GAAI,CACF,SAAU,GACZ,EACA,cAAe,GAEf,SAAA/D,EAACwB,GAAA,CAAoB,QAASuC,EAAQ,QACnC,SAAAhB,EACH,EACF,GAEJ,EAGD,CAACkB,GAAYL,GACZ3D,EAAAoC,EAAA,CACG,UAAAuB,EAEAa,GACCzE,EAACmF,EAAA,CAAsB,YAAY,WAAW,SAAQ,GAAC,GAE3D,GAEJ,EAECf,GACCnE,EAACoF,EAAA,CAAgB,WAAY5C,EAC3B,UAAAzC,EAACsF,GAAA,CACC,MAAOpC,GACP,YAAY,SACZ,SAAUD,EACV,SAAUsC,GAAKpC,KAAiBoC,EAAE,OAAO,KAAK,EAC9C,KAAK,QACL,UAAS,GACT,aAAa,QACf,EACCtB,GAAYL,GACX5D,EAACH,EAAA,CAAM,GAAI,EAAI,SAAA+D,EAAa,GAEhC,GAEJ,EAGDC,GAAiBA,GACpB,EAGD,CAACc,GAAc,CAACjB,GAAc1D,EAACJ,GAAA,CAAQ,GAAI,CAAE,GAAI,CAAE,EAAG,EAEtD4C,GAAiBA,EAEjByB,EACChE,EAACuF,GAAA,CACC,WAAYjC,EACZ,SAAUvD,EAACyF,GAAA,EAAiB,EAC5B,UAAWnC,EACX,QAAStD,EAACL,GAAA,CAAiB,GAAI,CAAE,EAAG,YAAa,EAAG,EACpD,QAASgD,EAAK,SAAW,EACzB,MACE3C,EAACH,EAAA,CAAM,KAAM,EAAG,WAAW,SAAS,eAAe,SAChD,SAAAuD,GAAO,cACNpD,EAACoD,EAAM,cAAN,EAAoB,EAErBpD,EAACF,GAAA,CAAW,QAAQ,QAAQ,MAAM,iBAAiB,sCAEnD,EAEJ,EAGF,UAAAE,EAAC0F,EAAA,CAAU,YAAW,GACnB,SAAA/C,EAAK,IAAIgD,GAAO/C,EAAa+C,CAAG,CAAC,EACpC,EAEC,CAAClC,GACAzD,EAAC4F,GAAA,CACC,SAAA5F,EAACQ,EAAA,CACC,MAAOL,EACP,KAAM0C,EAAgB,KACtB,YAAaA,EAAgB,SAC7B,aAAcpC,GACZH,EAAmBG,EAASoC,EAAgB,QAAQ,EAEtD,oBAAqBnC,GACnBJ,EAAmBuC,EAAgB,KAAMnC,CAAc,EAE3D,EACF,GAEJ,EAEAV,EAAC6F,GAAA,CACC,QAASnD,EACT,KAAMC,EACN,MAAOkC,GACP,UAAW,CACT,MAAO,CAAE,SAAUV,EAAe,EAClC,QAAS,CACP,kBAAAnC,GACA,gBAAiB,EACnB,EACA,GAAGqB,EACL,EACA,mBAAoB,GACpB,aAAc,IAAM,GACpB,QAASC,EACT,SAAUC,EACV,WAAYE,EACX,GAAGK,GACN,IAtMGR,EAAU,UAAY,MAwM7B,CAEJ,EAEOwC,GAAQzG,GAAKiD,GAAmB7C,EAAO","sourcesContent":["import { memo, useCallback, useMemo, 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 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 headerContent,\n breakpoint = 'md',\n columns,\n rows = [],\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 containerProps = { height: 562, maxHeight: 562 },\n hideFooter,\n hideHeader = false,\n showColumnButton = false,\n filterButton,\n activeFilters,\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\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 () => (\n <DesktopFooter\n rowCount={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPaginationChange={onPaginationChange}\n />\n ),\n [rowCount, paginationModel, onPaginationChange],\n );\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 {!hideHeader && (\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 )}\n\n {!showTopbar && !hideHeader && <Divider sx={{ mt: 2 }} />}\n\n {headerContent && headerContent}\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} 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 }\n >\n <Scrollbar fillContent>\n {rows.map(row => mobileRender(row))}\n </Scrollbar>\n\n {!hideFooter && (\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 {...others}\n />\n )}\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"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { a } from './chunk-VPG46WNM.js';
|
|
2
|
+
import { memo, forwardRef, useMemo } from 'react';
|
|
3
|
+
import w from '@mui/material/Box';
|
|
4
|
+
import E from '@mui/material/CircularProgress';
|
|
5
|
+
import R from '@mui/material/IconButton';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var c=memo(forwardRef(({icon:o,label:e,loading:r=!1,disabled:s=!1,iconProps:m={},children:n,color:a$1="primary.main",boxProps:B={},...l},p)=>{if(!o&&!n)throw new Error("IconButton: icon or children is required");let i=useMemo(()=>o?jsx(a,{icon:o,...m}):n,[o,n,m]),I=useMemo(()=>r?jsx(E,{size:20,color:"inherit"}):i,[r,i]);return jsx(w,{color:a$1,...B,children:jsx(R,{ref:p,color:"inherit","aria-label":e,title:e,disabled:r||s,...l,children:I})})}));c.displayName="IconButton";var L=c;
|
|
9
|
+
|
|
10
|
+
export { L as a };
|
|
11
|
+
//# sourceMappingURL=out.js.map
|
|
12
|
+
//# sourceMappingURL=chunk-G5LWV77F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/IconButton/index.tsx"],"names":["forwardRef","memo","useMemo","Box","CircularProgress","MuiIconButton","jsx","IconButton","icon","label","loading","disabled","iconProps","children","color","boxProps","props","ref","content","Icon_default","loadingContent","IconButton_default"],"mappings":"wCAAA,OAAS,cAAAA,EAAY,QAAAC,EAAM,WAAAC,MAAe,QAC1C,OAAOC,MAAS,oBAChB,OAAOC,MAAsB,iCAC7B,OAAOC,MAAmB,2BA0BJ,cAAAC,MAAA,oBApBtB,IAAMC,EAAaN,EACjBD,EACE,CACE,CACE,KAAAQ,EACA,MAAAC,EACA,QAAAC,EAAU,GACV,SAAAC,EAAW,GACX,UAAAC,EAAY,CAAC,EACb,SAAAC,EACA,MAAAC,EAAQ,eACR,SAAAC,EAAW,CAAC,EACZ,GAAGC,CACL,EACAC,IACG,CACH,GAAI,CAACT,GAAQ,CAACK,EACZ,MAAM,IAAI,MAAM,0CAA0C,EAE5D,IAAMK,EAAUhB,EACd,IAAOM,EAAOF,EAACa,EAAA,CAAK,KAAMX,EAAO,GAAGI,EAAW,EAAKC,EACpD,CAACL,EAAMK,EAAUD,CAAS,CAC5B,EAEMQ,EAAiBlB,EACrB,IACEQ,EAAUJ,EAACF,EAAA,CAAiB,KAAM,GAAI,MAAM,UAAU,EAAKc,EAC7D,CAACR,EAASQ,CAAO,CACnB,EAEA,OACEZ,EAACH,EAAA,CAAI,MAAOW,EAAQ,GAAGC,EACrB,SAAAT,EAACD,EAAA,CACC,IAAKY,EACL,MAAM,UACN,aAAYR,EACZ,MAAOA,EACP,SAAUC,GAAWC,EACpB,GAAGK,EAEH,SAAAI,EACH,EACF,CAEJ,CACF,CACF,EAEAb,EAAW,YAAc,aAEzB,IAAOc,EAAQd","sourcesContent":["import { forwardRef, memo, useMemo } from 'react';\nimport Box from '@mui/material/Box';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport MuiIconButton from '@mui/material/IconButton';\n\nimport Icon from 'components/Icon';\n\nimport { IconButtonProps } from './props';\n\nconst IconButton = memo(\n forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n icon,\n label,\n loading = false,\n disabled = false,\n iconProps = {},\n children,\n color = 'primary.main',\n boxProps = {},\n ...props\n },\n ref,\n ) => {\n if (!icon && !children)\n throw new Error('IconButton: icon or children is required');\n\n const content = useMemo(\n () => (icon ? <Icon icon={icon} {...iconProps} /> : children),\n [icon, children, iconProps],\n );\n\n const loadingContent = useMemo(\n () =>\n loading ? <CircularProgress size={20} color=\"inherit\" /> : content,\n [loading, content],\n );\n\n return (\n <Box color={color} {...boxProps}>\n <MuiIconButton\n ref={ref as React.Ref<HTMLButtonElement>}\n color=\"inherit\"\n aria-label={label}\n title={label}\n disabled={loading || disabled}\n {...props}\n >\n {loadingContent}\n </MuiIconButton>\n </Box>\n );\n },\n ),\n);\n\nIconButton.displayName = 'IconButton';\n\nexport default IconButton;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model/filter.ts"],"names":["FilterOperator","SortType"],"mappings":"AAEO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,GAAK,KAFKA,OAAA,IAuCAC,OACVA,EAAA,IAAM,MACNA,EAAA,KAAO,OAFGA,OAAA","sourcesContent":["import { Condition } from './entity-metadata';\n\nexport enum FilterOperator {\n AND = 'AND',\n OR = 'OR',\n}\n\nexport interface FilterValue {\n fieldName: string;\n conditional: Condition;\n value: string[];\n}\n\nexport interface FilterState {\n [fieldName: string]: FilterValue;\n}\n\nexport interface FilterConditional {\n fieldName: string;\n conditional: Condition;\n value: string[];\n}\n\nexport interface FilterGroup {\n operator: FilterOperator;\n conditionals: FilterConditional[];\n}\n\nexport interface Filter {\n operator: FilterOperator;\n groups: FilterGroup[];\n}\n\nexport interface FilterCondition {\n id: string;\n operator: FilterOperator;\n fieldName: string;\n conditional: Condition;\n value: string[];\n}\n\nexport enum SortType {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\nexport interface Sort {\n fieldName: string;\n sortType: SortType;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { a } from './chunk-VPG46WNM.js';
|
|
2
|
+
import { memo, createContext, forwardRef, useContext, useMemo, useCallback, useState, useRef, useEffect } from 'react';
|
|
3
|
+
import wt, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
4
|
+
import at from '@mui/material/CircularProgress';
|
|
5
|
+
import lt from '@mui/material/TextField';
|
|
6
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
import { VariableSizeList } from 'react-window';
|
|
8
|
+
import { useTheme, styled } from '@mui/material/styles';
|
|
9
|
+
import Ot from '@mui/material/useMediaQuery';
|
|
10
|
+
import bt from '@mui/material/ListSubheader';
|
|
11
|
+
import yt from '@mui/material/Stack';
|
|
12
|
+
import z from '@mui/material/Typography';
|
|
13
|
+
import Ct from '@mui/material/Popper';
|
|
14
|
+
|
|
15
|
+
var G=memo(({params:t,name:e,placeholder:n,error:r,helperText:s,label:m,required:y,multiple:a$1,formattedValue:i,loading:l,tabIndex:u,InputLabelProps:b})=>jsx(lt,{...t,name:e,placeholder:n,fullWidth:!0,error:!!r,helperText:s,label:m,required:y,InputProps:{...t.InputProps,...!a$1&&{startAdornment:i&&!Array.isArray(i)&&i.icon?jsx(a,{icon:i.icon}):void 0},endAdornment:jsxs(Fragment,{children:[l?jsx(at,{color:"primary",size:20}):null,t.InputProps.endAdornment]})},inputProps:{...t.inputProps,name:e,tabIndex:u},InputLabelProps:b}));G.displayName="AutocompleteInput";var N=G;var v=8,V=memo(t=>{let{data:e,index:n,style:r}=t,s=e[n],m={...r,top:r.top+v,paddingTop:8};if(Object.prototype.hasOwnProperty.call(s,"group")){let b=s;return jsx(bt,{component:"div",style:m,children:b.group},`list-box-item-group-${b.group}`)}let[y,a$1]=s,{showValueInLabel:i,key:l,...u}=y;return jsx(z,{component:"li",...u,noWrap:!0,style:m,children:jsxs(yt,{component:"div",direction:"row",flex:1,gap:1,justifyContent:"start",children:[a$1.icon&&jsx(a,{icon:a$1.icon}),a$1.label,i&&jsxs(z,{variant:"inherit",color:"grey.400",children:["(",a$1.value,")"]})]})},`list-box-item-${l}`)});V.displayName="ListboxRow";var $=V;var W=createContext({}),_=forwardRef((t,e)=>{let n=useContext(W);return jsx("div",{ref:e,...t,...n})});_.displayName="OuterElementType";var xt=t=>{let e=useRef(null);return useEffect(()=>{e.current!=null&&e.current.resetAfterIndex(0,!0);},[t]),e},St=forwardRef(function(e,n){let{children:r,...s}=e,m=useMemo(()=>{let c=[];return r.forEach(p=>{c.push(p),Object.prototype.hasOwnProperty.call(p,"children")&&Array.isArray(p.children)&&c.push(...p.children);}),c},[r]),y=useTheme(),a=Ot(y.breakpoints.up("sm")),i=m.length,l=a?36:48,u=useCallback(c=>Object.prototype.hasOwnProperty.call(c,"group")?48:l,[l]),b=useMemo(()=>i>8?8*l:m.map(u).reduce((c,p)=>c+p,0),[i,l,m,u]),I=xt(i);return jsx("div",{ref:n,children:jsx(W.Provider,{value:s,children:jsx(VariableSizeList,{itemData:m,height:b+2*v,width:"100%",ref:I,outerElementType:_,innerElementType:"ul",itemSize:c=>u(m[c]),overscanCount:5,itemCount:i,children:$})})})}),F=St;var X=styled(Ct)({[`& .${autocompleteClasses.listbox}`]:{boxSizing:"border-box","& ul":{padding:0,margin:0}}});var Ht=t=>t&&typeof t=="object"?t.value.toString():t.toString(),kt=t=>t,Gt=(t,e)=>{let n=e.inputValue.toLocaleUpperCase();return t.filter(r=>`${r.value} ${r.label}`.toLocaleUpperCase().includes(n))},J=memo(forwardRef(({name:t,label:e,value:n,options:r=[],loading:s,noOptionsText:m="Nenhum resultado encontrado.",loadingText:y="Carregando op\xE7\xF5es...",error:a,helperText:i,placeholder:l,onChange:u,groupBy:b,showValueInLabel:I,disabled:c,multiple:p,required:M,renderOption:L,tabIndex:w,onInputChange:P,onSearch:R,onBlur:O,InputLabelProps:H,...K},Y)=>{let[Z,x]=useState(""),[tt,et]=useState(null),S=useMemo(()=>p?(Array.isArray(n)?n:[]).reduce((f,T)=>{let k=r.find(mt=>mt.value.toString()===T.toString());return k?[...f,k]:[...f]},[]):r.find(o=>o.value.toString()===n?.toString())||null,[r,n,p]),ot=useCallback((d,o,f)=>{if(et(f),P&&P(d,o,f),f==="input"){R&&R(o),x(o);return}if(f==="reset"){x(o);return}f==="clear"&&x("");},[P,R]),rt=useCallback((d,o)=>{if(!o){u(p?[]:null);return}if(Array.isArray(o)){u(o.map(Ht));return}u(typeof o=="string"?o.toString():o.value.toString());},[u,p]),nt=useCallback(d=>{O&&O(d);},[O]),it=useCallback((d,o,f,T)=>L?L(d,o,f,T):[{...d,showValueInLabel:I},o],[L,I]),pt=useMemo(()=>L?void 0:F,[L]),st=useCallback(d=>jsx(N,{params:d,name:t,placeholder:l,error:a,helperText:i,label:e,required:M,multiple:p,formattedValue:S,loading:s,tabIndex:w,InputLabelProps:H}),[t,l,a,i,e,M,p,S,s,w,H]);return jsx(wt,{ref:Y,value:S,inputValue:Z,onInputChange:ot,options:r,loading:s,noOptionsText:m,loadingText:y,disabled:s||c,disableListWrap:!0,PopperComponent:X,ListboxComponent:pt,filterOptions:tt==="reset"?void 0:Gt,onChange:rt,onBlur:nt,renderOption:it,renderGroup:kt,groupBy:b,multiple:p,renderInput:st,...K})}));J.displayName="Autocomplete";var Ae=J;
|
|
16
|
+
|
|
17
|
+
export { Ae as a };
|
|
18
|
+
//# sourceMappingURL=out.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-K4FZQR7Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Autocomplete/index.tsx","../src/components/Autocomplete/AutocompleteInput.tsx","../src/components/Autocomplete/Listbox.tsx","../src/components/Autocomplete/ListboxRow.tsx","../src/components/Autocomplete/styles.ts"],"names":["forwardRef","memo","useCallback","useMemo","useState","MuiAutocomplete","CircularProgress","TextField","Fragment","jsx","jsxs","AutocompleteInput","params","name","placeholder","error","helperText","label","required","multiple","formattedValue","loading","tabIndex","InputLabelProps","Icon_default","AutocompleteInput_default","createContext","useContext","useEffect","useRef","VariableSizeList","useTheme","useMediaQuery","ListSubheader","Stack","Typography","LISTBOX_PADDING","ListboxRow","props","data","index","style","dataSet","inlineStyle","groupItem","itemProps","option","showValueInLabel","key","otherItemProps","ListboxRow_default","OuterElementContext","OuterElementType","ref","outerProps","useResetCache","ListboxComponent","children","other","itemData","item","theme","smUp","itemCount","itemSize","getChildSize","child","itemsHeight","a","b","gridRef","Listbox_default","autocompleteClasses","Popper","styled","StyledPopper","getOptionValue","optionValue","renderGroup","filterOptions","optionsFilter","state","searchValue","opt","Autocomplete","value","options","noOptionsText","loadingText","onChange","groupBy","disabled","renderOption","onInputChange","onSearch","onBlur","inputValue","setInputValue","inputReason","setInputReason","acc","curr","handleInputChange","event","eventValue","reason","handleChange","_","handleBlur","memoizedRenderOption","ownerState","renderListbox","memoizedRenderInput","Autocomplete_default"],"mappings":"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","sourcesContent":["import {\n forwardRef,\n memo,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport MuiAutocomplete, {\n AutocompleteOwnerState,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n AutocompleteRenderOptionState,\n} from '@mui/material/Autocomplete';\n\nimport { AutocompleteProps } from 'types/autoCompleteProps';\nimport { Option } from 'types/option';\n\nimport AutocompleteInput from './AutocompleteInput';\nimport ListboxComponent from './Listbox';\nimport { StyledPopper } from './styles';\n\nconst getOptionValue = (optionValue: Option | string | number): string =>\n optionValue && typeof optionValue === 'object'\n ? optionValue.value.toString()\n : optionValue.toString();\n\nconst renderGroup = (params: AutocompleteRenderGroupParams) =>\n params as unknown as ReactNode;\n\nconst filterOptions = (\n optionsFilter: Option[],\n state: { inputValue: string },\n) => {\n const searchValue = state.inputValue.toLocaleUpperCase();\n return optionsFilter.filter(opt => {\n const search = `${opt.value} ${opt.label}`;\n\n return search.toLocaleUpperCase().includes(searchValue);\n });\n};\n\nconst Autocomplete = memo(\n forwardRef<unknown, AutocompleteProps>(\n (\n {\n name,\n label,\n value,\n options = [],\n loading,\n noOptionsText = 'Nenhum resultado encontrado.',\n loadingText = 'Carregando opções...',\n error,\n helperText,\n placeholder,\n onChange,\n groupBy,\n showValueInLabel,\n disabled,\n multiple,\n required,\n renderOption,\n tabIndex,\n onInputChange,\n onSearch,\n onBlur,\n InputLabelProps,\n ...other\n },\n ref,\n ) => {\n const [inputValue, setInputValue] = useState<string>('');\n const [inputReason, setInputReason] = useState<\n 'input' | 'reset' | 'clear' | null\n >(null);\n\n const formattedValue = useMemo(() => {\n if (multiple) {\n const values = Array.isArray(value) ? value : [];\n\n return values.reduce<Option[]>((acc, curr) => {\n const item = options.find(\n opt => opt.value.toString() === curr.toString(),\n );\n\n if (item) return [...acc, item];\n\n return [...acc];\n }, []);\n }\n\n const item = options.find(\n opt => opt.value.toString() === value?.toString(),\n );\n\n return item || null;\n }, [options, value, multiple]);\n\n const handleInputChange = useCallback(\n (\n event: React.SyntheticEvent,\n eventValue: string,\n reason: 'input' | 'reset' | 'clear',\n ) => {\n setInputReason(reason);\n if (onInputChange) onInputChange(event, eventValue, reason);\n\n if (reason === 'input') {\n if (onSearch) {\n onSearch(eventValue);\n }\n setInputValue(eventValue);\n\n return;\n }\n\n if (reason === 'reset') {\n setInputValue(eventValue);\n return;\n }\n\n if (reason === 'clear') {\n setInputValue('');\n }\n },\n [onInputChange, onSearch],\n );\n\n const handleChange = useCallback(\n (\n _: React.SyntheticEvent,\n option: Option | (string | Option)[] | string | null,\n ) => {\n if (!option) {\n onChange(multiple ? [] : null);\n return;\n }\n\n if (Array.isArray(option)) {\n onChange(option.map(getOptionValue));\n return;\n }\n\n onChange(\n typeof option === 'string'\n ? option.toString()\n : option.value.toString(),\n );\n },\n [onChange, multiple],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onBlur) onBlur(event);\n },\n [onBlur],\n );\n\n const memoizedRenderOption = useCallback(\n (\n props: React.HTMLAttributes<HTMLLIElement> & { key: string },\n option: Option,\n state: AutocompleteRenderOptionState,\n ownerState: AutocompleteOwnerState<Option, boolean, boolean, boolean>,\n ) =>\n renderOption\n ? renderOption(props, option, state, ownerState)\n : ([{ ...props, showValueInLabel }, option] as ReactNode),\n [renderOption, showValueInLabel],\n );\n\n const renderListbox = useMemo(\n () => (renderOption ? undefined : ListboxComponent),\n [renderOption],\n );\n\n const memoizedRenderInput = useCallback(\n (params: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n params={params}\n name={name}\n placeholder={placeholder}\n error={error}\n helperText={helperText}\n label={label}\n required={required}\n multiple={multiple}\n formattedValue={formattedValue}\n loading={loading}\n tabIndex={tabIndex}\n InputLabelProps={InputLabelProps}\n />\n ),\n [\n name,\n placeholder,\n error,\n helperText,\n label,\n required,\n multiple,\n formattedValue,\n loading,\n tabIndex,\n InputLabelProps,\n ],\n );\n\n return (\n <MuiAutocomplete\n ref={ref}\n value={formattedValue}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n options={options}\n loading={loading}\n noOptionsText={noOptionsText}\n loadingText={loadingText}\n disabled={loading || disabled}\n disableListWrap\n PopperComponent={StyledPopper}\n ListboxComponent={renderListbox}\n filterOptions={inputReason === 'reset' ? undefined : filterOptions}\n onChange={handleChange}\n onBlur={handleBlur}\n renderOption={memoizedRenderOption}\n renderGroup={renderGroup}\n groupBy={groupBy}\n multiple={multiple}\n renderInput={memoizedRenderInput}\n {...other}\n />\n );\n },\n ),\n);\n\nAutocomplete.displayName = 'Autocomplete';\n\nexport default Autocomplete;\n","import { memo } from 'react';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\n\nimport Icon from '../Icon';\n\nimport { AutocompleteInputProps } from './props';\n\nconst AutocompleteInput = memo(\n ({\n params,\n name,\n placeholder,\n error,\n helperText,\n label,\n required,\n multiple,\n formattedValue,\n loading,\n tabIndex,\n InputLabelProps,\n }: AutocompleteInputProps) => (\n <TextField\n {...params}\n name={name}\n placeholder={placeholder}\n fullWidth\n error={!!error}\n helperText={helperText}\n label={label}\n required={required}\n InputProps={{\n ...params.InputProps,\n ...(!multiple && {\n startAdornment:\n formattedValue &&\n !Array.isArray(formattedValue) &&\n formattedValue.icon ? (\n <Icon icon={formattedValue.icon} />\n ) : undefined,\n }),\n endAdornment: (\n <>\n {loading ? <CircularProgress color=\"primary\" size={20} /> : null}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n inputProps={{\n ...params.inputProps,\n name,\n tabIndex,\n }}\n InputLabelProps={InputLabelProps}\n />\n ),\n);\n\nAutocompleteInput.displayName = 'AutocompleteInput';\n\nexport default AutocompleteInput;\n","import {\n createContext,\n forwardRef,\n HTMLAttributes,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { VariableSizeList } from 'react-window';\nimport { AutocompleteRenderGroupParams } from '@mui/material/Autocomplete';\nimport { useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport { Option } from 'types/option';\n\nimport ListboxRow, { LISTBOX_PADDING } from './ListboxRow';\n\ntype RenderOptionProps = HTMLAttributes<HTMLLIElement> & {\n showValueInLabel?: boolean;\n};\n\ntype ListboxItem = AutocompleteRenderGroupParams | [RenderOptionProps, Option];\n\nconst OuterElementContext = createContext({});\n\nconst OuterElementType = forwardRef<HTMLDivElement>((props, ref) => {\n const outerProps = useContext(OuterElementContext);\n return <div ref={ref} {...props} {...outerProps} />;\n});\n\nOuterElementType.displayName = 'OuterElementType';\n\nconst useResetCache = (data: number) => {\n const ref = useRef<VariableSizeList>(null);\n\n useEffect(() => {\n if (ref.current != null) {\n ref.current.resetAfterIndex(0, true);\n }\n }, [data]);\n\n return ref;\n};\n\nconst ListboxComponent = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLElement>\n>(function ListboxComponent(props, ref) {\n const { children, ...other } = props;\n\n const itemData: ListboxItem[] = useMemo(() => {\n const data: ListboxItem[] = [];\n (children as ListboxItem[]).forEach(item => {\n data.push(item);\n if (\n Object.prototype.hasOwnProperty.call(item, 'children') &&\n Array.isArray((item as AutocompleteRenderGroupParams).children)\n ) {\n data.push(\n ...((item as AutocompleteRenderGroupParams)\n .children as ListboxItem[]),\n );\n }\n });\n return data;\n }, [children]);\n\n const theme = useTheme();\n const smUp = useMediaQuery(theme.breakpoints.up('sm'));\n const itemCount = itemData.length;\n const itemSize = smUp ? 36 : 48;\n\n const getChildSize = useCallback(\n (child: ListboxItem) => {\n if (Object.prototype.hasOwnProperty.call(child, 'group')) {\n return 48;\n }\n\n return itemSize;\n },\n [itemSize],\n );\n\n const itemsHeight = useMemo(() => {\n if (itemCount > 8) {\n return 8 * itemSize;\n }\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\n }, [itemCount, itemSize, itemData, getChildSize]);\n\n const gridRef = useResetCache(itemCount);\n\n return (\n <div ref={ref}>\n <OuterElementContext.Provider value={other}>\n <VariableSizeList\n itemData={itemData}\n height={itemsHeight + 2 * LISTBOX_PADDING}\n width=\"100%\"\n ref={gridRef}\n outerElementType={OuterElementType}\n innerElementType=\"ul\"\n itemSize={index => getChildSize(itemData[index])}\n overscanCount={5}\n itemCount={itemCount}\n >\n {ListboxRow}\n </VariableSizeList>\n </OuterElementContext.Provider>\n </div>\n );\n});\n\nexport default ListboxComponent;\n","import { HTMLAttributes, memo } from 'react';\nimport { ListChildComponentProps } from 'react-window';\nimport { AutocompleteRenderGroupParams } from '@mui/material/Autocomplete';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { Icon as IconEnum } from 'types/icon';\nimport { Option } from 'types/option';\n\nimport Icon from '../Icon';\n\ntype IconName = keyof typeof IconEnum;\n\nconst LISTBOX_PADDING = 8;\n\nconst ListboxRow = memo((props: ListChildComponentProps) => {\n const { data, index, style } = props;\n const dataSet = data[index] as\n | AutocompleteRenderGroupParams\n | [HTMLAttributes<HTMLLIElement> & { showValueInLabel?: boolean }, Option];\n\n const inlineStyle = {\n ...style,\n top: (style.top as number) + LISTBOX_PADDING,\n paddingTop: 8,\n };\n\n if (Object.prototype.hasOwnProperty.call(dataSet, 'group')) {\n const groupItem = dataSet as AutocompleteRenderGroupParams;\n return (\n <ListSubheader\n key={`list-box-item-group-${groupItem.group}`}\n component=\"div\"\n style={inlineStyle}\n >\n {groupItem.group}\n </ListSubheader>\n );\n }\n\n const [itemProps, option] = dataSet as [\n HTMLAttributes<HTMLLIElement> & {\n showValueInLabel?: boolean;\n key: string;\n },\n Option,\n ];\n const { showValueInLabel, key, ...otherItemProps } = itemProps;\n\n return (\n <Typography\n component=\"li\"\n key={`list-box-item-${key}`}\n {...otherItemProps}\n noWrap\n style={inlineStyle}\n >\n <Stack\n component=\"div\"\n direction=\"row\"\n flex={1}\n gap={1}\n justifyContent=\"start\"\n >\n {option.icon && <Icon icon={option.icon as IconName} />}\n {option.label}\n\n {showValueInLabel && (\n <Typography variant=\"inherit\" color=\"grey.400\">\n ({option.value})\n </Typography>\n )}\n </Stack>\n </Typography>\n );\n});\n\nListboxRow.displayName = 'ListboxRow';\n\nexport { LISTBOX_PADDING };\nexport default ListboxRow;\n","import { autocompleteClasses } from '@mui/material/Autocomplete';\nimport Popper from '@mui/material/Popper';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledPopper = styled(Popper)({\n [`& .${autocompleteClasses.listbox}`]: {\n boxSizing: 'border-box',\n '& ul': {\n padding: 0,\n margin: 0,\n },\n },\n});\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { b } from './chunk-RPO7AI5K.js';
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import v from 'react-fast-compare';
|
|
4
|
+
import f from '@mui/material/Drawer';
|
|
5
|
+
import P from '@mui/material/Popover';
|
|
6
|
+
import { jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var c=({open:r,onClose:e,anchorEl:s,children:i,isMobile:m,popoverProps:n,drawerProps:o})=>{let a=b("down","md");return m??a?jsx(f,{anchor:"bottom",open:r,onClose:e,...o,PaperProps:{sx:{maxWidth:"calc(100vw - 24px)",maxHeight:"85vh",...o?.PaperProps?.sx},...o?.PaperProps},children:i}):jsx(P,{open:r,anchorEl:s,onClose:e,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},...n,children:i})},g=memo(c,v);
|
|
9
|
+
|
|
10
|
+
export { g as a };
|
|
11
|
+
//# sourceMappingURL=out.js.map
|
|
12
|
+
//# sourceMappingURL=chunk-LG2B5RFV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ResponsivePopover/index.tsx"],"names":["memo","isEqual","Drawer","Popover","jsx","ResponsivePopover","open","onClose","anchorEl","children","isMobileProp","popoverProps","drawerProps","isMobileDetected","useResponsive_default","ResponsivePopover_default"],"mappings":"wCAAA,OAAS,QAAAA,MAAY,QACrB,OAAOC,MAAa,qBACpB,OAAOC,MAAY,uBACnB,OAAOC,MAAa,wBAoBd,cAAAC,MAAA,oBAdN,IAAMC,EAAoB,CAAC,CACzB,KAAAC,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAUC,EACV,aAAAC,EACA,YAAAC,CACF,IAA8B,CAC5B,IAAMC,EAAmBC,EAAc,OAAQ,IAAI,EAGnD,OAFiBJ,GAAgBG,EAI7BT,EAACF,EAAA,CACC,OAAO,SACP,KAAMI,EACN,QAASC,EACR,GAAGK,EACJ,WAAY,CACV,GAAI,CACF,SAAU,qBACV,UAAW,OACX,GAAGA,GAAa,YAAY,EAC9B,EACA,GAAGA,GAAa,UAClB,EAEC,SAAAH,EACH,EAKFL,EAACD,EAAA,CACC,KAAMG,EACN,SAAUE,EACV,QAASD,EACT,aAAc,CACZ,SAAU,SACV,WAAY,MACd,EACA,gBAAiB,CACf,SAAU,MACV,WAAY,MACd,EACC,GAAGI,EAEH,SAAAF,EACH,CAEJ,EAEOM,EAAQf,EAAKK,EAAmBJ,CAAO","sourcesContent":["import { memo } from 'react';\nimport isEqual from 'react-fast-compare';\nimport Drawer from '@mui/material/Drawer';\nimport Popover from '@mui/material/Popover';\n\nimport useResponsive from 'hooks/useResponsive';\n\nimport { ResponsivePopoverProps } from './props';\n\nconst ResponsivePopover = ({\n open,\n onClose,\n anchorEl,\n children,\n isMobile: isMobileProp,\n popoverProps,\n drawerProps,\n}: ResponsivePopoverProps) => {\n const isMobileDetected = useResponsive('down', 'md');\n const isMobile = isMobileProp ?? isMobileDetected;\n\n if (isMobile) {\n return (\n <Drawer\n anchor=\"bottom\"\n open={open}\n onClose={onClose}\n {...drawerProps}\n PaperProps={{\n sx: {\n maxWidth: 'calc(100vw - 24px)',\n maxHeight: '85vh',\n ...drawerProps?.PaperProps?.sx,\n },\n ...drawerProps?.PaperProps,\n }}\n >\n {children}\n </Drawer>\n );\n }\n\n return (\n <Popover\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n {...popoverProps}\n >\n {children}\n </Popover>\n );\n};\n\nexport default memo(ResponsivePopover, isEqual);\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { a } from './chunk-373WGZZL.js';
|
|
2
|
+
import { a as a$1, e } from './chunk-6W52DPH4.js';
|
|
2
3
|
import { a as a$3, b } from './chunk-TWSAWMZ3.js';
|
|
4
|
+
import { p, r, a as a$2 } from './chunk-EQYL7U3J.js';
|
|
3
5
|
import { a as a$5 } from './chunk-WUFEPE2G.js';
|
|
4
6
|
import { c, b as b$1 } from './chunk-BX2DSNRV.js';
|
|
5
|
-
import { a as a$1, e } from './chunk-6W52DPH4.js';
|
|
6
|
-
import { p, r, a as a$2 } from './chunk-EQYL7U3J.js';
|
|
7
7
|
import { d, a as a$4 } from './chunk-GLRLKFPS.js';
|
|
8
8
|
import { useEffect, useMemo } from 'react';
|
|
9
9
|
import M from '@mui/material/CssBaseline';
|
|
@@ -15,4 +15,4 @@ var W=t=>({lighter:lighten(t,.815),light:lighten(t,.225),main:t,dark:darken(t,.1
|
|
|
15
15
|
|
|
16
16
|
export { x as a, te as b };
|
|
17
17
|
//# sourceMappingURL=out.js.map
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
18
|
+
//# sourceMappingURL=chunk-MZOCS5HH.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a } from './chunk-
|
|
1
|
+
import { a } from './chunk-G5LWV77F.js';
|
|
2
2
|
import { a as a$5 } from './chunk-J2PFUGFW.js';
|
|
3
3
|
import { a as a$2 } from './chunk-DSFFQBLG.js';
|
|
4
4
|
import { e } from './chunk-OF6623HG.js';
|
|
@@ -32,4 +32,4 @@ var sr=({helperText:e,disabled:o,isError:r})=>e?jsx(lr,{error:r,sx:a=>({mx:"14px
|
|
|
32
32
|
|
|
33
33
|
export { _ as a, De as b, Ke as c, $r as d, No as e, Xr as f, Wo as g, Go as h, ua as i, Ne as j, Ee as k, wa as l, jo as m, Zo as n, Ho as o, $o as p, q, Je as r, We as s, V as t, At as u, Ot as v, Wt as w, Vt as x, ti as y, si as z };
|
|
34
34
|
//# sourceMappingURL=out.js.map
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-VXSEKK3V.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { a } from './chunk-K4FZQR7Q.js';
|
|
2
|
+
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var d=({name:r,helperText:a$1,rules:s,onSelectOption:t,InputLabelProps:p,...m})=>{let{control:u}=useFormContext(),C=e=>o=>{t&&t(o,e.value),e.onChange(o);};return jsx(Controller,{name:r,control:u,rules:s,render:({field:e,fieldState:{error:o}})=>jsx(a,{"data-intercom-target":r,...e,...m,onChange:C(e),error:!!o,helperText:o?.message||a$1,InputLabelProps:p})})},A=d;
|
|
6
|
+
|
|
7
|
+
export { A as a };
|
|
8
|
+
//# sourceMappingURL=out.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-ZOUROFZV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/Autocomplete/index.tsx"],"names":["Controller","useFormContext","jsx","Autocomplete","name","helperText","rules","onSelectOption","InputLabelProps","other","control","handleChange","field","value","error","Autocomplete_default"],"mappings":"wCAAA,OACE,cAAAA,EAGA,kBAAAC,MACK,kBA8BG,cAAAC,MAAA,oBAxBV,IAAMC,EAAe,CAAC,CACpB,KAAAC,EACA,WAAAC,EACA,MAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,IAAyB,CACvB,GAAM,CAAE,QAAAC,CAAQ,EAAIT,EAAe,EAE7BU,EACHC,GACAC,GAAyB,CACpBN,GAAgBA,EAAeM,EAAiBD,EAAM,KAAK,EAC/DA,EAAM,SAASC,CAAK,CACtB,EAEF,OACEX,EAACF,EAAA,CACC,KAAMI,EACN,QAASM,EACT,MAAOJ,EACP,OAAQ,CAAC,CAAE,MAAAM,EAAO,WAAY,CAAE,MAAAE,CAAM,CAAE,IAEpCZ,EAACa,EAAA,CACC,uBAAsBX,EACrB,GAAGQ,EACH,GAAGH,EACJ,SAAUE,EAAaC,CAAK,EAC5B,MAAO,CAAC,CAACE,EACT,WAAYA,GAAO,SAAWT,EAC9B,gBAAiBG,EACnB,EAGN,CAEJ,EAEOO,EAAQZ","sourcesContent":["import {\n Controller,\n ControllerRenderProps,\n FieldValues,\n useFormContext,\n} from 'react-hook-form';\n\nimport AutocompleteComponent from 'components/Autocomplete';\n\nimport { AutocompleteProps, OnChangeValue } from './props';\n\nconst Autocomplete = ({\n name,\n helperText,\n rules,\n onSelectOption,\n InputLabelProps,\n ...other\n}: AutocompleteProps) => {\n const { control } = useFormContext();\n\n const handleChange =\n (field: ControllerRenderProps<FieldValues, string>) =>\n (value: OnChangeValue) => {\n if (onSelectOption) onSelectOption(value as string, field.value);\n field.onChange(value);\n };\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field, fieldState: { error } }) => {\n return (\n <AutocompleteComponent\n data-intercom-target={name}\n {...field}\n {...other}\n onChange={handleChange(field)}\n error={!!error}\n helperText={error?.message || helperText}\n InputLabelProps={InputLabelProps}\n />\n );\n }}\n />\n );\n};\n\nexport default Autocomplete;\n"]}
|
|
@@ -6,6 +6,6 @@ import '@mui/material/Autocomplete';
|
|
|
6
6
|
import '../../types/option.js';
|
|
7
7
|
import '../../types/icon.js';
|
|
8
8
|
|
|
9
|
-
declare const Autocomplete: react.ForwardRefExoticComponent<Omit<AutocompleteProps, "ref"> & react.RefAttributes<unknown
|
|
9
|
+
declare const Autocomplete: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AutocompleteProps, "ref"> & react.RefAttributes<unknown>>>;
|
|
10
10
|
|
|
11
11
|
export { Autocomplete as default };
|
|
@@ -4,7 +4,7 @@ import { Option } from '../../types/option.js';
|
|
|
4
4
|
import '@mui/material/Autocomplete';
|
|
5
5
|
import '../../types/icon.js';
|
|
6
6
|
|
|
7
|
-
type AutocompleteDetailedProps = BaseAutoComplete & {
|
|
7
|
+
type AutocompleteDetailedProps = Omit<BaseAutoComplete, 'onChange'> & {
|
|
8
8
|
name: string;
|
|
9
9
|
label?: string;
|
|
10
10
|
onChange(value: NonNullable<string | Option> | (string | Option)[] | null | undefined): void;
|
|
@@ -13,6 +13,6 @@ type AutocompleteDetailedProps = BaseAutoComplete & {
|
|
|
13
13
|
showValueInLabel?: boolean;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
declare const AutocompleteDetailed: react.ForwardRefExoticComponent<Omit<AutocompleteDetailedProps, "ref"> & react.RefAttributes<unknown
|
|
16
|
+
declare const AutocompleteDetailed: react.MemoExoticComponent<react.ForwardRefExoticComponent<Omit<AutocompleteDetailedProps, "ref"> & react.RefAttributes<unknown>>>;
|
|
17
17
|
|
|
18
18
|
export { AutocompleteDetailed as default };
|
|
@@ -6,14 +6,14 @@ import { a as a$3 } from '../../chunk-VPG46WNM.js';
|
|
|
6
6
|
import '../../chunk-CIGSMWKF.js';
|
|
7
7
|
import { a as a$1 } from '../../chunk-LQRRMVFN.js';
|
|
8
8
|
import '../../chunk-EDWQYAWG.js';
|
|
9
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-MZOCS5HH.js';
|
|
10
10
|
import '../../chunk-373WGZZL.js';
|
|
11
|
+
import '../../chunk-6W52DPH4.js';
|
|
11
12
|
import '../../chunk-TWSAWMZ3.js';
|
|
12
13
|
import '../../chunk-ROVD7OGE.js';
|
|
14
|
+
import '../../chunk-EQYL7U3J.js';
|
|
13
15
|
import '../../chunk-WUFEPE2G.js';
|
|
14
16
|
import '../../chunk-BX2DSNRV.js';
|
|
15
|
-
import '../../chunk-6W52DPH4.js';
|
|
16
|
-
import '../../chunk-EQYL7U3J.js';
|
|
17
17
|
import '../../chunk-GLRLKFPS.js';
|
|
18
18
|
import j from '@mui/material/Avatar';
|
|
19
19
|
import d from '@mui/material/Divider';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a } from '../../chunk-
|
|
2
|
-
import { j as j$1 } from '../../chunk-
|
|
1
|
+
import { a } from '../../chunk-ZOUROFZV.js';
|
|
2
|
+
import { j as j$1 } from '../../chunk-2W54CJ6E.js';
|
|
3
3
|
import '../../chunk-UVPQR2Q2.js';
|
|
4
4
|
import { a as a$1 } from '../../chunk-RBTYTONM.js';
|
|
5
5
|
import { a as a$3 } from '../../chunk-I4PPSW36.js';
|
|
6
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-K4FZQR7Q.js';
|
|
7
7
|
import { a as a$2 } from '../../chunk-VPG46WNM.js';
|
|
8
8
|
import '../../chunk-CIGSMWKF.js';
|
|
9
9
|
import { memo, useEffect, useState, useMemo, useCallback } from 'react';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Icon } from '../../types/icon.js';
|
|
3
|
+
import { a as CardType } from '../../cards-506ab28e.js';
|
|
2
4
|
import { IconProps } from '../../types/iconProps.js';
|
|
3
5
|
import '@mui/material/Box';
|
|
4
|
-
import '../../types/icon.js';
|
|
5
6
|
|
|
6
7
|
interface CardBrandProps extends Omit<IconProps, 'icon' | 'ref'> {
|
|
7
8
|
cardNumber: string;
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
declare const getCardIcon: (cardType: CardType) => Icon | null;
|
|
10
12
|
declare const CardBrand: ({ cardNumber, ...props }: CardBrandProps) => react_jsx_runtime.JSX.Element;
|
|
11
13
|
|
|
12
|
-
export { CardBrand as default };
|
|
14
|
+
export { CardBrand as default, getCardIcon };
|
|
@@ -6,8 +6,8 @@ import { a } from '../../chunk-VPG46WNM.js';
|
|
|
6
6
|
import '../../chunk-CIGSMWKF.js';
|
|
7
7
|
import { jsx } from 'react/jsx-runtime';
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var o=A=>({["MERCADOPAY"]:"MERCADO_PAGO",["AMAZONPAY"]:"AMAZON_PAY",["GPAY"]:"GOOGLE_PAY",["PAYPAL"]:"PAYPAL",["APPLEPAY"]:"APPLE_PAY",["ELO"]:"ELO",["MASTERCARD"]:"MASTERCARD",["AMEX"]:"AMERICAN_EXPRESS",["DINERSCLUB"]:"DINERS_CLUB",["CIRRUS"]:"CIRRUS",["VISA"]:"VISA",["HIPERCARD"]:"HIPERCARD",["JCB"]:"JCB",["UNIONPAY"]:"UNIONPAY",["MAESTRO"]:"MAESTRO",["HIPER"]:"HIPER",["DISCOVER"]:"DISCOVER"})[A]??null,R=({cardNumber:A,...r})=>jsx(a,{icon:o(a$1(A)),...r}),d=R;
|
|
10
10
|
|
|
11
|
-
export { d as default };
|
|
11
|
+
export { d as default, o as getCardIcon };
|
|
12
12
|
//# sourceMappingURL=out.js.map
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/CardBrand/index.tsx"],"names":["jsx","getCardIcon","cardType","CardBrand","cardNumber","props","Icon_default","getFlagCard","CardBrand_default"],"mappings":"wNAgCI,cAAAA,MAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CardBrand/index.tsx"],"names":["jsx","getCardIcon","cardType","CardBrand","cardNumber","props","Icon_default","getFlagCard","CardBrand_default"],"mappings":"wNAgCI,cAAAA,MAAA,oBA1BG,IAAMC,EAAeC,IAC+B,CACvD,aAAoB,iBACpB,YAAmB,eACnB,OAAc,eACd,SAAgB,WAChB,WAAkB,cAClB,MAAa,QACb,aAAoB,eACpB,OAAc,qBACd,aAAoB,gBACpB,SAAgB,WAChB,OAAc,SACd,YAAmB,cACnB,MAAa,QACb,WAAkB,aAClB,UAAiB,YACjB,QAAe,UACf,WAAkB,YACpB,GAEmBA,CAAQ,GAAK,KAG5BC,EAAY,CAAC,CAAE,WAAAC,EAAY,GAAGC,CAAM,IAEtCL,EAACM,EAAA,CAAK,KAAML,EAAYM,EAAYH,CAAU,CAAC,EAAgB,GAAGC,EAAO,EAItEG,EAAQL","sourcesContent":["import Icon, { IconEnum } from 'components/Icon';\nimport { CardType } from 'types/cards';\nimport { getCardType } from 'utils/cards';\n\nimport { CardBrandProps } from './props';\n\nexport const getCardIcon = (cardType: CardType): IconEnum | null => {\n const cardIconMap: Partial<Record<CardType, IconEnum>> = {\n [CardType.MERCADOPAY]: IconEnum.MERCADO_PAGO,\n [CardType.AMAZONPAY]: IconEnum.AMAZON_PAY,\n [CardType.GPAY]: IconEnum.GOOGLE_PAY,\n [CardType.PAYPAL]: IconEnum.PAYPAL,\n [CardType.APPLEPAY]: IconEnum.APPLE_PAY,\n [CardType.ELO]: IconEnum.ELO,\n [CardType.MASTERCARD]: IconEnum.MASTERCARD,\n [CardType.AMEX]: IconEnum.AMERICAN_EXPRESS,\n [CardType.DINERSCLUB]: IconEnum.DINERS_CLUB,\n [CardType.CIRRUS]: IconEnum.CIRRUS,\n [CardType.VISA]: IconEnum.VISA,\n [CardType.HIPERCARD]: IconEnum.HIPERCARD,\n [CardType.JCB]: IconEnum.JCB,\n [CardType.UNIONPAY]: IconEnum.UNIONPAY,\n [CardType.MAESTRO]: IconEnum.MAESTRO,\n [CardType.HIPER]: IconEnum.HIPER,\n [CardType.DISCOVER]: IconEnum.DISCOVER,\n };\n\n return cardIconMap[cardType] ?? null;\n};\n\nconst CardBrand = ({ cardNumber, ...props }: CardBrandProps) => {\n return (\n <Icon icon={getCardIcon(getCardType(cardNumber)) as IconEnum} {...props} />\n );\n};\n\nexport default CardBrand;\n"]}
|