@zydon/common 2.7.77 → 2.7.79
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-373WGZZL.js +5 -0
- package/dist/chunk-373WGZZL.js.map +1 -0
- package/dist/chunk-6UWD6IZZ.js +25 -0
- package/dist/chunk-6UWD6IZZ.js.map +1 -0
- package/dist/chunk-BLVCNBTJ.js +7 -0
- package/dist/chunk-BLVCNBTJ.js.map +1 -0
- package/dist/{chunk-45OMMG7D.js → chunk-FBN7HCBY.js} +2 -2
- package/dist/chunk-FBN7HCBY.js.map +1 -0
- package/dist/{chunk-HWYA3EGC.js → chunk-HYJEAKVR.js} +2 -2
- package/dist/{chunk-ZGSSTXUO.js → chunk-LQZSZV2W.js} +2 -2
- package/dist/{chunk-5LQLLZ5L.js → chunk-PSWJSHGP.js} +2 -2
- package/dist/chunk-QLGWOE3Q.js +19 -0
- package/dist/chunk-QLGWOE3Q.js.map +1 -0
- package/dist/{chunk-YDLDZVF5.js → chunk-QXRGT442.js} +3 -3
- package/dist/chunk-QXRGT442.js.map +1 -0
- package/dist/chunk-SVJYA4Q6.js +20 -0
- package/dist/chunk-SVJYA4Q6.js.map +1 -0
- package/dist/{chunk-QVU6HSYP.js → chunk-TB4Y7LXN.js} +6 -5
- package/dist/chunk-TB4Y7LXN.js.map +1 -0
- package/dist/{chunk-74KBZX6F.js → chunk-U4ZTAFZV.js} +2 -2
- package/dist/chunk-YHKVYGTG.js +19 -0
- package/dist/chunk-YHKVYGTG.js.map +1 -0
- package/dist/{chunk-JZ55NEMI.js → chunk-YKV6FK6D.js} +2 -2
- package/dist/components/Autocomplete/index.js +1 -1
- package/dist/components/AutocompleteDetailed/index.js +1 -1
- package/dist/components/Avatar/index.d.ts +1 -3
- package/dist/components/AvatarButton/index.js +2 -2
- package/dist/components/BulkEditModal/index.js +3 -3
- package/dist/components/Common/index.js +2 -2
- package/dist/components/CopyButton/index.js +2 -2
- package/dist/components/DataCards/index.d.ts +3 -2
- package/dist/components/DataCards/index.js +10 -10
- package/dist/components/DataCards/index.js.map +1 -1
- package/dist/components/DataView/index.d.ts +22 -26
- package/dist/components/DataView/index.js +2 -2
- package/dist/components/DragButton/index.d.ts +1 -3
- package/dist/components/DragContainer/index.d.ts +1 -3
- package/dist/components/DynamicDataView/index.d.ts +2 -2
- package/dist/components/DynamicDataView/index.js +10 -10
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/components/FieldMentions/index.js +3 -3
- package/dist/components/FieldMentions/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -2
- package/dist/components/FrameSkeleton/index.js +3 -3
- package/dist/components/InfoCircle/index.js +1 -1
- package/dist/components/ListBundles/index.d.ts +2 -1
- package/dist/components/Result/index.d.ts +1 -1
- package/dist/components/SelectableCards/index.js +1 -1
- package/dist/components/ToggleTheme/index.js +2 -2
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/carousel/index.d.ts +3 -9
- package/dist/components/form/Address/index.js +2 -2
- package/dist/components/form/Autocomplete/index.js +2 -2
- package/dist/components/form/AutocompleteDetailed/index.js +1 -1
- package/dist/components/form/Codes/index.js +1 -1
- package/dist/components/form/FileUpload/index.js +2 -2
- package/dist/components/form/SelectList/index.js.map +1 -1
- package/dist/components/form/SelectableCards/index.js +1 -1
- 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/useCollapseSidebarOnMount.js +3 -3
- package/dist/hooks/useDatagrid.d.ts +2 -2
- package/dist/hooks/useDatagrid.js +2 -2
- package/dist/hooks/useDatagrid.js.map +1 -1
- package/dist/hooks/useDeepCompareEffect.js +2 -2
- package/dist/hooks/useDeepCompareEffect.js.map +1 -1
- package/dist/hooks/useEventListener.d.ts +2 -2
- package/dist/hooks/useEventListener.js +1 -1
- package/dist/hooks/useLocalStorage.js +2 -2
- package/dist/hooks/useOnClickOutside.js +1 -1
- package/dist/hooks/useScreenSize.js.map +1 -1
- package/dist/hooks/useScrollOffSetTop.d.ts +1 -1
- package/dist/hooks/useScrollOffSetTop.js +1 -1
- package/dist/hooks/useScrollOffSetTop.js.map +1 -1
- package/dist/hooks/useSnackbar.d.ts +9 -9
- package/dist/hooks/useThemeToggle.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/theme/core/index.d.ts +1 -1
- package/dist/theme/styles/index.d.ts +215 -128
- package/dist/theme/theme-provider.js +2 -2
- package/dist/types/sectionProps.d.ts +2 -2
- package/dist/utils/object.d.ts +7 -1
- package/dist/utils/object.js +1 -1
- package/package.json +7 -7
- package/dist/chunk-45OMMG7D.js.map +0 -1
- package/dist/chunk-L5URMM57.js +0 -7
- package/dist/chunk-L5URMM57.js.map +0 -1
- package/dist/chunk-LDGBS7ZI.js +0 -5
- package/dist/chunk-LDGBS7ZI.js.map +0 -1
- package/dist/chunk-LY3IB5VH.js +0 -19
- package/dist/chunk-LY3IB5VH.js.map +0 -1
- package/dist/chunk-N22KLIFJ.js +0 -19
- package/dist/chunk-N22KLIFJ.js.map +0 -1
- package/dist/chunk-QKKARUG5.js +0 -20
- package/dist/chunk-QKKARUG5.js.map +0 -1
- package/dist/chunk-QVU6HSYP.js.map +0 -1
- package/dist/chunk-U7SYDDK7.js +0 -25
- package/dist/chunk-U7SYDDK7.js.map +0 -1
- package/dist/chunk-YDLDZVF5.js.map +0 -1
- package/dist/{chunk-HWYA3EGC.js.map → chunk-HYJEAKVR.js.map} +0 -0
- package/dist/{chunk-ZGSSTXUO.js.map → chunk-LQZSZV2W.js.map} +0 -0
- package/dist/{chunk-5LQLLZ5L.js.map → chunk-PSWJSHGP.js.map} +0 -0
- package/dist/{chunk-74KBZX6F.js.map → chunk-U4ZTAFZV.js.map} +0 -0
- package/dist/{chunk-JZ55NEMI.js.map → chunk-YKV6FK6D.js.map} +0 -0
- package/dist/{index-c8f1e6e7.d.ts → index-5a5e5dc8.d.ts} +12 -12
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { a } from './chunk-7R6ZYEQS.js';
|
|
2
|
+
import { b } from './chunk-RPO7AI5K.js';
|
|
3
|
+
import P, { forwardRef, useState, useMemo, useEffect } from 'react';
|
|
4
|
+
import ge, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
5
|
+
import he from '@mui/material/CircularProgress';
|
|
6
|
+
import be from '@mui/material/TextField';
|
|
7
|
+
import { VariableSizeList } from 'react-window';
|
|
8
|
+
import W from '@mui/material/Typography';
|
|
9
|
+
import ne from '@mui/material/Divider';
|
|
10
|
+
import O from '@mui/material/Stack';
|
|
11
|
+
import oe from '@mui/material/Popper';
|
|
12
|
+
import { styled } from '@mui/material/styles';
|
|
13
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
14
|
+
|
|
15
|
+
var H=styled(oe)({[`& .${autocompleteClasses.listbox}`]:{boxSizing:"border-box","& ul":{padding:0,margin:0}}}),M=styled(O)(({theme:t})=>({flex:1,width:"100%",gap:6,[t.breakpoints.down("md")]:{flexDirection:"column"},[t.breakpoints.up("md")]:{flexDirection:"row"}})),T=styled(O)(({theme:t})=>({flex:1,maxWidth:"100%",gap:6,[t.breakpoints.up("md")]:{flex:"1 1 calc(50% - 8px)",width:"calc(50% - 8px)",minWidth:"calc(50% - 8px)",maxWidth:"calc(50% - 8px)"}})),D=styled(O)(({theme:t})=>({position:"relative",alignItems:"center",justifyContent:"center",width:68,height:68,borderRadius:8,overflow:"hidden",img:{position:"absolute",width:"100%",height:"100%",objectFit:"cover"},[t.breakpoints.down("sm")]:{display:"none"}}));var ie=({option:t})=>{let r=Object.keys(t).filter(o=>o.startsWith("field")).map((o,l)=>{let a=t[o];if(a&&typeof a=="object"){let s="label"in a?a.label:null,d="value"in a?a.value:null;return jsxs(W,{component:"span",variant:"body2",color:"textPrimary",noWrap:!0,children:[s,": ",d]},`${o}:${l}`)}}),i=t.image?jsx("img",{alt:"Imagem",src:t.image}):jsx(a,{alt:t.label||t.value.toString(),name:t.label||t.value.toString(),sx:{width:68,height:68,borderRadius:1}});return jsxs(Fragment,{children:[jsxs(O,{direction:"row",gap:2,margin:2,children:[jsx(D,{children:i}),jsxs(O,{flex:1,overflow:"hidden",children:[jsxs(W,{variant:"subtitle2",color:"textPrimary",noWrap:!0,flex:1,children:[t.value," - ",t.label]}),r.length>0&&jsxs(M,{width:1,children:[jsxs(T,{children:[r[0]?r[0]:void 0,r[1]?r[1]:void 0]}),(r[2]||r[3])&&jsxs(T,{children:[r[2]?r[2]:void 0,r[3]?r[3]:void 0]})]})]})]}),jsx(ne,{className:"border",sx:{borderStyle:"dashed",position:"absolute",bottom:0,width:1}})]})},C=ie;var N=8,me=t=>{let{data:r,index:i,style:o}=t,l=r[i],a={...o,top:o.top+N,paddingTop:8,display:"block"};return jsx(W,{component:"li",...l.props,noWrap:!0,style:a,children:jsx(C,{...l?.props?.children?.props})})},X=P.createContext({}),B=forwardRef((t,r)=>{let i=P.useContext(X);return jsx("div",{ref:r,...t,...i})});B.displayName="OuterElementType";var de=t=>{let r=P.useRef(null);return useEffect(()=>{r.current!=null&&r.current.resetAfterIndex(0,!0);},[t]),r},ue=forwardRef(function(r,i){let{children:o,"data-item-height":l,...a}=r,s=[];o.forEach(p=>{s.push(p),s.push(...p.children||[]);});let d=s.length,b=l>112?l:112,y=p=>Object.prototype.hasOwnProperty.call(p,"group")?48:b,g=()=>d>8?8*b:s.map(y).reduce((p,u)=>p+u,0),v=de(d);return jsx("div",{ref:i,children:jsx(X.Provider,{value:a,children:jsx(VariableSizeList,{itemData:s,height:g()+2*N,width:"100%",ref:v,outerElementType:B,innerElementType:"ul",itemSize:p=>y(s[p]),overscanCount:5,itemCount:d,children:me})})})}),J=ue;var j=forwardRef(({name:t,label:r,value:i,options:o=[],loading:l,noOptionsText:a="Nenhum resultado encontrado.",loadingText:s="Carregando op\xE7\xF5es...",error:d,helperText:b$1,placeholder:y,onChange:g,groupBy:v,disabled:p,multiple:u,required:U,renderOption:G,tabIndex:V,onSearch:I,onInputChange:A,..._},F)=>{let[q,E]=useState(),K=b("down","md"),Q=e=>e&&typeof e=="object"?e.value.toString():e.toString(),L=useMemo(()=>new Map(o.map(e=>[e.value.toString(),e])),[o]),Y=useMemo(()=>o.map(e=>({...e,searchString:`${e.field1?.value||""} ${e.field1?.label||""} ${e.field2?.label||""} ${e.field2?.value||""} ${e.field3?.label||""} ${e.field3?.value||""} ${e.field4?.label||""} ${e.field4?.value||""} ${e.field5?.label||""} ${e.field5?.value||""} ${e.label}${e.value}`.toLocaleUpperCase().trim()})),[o]),Z=useMemo(()=>u?(Array.isArray(i)?i:[]).map(n=>L.get(n.toString())).filter(Boolean):(i?.toString()?L.get(i.toString()):null)||null,[L,i,u]),ee=K&&o[0]?Object.keys(o[0]).length*24:void 0;return jsx(ge,{ref:F,value:q||Z,onInputChange:(e,n,c)=>{if(A&&A(e,n,c),c==="input"){I&&I(n),E(n);return}E(void 0);},options:Y,loading:l,noOptionsText:a,loadingText:s,disabled:l||p,disableListWrap:!0,PopperComponent:H,ListboxProps:{"data-item-height":ee},ListboxComponent:G?void 0:J,filterOptions:(e,n)=>{let c=n.inputValue.toLocaleUpperCase();return e.filter(te=>te.searchString.includes(c))},onChange:(e,n)=>{if(!n){g(u?[]:null);return}if(Array.isArray(n)){g(n.map(Q));return}g(typeof n=="string"?n.toString():n.value.toString());},renderOption:({key:e,...n},c)=>jsx("li",{...n,style:{display:"block"},children:jsx(C,{option:c})},e),renderGroup:e=>e,groupBy:v,multiple:u,renderInput:e=>jsx(be,{...e,name:t,placeholder:y,fullWidth:!0,error:!!d,helperText:b$1,label:r,required:U,InputProps:{...e.InputProps,endAdornment:jsxs(Fragment,{children:[l?jsx(he,{color:"primary",size:20}):null,e.InputProps.endAdornment]})},inputProps:{...e.inputProps,name:t,tabIndex:V}}),..._})});j.displayName="Autocomplete";var Ke=j;
|
|
16
|
+
|
|
17
|
+
export { Ke as a };
|
|
18
|
+
//# sourceMappingURL=out.js.map
|
|
19
|
+
//# sourceMappingURL=chunk-YHKVYGTG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AutocompleteDetailed/index.tsx","../src/components/AutocompleteDetailed/Listbox.tsx","../src/components/AutocompleteDetailed/ListItem.tsx","../src/components/AutocompleteDetailed/styles.ts"],"names":["forwardRef","useMemo","useState","MuiAutocomplete","CircularProgress","TextField","React","useEffect","VariableSizeList","Typography","Divider","Stack","autocompleteClasses","Popper","styled","StyledPopper","OptionBox","theme","OptionContent","ImageContainer","Fragment","jsx","jsxs","ListItem","option","options","key","index","data","label","value","image","CustomAvatar_default","ListItem_default","LISTBOX_PADDING","renderRow","props","style","dataSet","inlineStyle","OuterElementContext","OuterElementType","ref","outerProps","useResetCache","ListboxComponent","children","dataItemHeight","other","itemData","item","itemCount","itemSize","getChildSize","child","getHeight","a","b","gridRef","Listbox_default","AutocompleteDetailed","name","loading","noOptionsText","loadingText","error","helperText","placeholder","onChange","groupBy","disabled","multiple","required","renderOption","tabIndex","onSearch","onInputChange","inputValue","setInputValue","mdDown","useResponsive_default","getOptionValue","optionValue","optionsMap","opt","optionsWithSearch","formattedValue","v","OPTION_HEIGHT","event","eventValue","reason","opts","state","searchUpper","_","params","AutocompleteDetailed_default"],"mappings":"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","sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport MuiAutocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\n\nimport useResponsive from 'hooks/useResponsive';\nimport { Option } from 'types/option';\n\nimport ListboxComponent from './Listbox';\nimport ListItem from './ListItem';\nimport { AutocompleteDetailedProps } from './props';\nimport { StyledPopper } from './styles';\n\nconst AutocompleteDetailed = 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\n const mdDown = useResponsive('down', 'md');\n\n const getOptionValue = (optionValue: Option | string | number) =>\n optionValue && typeof optionValue === 'object'\n ? optionValue.value.toString()\n : optionValue.toString();\n\n const optionsMap = useMemo(\n () => new Map(options.map(opt => [opt.value.toString(), opt])),\n [options],\n );\n\n const optionsWithSearch = useMemo(\n () =>\n options.map(opt => ({\n ...opt,\n searchString:\n `${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 .toLocaleUpperCase()\n .trim(),\n })) as Array<Option & { searchString: string }>,\n [options],\n );\n\n const formattedValue = useMemo(() => {\n if (multiple) {\n const values = Array.isArray(value) ? value : [];\n return values\n .map(v => optionsMap.get(v.toString()))\n .filter(Boolean) as Option[];\n }\n\n return (\n (value?.toString() ? optionsMap.get(value.toString()) : null) || null\n );\n }, [optionsMap, value, multiple]);\n\n const OPTION_HEIGHT =\n mdDown && options[0] ? Object.keys(options[0]).length * 24 : undefined;\n\n return (\n <MuiAutocomplete\n ref={ref}\n value={inputValue || formattedValue}\n onInputChange={(event, eventValue, 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 setInputValue(undefined);\n }}\n options={optionsWithSearch}\n loading={loading}\n noOptionsText={noOptionsText}\n loadingText={loadingText}\n disabled={loading || disabled}\n disableListWrap\n PopperComponent={StyledPopper}\n ListboxProps={\n {\n 'data-item-height': OPTION_HEIGHT,\n } as HTMLAttributes<HTMLUListElement>\n }\n ListboxComponent={renderOption ? undefined : ListboxComponent}\n filterOptions={(opts, state) => {\n const searchUpper = state.inputValue.toLocaleUpperCase();\n return opts.filter(opt =>\n (opt as Option & { searchString: string }).searchString.includes(\n searchUpper,\n ),\n );\n }}\n onChange={(_, option) => {\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 renderOption={({ key, ...props }, option) => {\n return (\n <li key={key} {...props} style={{ display: 'block' }}>\n <ListItem option={option} />\n </li>\n );\n }}\n renderGroup={params => params as unknown as ReactNode}\n groupBy={groupBy}\n multiple={multiple}\n renderInput={params => (\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 ? (\n <CircularProgress color=\"primary\" size={20} />\n ) : null}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n inputProps={{\n ...params.inputProps,\n name,\n tabIndex,\n }}\n />\n )}\n {...other}\n />\n );\n },\n);\n\nAutocompleteDetailed.displayName = 'Autocomplete';\n\nexport default AutocompleteDetailed;\n","import React, { forwardRef, HTMLAttributes, type JSX, useEffect } from 'react';\nimport { ListChildComponentProps, VariableSizeList } from 'react-window';\nimport Typography from '@mui/material/Typography';\n\nimport ListItem from './ListItem';\n\nconst LISTBOX_PADDING = 8;\n\nconst renderRow = (props: ListChildComponentProps) => {\n const { data, index, style } = props;\n const dataSet = data[index];\n\n const inlineStyle = {\n ...style,\n top: (style.top as number) + LISTBOX_PADDING,\n paddingTop: 8,\n display: 'block',\n };\n\n return (\n <Typography component=\"li\" {...dataSet.props} noWrap style={inlineStyle}>\n <ListItem {...dataSet?.props?.children?.props} />\n </Typography>\n );\n};\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 const itemData: JSX.Element[] = [];\n (children as JSX.Element[]).forEach(\n (item: JSX.Element & { children?: JSX.Element[] }) => {\n itemData.push(item);\n itemData.push(...(item.children || []));\n },\n );\n const itemCount = itemData.length;\n const itemSize = dataItemHeight > 112 ? dataItemHeight : 112;\n\n const getChildSize = (child: JSX.Element) => {\n if (Object.prototype.hasOwnProperty.call(child, 'group')) {\n return 48;\n }\n\n return itemSize;\n };\n\n const getHeight = () => {\n if (itemCount > 8) {\n return 8 * itemSize;\n }\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\n };\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={getHeight() + 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 {renderRow}\n </VariableSizeList>\n </OuterElementContext.Provider>\n </div>\n );\n});\n\nexport default ListboxComponent;\n","import Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CustomAvatar from 'components/CustomAvatar';\n\nimport { ListItemProps } from './props';\nimport { ImageContainer, OptionBox, OptionContent } from './styles';\n\nconst ListItem = ({ option }: ListItemProps) => {\n const options = 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\n const image = 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={{ width: 68, height: 68, borderRadius: 1 }}\n />\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 <Divider\n className=\"border\"\n sx={{\n borderStyle: 'dashed',\n position: 'absolute',\n bottom: 0,\n width: 1,\n }}\n />\n </>\n );\n};\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"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a } from './chunk-
|
|
1
|
+
import { a } from './chunk-QLGWOE3Q.js';
|
|
2
2
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
@@ -6,4 +6,4 @@ var f=({name:t,helperText:l,rules:s,onSelectOption:e,InputLabelProps:a$1,...u})=
|
|
|
6
6
|
|
|
7
7
|
export { i as a };
|
|
8
8
|
//# sourceMappingURL=out.js.map
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
9
|
+
//# sourceMappingURL=chunk-YKV6FK6D.js.map
|
|
@@ -9,9 +9,7 @@ interface ImageContainerProps {
|
|
|
9
9
|
height?: string | number;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
declare const Avatar: react.ForwardRefExoticComponent<Omit<PropsWithChildren<ImageContainerProps & _mui_material_Avatar.AvatarOwnProps & _mui_material_Avatar.AvatarSlotsAndSlotProps & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
13
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
14
|
-
}, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "sizes" | "alt" | "src" | "srcSet" | "imgProps"> & {
|
|
12
|
+
declare const Avatar: react.ForwardRefExoticComponent<Omit<PropsWithChildren<ImageContainerProps & _mui_material_Avatar.AvatarOwnProps & _mui_material_Avatar.AvatarSlotsAndSlotProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "alt" | "imgProps" | "sizes" | "src" | "srcSet"> & {
|
|
15
13
|
component?: react.ElementType<any, keyof react.JSX.IntrinsicElements> | undefined;
|
|
16
14
|
}>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
17
15
|
|
|
@@ -6,8 +6,8 @@ import { a as a$3 } from '../../chunk-NQNNMRLC.js';
|
|
|
6
6
|
import '../../chunk-CIGSMWKF.js';
|
|
7
7
|
import { a as a$1 } from '../../chunk-LQRRMVFN.js';
|
|
8
8
|
import '../../chunk-UHXAPEIF.js';
|
|
9
|
-
import '../../chunk-
|
|
10
|
-
import '../../chunk-
|
|
9
|
+
import '../../chunk-U4ZTAFZV.js';
|
|
10
|
+
import '../../chunk-373WGZZL.js';
|
|
11
11
|
import '../../chunk-TWSAWMZ3.js';
|
|
12
12
|
import '../../chunk-ROVD7OGE.js';
|
|
13
13
|
import '../../chunk-WUFEPE2G.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a } from '../../chunk-
|
|
2
|
-
import { j as j$1 } from '../../chunk-
|
|
1
|
+
import { a } from '../../chunk-YKV6FK6D.js';
|
|
2
|
+
import { j as j$1 } from '../../chunk-TB4Y7LXN.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-IN7SP2ND.js';
|
|
6
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-QLGWOE3Q.js';
|
|
7
7
|
import { a as a$2 } from '../../chunk-NQNNMRLC.js';
|
|
8
8
|
import '../../chunk-CIGSMWKF.js';
|
|
9
9
|
import { memo, useEffect, useState, useMemo, useCallback } from 'react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a } from '../../chunk-NQNNMRLC.js';
|
|
2
2
|
import '../../chunk-CIGSMWKF.js';
|
|
3
|
-
import { b } from '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
3
|
+
import { b } from '../../chunk-U4ZTAFZV.js';
|
|
4
|
+
import '../../chunk-373WGZZL.js';
|
|
5
5
|
import '../../chunk-TWSAWMZ3.js';
|
|
6
6
|
import '../../chunk-ROVD7OGE.js';
|
|
7
7
|
import '../../chunk-WUFEPE2G.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { a as default } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { a as default } from '../../chunk-LQZSZV2W.js';
|
|
2
|
+
import '../../chunk-FBN7HCBY.js';
|
|
3
3
|
import '../../chunk-NQNNMRLC.js';
|
|
4
4
|
import '../../chunk-CIGSMWKF.js';
|
|
5
5
|
import '../../chunk-IAOMC4C4.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
2
3
|
import { GridValidRowModel, GridRowParams, MuiEvent, GridRowSelectionModel } from '@mui/x-data-grid-premium';
|
|
3
4
|
import { DatagridRow, Columns, Row } from '../../types/datagrid.js';
|
|
4
5
|
import * as _mui_x_data_grid from '@mui/x-data-grid';
|
|
@@ -39,7 +40,7 @@ interface DataCardProps {
|
|
|
39
40
|
selectedRows?: GridRowSelectionModel;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
declare const
|
|
43
|
+
declare const _default: react.MemoExoticComponent<({ fields, id, row, title, onClick, checkboxSelection, selectedRows, onSelectionRow, }: DataCardProps) => react_jsx_runtime.JSX.Element>;
|
|
43
44
|
|
|
44
45
|
declare const DataCardSkeleton: () => react_jsx_runtime.JSX.Element;
|
|
45
46
|
|
|
@@ -47,4 +48,4 @@ declare const getFieldData: (columns: readonly _mui_x_data_grid.GridColDef<any>[
|
|
|
47
48
|
|
|
48
49
|
declare const DataCards: ({ title, rows, columns, getRowId, onClick, loading, fetching, pagination, checkboxSelection, onSelectionRow, selectedRows, }: DataCardsProps) => react_jsx_runtime.JSX.Element;
|
|
49
50
|
|
|
50
|
-
export { DataCard, DataCardSkeleton, DataCards as default, getFieldData };
|
|
51
|
+
export { _default as DataCard, DataCardSkeleton, DataCards as default, getFieldData };
|
|
@@ -4,20 +4,20 @@ import { a as a$1 } from '../../chunk-6U5LS7MP.js';
|
|
|
4
4
|
import { a as a$2 } from '../../chunk-BNBE2OMA.js';
|
|
5
5
|
import '../../chunk-NIQW2J3M.js';
|
|
6
6
|
import '../../chunk-GLRLKFPS.js';
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
7
|
+
import { memo, useMemo } from 'react';
|
|
8
|
+
import it from '@mui/material/Pagination';
|
|
9
|
+
import u from '@mui/material/Stack';
|
|
10
|
+
import U from '@mui/material/CardContent';
|
|
11
|
+
import V from '@mui/material/Checkbox';
|
|
12
12
|
import x from '@mui/material/Typography';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import J from '@mui/material/Card';
|
|
14
|
+
import K from '@mui/material/CardActionArea';
|
|
15
15
|
import { styled } from '@mui/material/styles';
|
|
16
16
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
17
|
-
import
|
|
17
|
+
import C from '@mui/material/Skeleton';
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var M=styled(J)(({theme:t})=>({boxShadow:"none",border:`1px solid ${t.palette.divider}`})),W=styled(K)({"&.MuiCardActionArea-focusHighlight":{background:"transparent"}});var X=(t,e)=>{if(t.renderCell){let a=t.renderCell({value:t.value,field:e,row:{[e]:t.value}});if(a)return a}return t.valueFormatter&&t.valueGetter?t.valueFormatter(t.valueGetter(t.value)):t.value},$=t=>{t.stopPropagation();},Y=({fields:t,id:e,row:a$1,title:d,onClick:r,checkboxSelection:h,selectedRows:m=[],onSelectionRow:c$1})=>{let i=useMemo(()=>{let o=t.find(p=>p.label.toLowerCase()==="status"||p.type==="status"||p.field==="status"),n=t.find(p=>p.type==="actions"||p.id==="actions"),b=t.filter(p=>p.label.toLowerCase()!=="status"&&p.value?.toString()!==e&&p.type!=="actions");return {idText:`${c(e)?"#":""}${e}`,selected:m?.includes(e),status:o,statusRender:o?.renderCell?.({value:o.value,field:e,row:{[e]:o.value}})||o?.value,action:n,actionRender:n?.getActions({id:e,row:a$1})||null,moreFields:b}},[t,e,a$1,m]),l=o=>{r?.({id:e},o,t);},S=o=>{c$1?.(o?[...m,e]:m.filter(n=>n!==e));},y=jsxs(U,{sx:{padding:"0!important"},children:[jsxs(u,{flexDirection:"row",justifyContent:"space-between",p:2,gap:1,children:[jsxs(u,{flexDirection:"row",alignItems:"center",gap:1,children:[h&&jsx(V,{checked:i.selected||!1,onChange:(o,n)=>S(n)}),jsx(x,{variant:"body1",fontWeight:600,color:"text.secondary",children:d}),jsx(x,{variant:"body1",fontWeight:600,children:i.idText})]}),jsxs(u,{className:"actions",flexDirection:"row",alignItems:"center",gap:1,children:[jsx(x,{variant:"body2",color:"text.secondary",textTransform:"uppercase",fontSize:14,fontWeight:600,children:i.statusRender}),jsx(u,{onClick:$,onMouseDown:$,children:i.actionRender})]})]}),jsx(a,{}),jsx(u,{flexWrap:"wrap",direction:"row",justifyContent:"space-between",p:2,pb:0,children:i.moreFields.map(o=>o.value!=e&&jsxs(u,{flexBasis:"50%",pb:2,order:o.order,children:[jsx(x,{variant:"body2",color:"text.secondary",children:o.label}),jsx(x,{variant:"body1",children:X(o,e)})]},`data-card-field-${e}-${o.label}`))})]});return r?jsx(M,{onClick:l,children:jsx(W,{component:"div",children:y})}):jsx(M,{children:y})},H=memo(Y);var tt=()=>jsxs(J,{children:[jsxs(u,{justifyContent:"space-between",direction:"row",spacing:2,p:2,children:[jsx(C,{height:24,width:200}),jsx(C,{height:24,width:100})]}),jsxs(u,{justifyContent:"space-between",flexWrap:"wrap",direction:"row",p:2,children:[jsxs(u,{width:"50%",spacing:1,children:[jsx(C,{height:24,width:100}),jsx(C,{sx:{maxWidth:"95%"},height:24,width:230})]}),jsxs(u,{width:"50%",spacing:1,children:[jsx(C,{height:24,width:80}),jsx(C,{sx:{maxWidth:"100%"},height:27,width:250})]})]})]}),D=tt;var G=(t,e)=>{let a=[];t.forEach(r=>{r.field&&r.field!=="actions"&&a.push({...r,label:r.headerName||r.field,value:e[r.field],type:r.type,order:r?.order||0,id:r.field});});let d=t.find(r=>r.field==="actions");return d&&a.push({...d,label:"Actions",value:null,order:0,type:"actions",id:"actions"}),a};var B=styled(u)(({theme:t})=>({border:`1px solid ${t.palette.divider}`,borderRadius:16})),I=styled(u)(()=>({padding:"12px 28px",flexDirection:"row",alignItems:"center",backgroundColor:"#F4F4F4",gap:14,borderRadius:"16px 16px 0 0"}));var at=({children:t,title:e,rows:a,onSelectionRow:d,selectedRows:r,totalItems:h})=>{let m=i=>{d?.(i?a.map(l=>l["@id"]):[]);},c=r?.length||0;return jsxs(B,{children:[jsxs(I,{children:[jsx(V,{onChange:(i,l)=>m(l),checked:c===h,indeterminate:c>0&&c<h}),jsx(x,{variant:"subtitle2",component:"span",color:"grey.600",children:e})]}),jsx(u,{gap:1.5,p:1.5,children:t})]})},j=at;var pt=({title:t,rows:e,columns:a,getRowId:d,onClick:r,loading:h,fetching:m,pagination:c,checkboxSelection:i,onSelectionRow:l,selectedRows:S})=>{let y=m&&jsx(a$1,{sx:{zIndex:1}}),o=useMemo(()=>e.map(n=>({rowId:d(n),row:n,fields:G(a,n)})),[e,a,d]);return h?jsxs(Fragment,{children:[y,jsx(D,{}),jsx(D,{}),jsx(D,{})]}):jsxs(u,{gap:2,component:i?j:"div",...i&&{title:t,rows:e,onSelectionRow:l,selectedRows:S,totalItems:c?.total||e.length},children:[y,e.length===0&&jsx(a$2,{sx:{mb:3},title:"Nenhum registro encontrado"}),o.map(({rowId:n,row:b,fields:p})=>jsx(H,{title:t,id:n,row:b,fields:p,onClick:r,checkboxSelection:i,selectedRows:S,onSelectionRow:l},`data-card-${n}`)),c&&e.length>0&&jsx(u,{direction:"row",justifyContent:"center",children:jsx(it,{page:c?.page,onChange:(n,b)=>{c?.onPageChange(b);},count:c?.total})})]})},Ot=pt;
|
|
20
20
|
|
|
21
|
-
export {
|
|
21
|
+
export { H as DataCard, D as DataCardSkeleton, Ot as default, G as getFieldData };
|
|
22
22
|
//# sourceMappingURL=out.js.map
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/DataCards/index.tsx","../../../src/components/DataCards/DataCard/index.tsx","../../../src/components/DataCards/DataCard/styles.ts","../../../src/components/DataCards/DataCardSkeleton/index.tsx","../../../src/components/DataCards/getFieldData.ts","../../../src/components/DataCards/SelectableContainer/index.tsx","../../../src/components/DataCards/SelectableContainer/styles.ts"],"names":["Pagination","Stack","useMemo","CardContent","Checkbox","Typography","Card","CardActionArea","styled","Container","theme","CardActionAreaStyled","jsx","jsxs","renderField","field","id","render","menuClick","DataCard","fields","row","title","onClick","checkboxSelection","selectedRows","onSelectionRow","idText","isNumeric","selected","status","statusRender","action","actionRender","moreFields","handleClick","e","handleSelect","checked","v","moreFieldsRender","content","_","DashedDivider_default","DataCard_default","Skeleton","DataCardSkeleton","DataCardSkeleton_default","getFieldData","columns","fieldMap","column","actions","Header","SelectableContainer","children","rows","totalItems","handleSelection","totalSelected","SelectableContainer_default","Fragment","DataCards","getRowId","loading","fetching","pagination","progressBar","FixedProgressBar_default","EmptyContent_default","rowId","page","DataCards_default"],"mappings":"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","sourcesContent":["import Pagination from '@mui/material/Pagination';\nimport Stack from '@mui/material/Stack';\n\nimport EmptyContent from 'components/EmptyContent';\nimport FixedProgressBar from 'components/FixedProgressBar';\n\nimport DataCard from './DataCard';\nimport DataCardSkeleton from './DataCardSkeleton';\nimport { getFieldData } from './getFieldData';\nimport { DataCardsProps } from './props';\nimport SelectableContainer from './SelectableContainer';\n\nconst DataCards = ({\n title,\n rows,\n columns,\n getRowId,\n onClick,\n loading,\n fetching,\n pagination,\n checkboxSelection,\n onSelectionRow,\n selectedRows,\n}: DataCardsProps) => {\n const progressBar = fetching && <FixedProgressBar sx={{ zIndex: 1 }} />;\n\n if (loading) {\n return (\n <>\n {progressBar}\n <DataCardSkeleton />\n <DataCardSkeleton />\n <DataCardSkeleton />\n </>\n );\n }\n\n return (\n <Stack\n gap={2}\n component={checkboxSelection ? SelectableContainer : 'div'}\n {...(checkboxSelection && {\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems: pagination?.total || rows.length,\n })}\n >\n {progressBar}\n {rows.length === 0 && (\n <EmptyContent sx={{ mb: 3 }} title=\"Nenhum registro encontrado\" />\n )}\n {rows.map(row => {\n const rowId = getRowId(row);\n\n return (\n <DataCard\n title={title}\n key={`data-card-${rowId}`}\n id={rowId}\n row={row}\n fields={getFieldData(columns, row)}\n onClick={onClick}\n checkboxSelection={checkboxSelection}\n selectedRows={selectedRows}\n onSelectionRow={onSelectionRow}\n />\n );\n })}\n\n {pagination && rows.length > 0 && (\n <Stack direction=\"row\" justifyContent=\"center\">\n <Pagination\n page={pagination?.page}\n onChange={(_, page: number) => {\n pagination?.onPageChange(page);\n }}\n count={pagination?.total}\n />\n </Stack>\n )}\n </Stack>\n );\n};\n\nexport default DataCards;\n\nexport { DataCard, DataCardSkeleton, getFieldData };\n","import { useMemo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridRowParams } from '@mui/x-data-grid-premium';\n\nimport DashedDivider from 'components/DashedDivider';\nimport { isNumeric } from 'utils/number';\n\nimport { DataCardProps, MappedRow } from '../props';\n\nimport { CardActionAreaStyled, Container } from './styles';\n\nconst renderField = (field: MappedRow, id: string) => {\n if (field.renderCell) {\n const render = field.renderCell({\n value: field.value,\n field: id,\n row: { [id]: field.value },\n });\n if (render) return render;\n }\n\n if (field.valueFormatter && field.valueGetter) {\n return field.valueFormatter(field.valueGetter(field.value));\n }\n\n return field.value;\n};\n\n/* istanbul ignore next */\nconst menuClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n e.stopPropagation();\n};\n\nconst DataCard = ({\n fields,\n id,\n row,\n title,\n onClick,\n checkboxSelection,\n selectedRows = [],\n onSelectionRow,\n}: DataCardProps) => {\n /* istanbul ignore next */\n const idText = useMemo(() => `${isNumeric(id) ? '#' : ''}${id}`, [id]);\n\n const selected = useMemo(\n () => selectedRows?.includes(id),\n [id, selectedRows],\n );\n\n const status = fields.find(\n field =>\n field.label.toLowerCase() === 'status' ||\n field.type === 'status' ||\n field.field === 'status',\n );\n const statusRender = useMemo(\n () =>\n status?.renderCell?.({\n value: status.value,\n field: id,\n row: { [id]: status.value },\n }) || status?.value,\n [status, id],\n );\n\n const action = fields.find(\n field => field.type === 'actions' || field.id === 'actions',\n );\n const actionRender = useMemo(\n () => action?.getActions({ id, row }) || null,\n [action, id, row],\n );\n\n const moreFields = useMemo(\n () =>\n fields.filter(\n field =>\n field.label.toLowerCase() !== 'status' &&\n field.value?.toString() !== id &&\n field.type !== 'actions',\n ),\n [fields, id],\n );\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onClick?.({ id } as GridRowParams<object>, e, fields);\n };\n\n const handleSelect = (checked: boolean) => {\n onSelectionRow?.(\n checked ? [...selectedRows, id] : selectedRows.filter(v => v !== id),\n );\n };\n\n const moreFieldsRender = useMemo(\n () =>\n moreFields.map(\n field =>\n field.value != id && (\n <Stack\n flexBasis=\"50%\"\n key={`data-card-field-${id}-${field.label}`}\n pb={2}\n order={field.order}\n >\n <Typography variant=\"body2\" color=\"text.secondary\">\n {field.label}\n </Typography>\n <Typography variant=\"body1\">{renderField(field, id)}</Typography>\n </Stack>\n ),\n ),\n [moreFields, id],\n );\n\n const content = (\n <CardContent sx={{ padding: '0!important' }}>\n <Stack flexDirection=\"row\" justifyContent=\"space-between\" p={2} gap={1}>\n <Stack flexDirection=\"row\" alignItems=\"center\" gap={1}>\n {checkboxSelection && (\n <Checkbox\n checked={selected || false}\n onChange={(_, checked) => handleSelect(checked)}\n />\n )}\n\n <Typography variant=\"body1\" fontWeight={600} color=\"text.secondary\">\n {title}\n </Typography>\n\n <Typography variant=\"body1\" fontWeight={600}>\n {idText}\n </Typography>\n </Stack>\n <Stack\n className=\"actions\"\n flexDirection=\"row\"\n alignItems=\"center\"\n gap={1}\n >\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n textTransform=\"uppercase\"\n fontSize={14}\n fontWeight={600}\n >\n {statusRender}\n </Typography>\n <Stack onClick={menuClick} onMouseDown={menuClick}>\n {actionRender}\n </Stack>\n </Stack>\n </Stack>\n <DashedDivider />\n <Stack\n flexWrap=\"wrap\"\n direction=\"row\"\n justifyContent=\"space-between\"\n p={2}\n pb={0}\n >\n {moreFieldsRender}\n </Stack>\n </CardContent>\n );\n\n if (!onClick) return <Container>{content}</Container>;\n\n return (\n <Container onClick={handleClick}>\n <CardActionAreaStyled component=\"div\">{content}</CardActionAreaStyled>\n </Container>\n );\n};\n\nexport default DataCard;\n","import Card from '@mui/material/Card';\nimport CardActionArea from '@mui/material/CardActionArea';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Card)(({ theme }) => ({\n boxShadow: 'none',\n border: `1px solid ${theme.palette.divider}`,\n}));\n\nexport const CardActionAreaStyled = styled(CardActionArea)<{\n component?: React.ElementType;\n}>({\n '&.MuiCardActionArea-focusHighlight': {\n background: 'transparent',\n },\n});\n","import Card from '@mui/material/Card';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\n\nconst DataCardSkeleton = () => {\n return (\n <Card>\n <Stack justifyContent=\"space-between\" direction=\"row\" spacing={2} p={2}>\n <Skeleton height={24} width={200} />\n <Skeleton height={24} width={100} />\n </Stack>\n <Stack\n justifyContent=\"space-between\"\n flexWrap=\"wrap\"\n direction=\"row\"\n p={2}\n >\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={100} />\n <Skeleton sx={{ maxWidth: '95%' }} height={24} width={230} />\n </Stack>\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={80} />\n <Skeleton sx={{ maxWidth: '100%' }} height={27} width={250} />\n </Stack>\n </Stack>\n </Card>\n );\n};\n\nexport default DataCardSkeleton;\n","import { Columns, Row } from 'types/datagrid';\n\nimport { MappedRow } from './props';\n\nexport const getFieldData = (columns: Columns, row: Row) => {\n const fieldMap: MappedRow[] = [];\n\n columns.forEach(column => {\n if (column.field && column.field !== 'actions') {\n fieldMap.push({\n ...column,\n label: column.headerName || column.field,\n value: row[column.field],\n type: column.type,\n order: (column as unknown as { order: number })?.order || 0,\n id: column.field,\n });\n }\n });\n\n const actions = columns.find(column => column.field === 'actions');\n\n if (actions) {\n fieldMap.push({\n ...actions,\n label: 'Actions',\n value: null,\n order: 0,\n type: 'actions',\n id: 'actions',\n });\n }\n\n return fieldMap;\n};\n","import { PropsWithChildren } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { SelectableContainerProps } from './props';\nimport { Container, Header } from './styles';\n\nconst SelectableContainer = ({\n children,\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems,\n}: PropsWithChildren<SelectableContainerProps>) => {\n const handleSelection = (checked: boolean) => {\n if (checked) {\n onSelectionRow?.(rows.map(row => row['@id']));\n } else {\n onSelectionRow?.([]);\n }\n };\n const totalSelected = selectedRows?.length || 0;\n\n return (\n <Container>\n <Header>\n <Checkbox\n onChange={(_, checked) => handleSelection(checked)}\n checked={totalSelected === totalItems}\n indeterminate={totalSelected > 0 && totalSelected < totalItems}\n />\n <Typography variant=\"subtitle2\" component=\"span\" color=\"grey.600\">\n {title}\n </Typography>\n </Header>\n\n <Stack gap={1.5} p={1.5}>\n {children}\n </Stack>\n </Container>\n );\n};\n\nexport default SelectableContainer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Stack)(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: 16,\n}));\n\nexport const Header = styled(Stack)(() => ({\n padding: '12px 28px',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#F4F4F4',\n gap: 14,\n borderRadius: '16px 16px 0 0',\n}));\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/DataCards/index.tsx","../../../src/components/DataCards/DataCard/index.tsx","../../../src/components/DataCards/DataCard/styles.ts","../../../src/components/DataCards/DataCardSkeleton/index.tsx","../../../src/components/DataCards/getFieldData.ts","../../../src/components/DataCards/SelectableContainer/index.tsx","../../../src/components/DataCards/SelectableContainer/styles.ts"],"names":["useMemo","Pagination","Stack","memo","CardContent","Checkbox","Typography","Card","CardActionArea","styled","Container","theme","CardActionAreaStyled","jsx","jsxs","renderField","field","id","render","menuClick","e","DataCard","fields","row","title","onClick","checkboxSelection","selectedRows","onSelectionRow","cardData","status","action","moreFields","isNumeric","handleClick","handleSelect","checked","v","content","_","DashedDivider_default","DataCard_default","Skeleton","DataCardSkeleton","DataCardSkeleton_default","getFieldData","columns","fieldMap","column","actions","Header","SelectableContainer","children","rows","totalItems","handleSelection","totalSelected","SelectableContainer_default","Fragment","DataCards","getRowId","loading","fetching","pagination","progressBar","FixedProgressBar_default","fieldsMap","EmptyContent_default","rowId","page","DataCards_default"],"mappings":"gPAAA,OAAS,WAAAA,OAAe,QACxB,OAAOC,OAAgB,2BACvB,OAAOC,MAAW,sBCFlB,OAAS,QAAAC,EAAM,WAAAH,MAAe,QAC9B,OAAOI,MAAiB,4BACxB,OAAOC,MAAc,yBACrB,OAAOH,MAAW,sBAClB,OAAOI,MAAgB,2BCJvB,OAAOC,MAAU,qBACjB,OAAOC,MAAoB,+BAC3B,OAAS,UAAAC,MAAc,uBAEhB,IAAMC,EAAYD,EAAOF,CAAI,EAAE,CAAC,CAAE,MAAAI,CAAM,KAAO,CACpD,UAAW,OACX,OAAQ,aAAaA,EAAM,QAAQ,SACrC,EAAE,EAEWC,EAAuBH,EAAOD,CAAc,EAEtD,CACD,qCAAsC,CACpC,WAAY,aACd,CACF,CAAC,ED+EO,OAEI,OAAAK,EAFJ,QAAAC,MAAA,oBAhFR,IAAMC,EAAc,CAACC,EAAkBC,IAAe,CACpD,GAAID,EAAM,WAAY,CACpB,IAAME,EAASF,EAAM,WAAW,CAC9B,MAAOA,EAAM,MACb,MAAOC,EACP,IAAK,CAAE,CAACA,CAAE,EAAGD,EAAM,KAAM,CAC3B,CAAC,EACD,GAAIE,EAAQ,OAAOA,EAGrB,OAAIF,EAAM,gBAAkBA,EAAM,YACzBA,EAAM,eAAeA,EAAM,YAAYA,EAAM,KAAK,CAAC,EAGrDA,EAAM,KACf,EAGMG,EAAaC,GAAiD,CAClEA,EAAE,gBAAgB,CACpB,EAEMC,EAAW,CAAC,CAChB,OAAAC,EACA,GAAAL,EACA,IAAAM,EACA,MAAAC,EACA,QAAAC,EACA,kBAAAC,EACA,aAAAC,EAAe,CAAC,EAChB,eAAAC,CACF,IAAqB,CACnB,IAAMC,EAAW7B,EAAQ,IAAM,CAC7B,IAAM8B,EAASR,EAAO,KACpBN,GACEA,EAAM,MAAM,YAAY,IAAM,UAC9BA,EAAM,OAAS,UACfA,EAAM,QAAU,QACpB,EAEMe,EAAST,EAAO,KACpBN,GAASA,EAAM,OAAS,WAAaA,EAAM,KAAO,SACpD,EAEMgB,EAAaV,EAAO,OACxBN,GACEA,EAAM,MAAM,YAAY,IAAM,UAC9BA,EAAM,OAAO,SAAS,IAAMC,GAC5BD,EAAM,OAAS,SACnB,EAEA,MAAO,CACL,OAAQ,GAAGiB,EAAUhB,CAAE,EAAI,IAAM,KAAKA,IACtC,SAAUU,GAAc,SAASV,CAAE,EACnC,OAAAa,EACA,aACEA,GAAQ,aAAa,CACnB,MAAOA,EAAO,MACd,MAAOb,EACP,IAAK,CAAE,CAACA,CAAE,EAAGa,EAAO,KAAM,CAC5B,CAAC,GAAKA,GAAQ,MAChB,OAAAC,EACA,aAAcA,GAAQ,WAAW,CAAE,GAAAd,EAAI,IAAAM,CAAI,CAAC,GAAK,KACjD,WAAAS,CACF,CACF,EAAG,CAACV,EAAQL,EAAIM,EAAKI,CAAY,CAAC,EAE5BO,EAAed,GAAiD,CACpEK,IAAU,CAAE,GAAAR,CAAG,EAA4BG,EAAGE,CAAM,CACtD,EAEMa,EAAgBC,GAAqB,CACzCR,IACEQ,EAAU,CAAC,GAAGT,EAAcV,CAAE,EAAIU,EAAa,OAAOU,GAAKA,IAAMpB,CAAE,CACrE,CACF,EAEMqB,EACJxB,EAACV,EAAA,CAAY,GAAI,CAAE,QAAS,aAAc,EACxC,UAAAU,EAACZ,EAAA,CAAM,cAAc,MAAM,eAAe,gBAAgB,EAAG,EAAG,IAAK,EACnE,UAAAY,EAACZ,EAAA,CAAM,cAAc,MAAM,WAAW,SAAS,IAAK,EACjD,UAAAwB,GACCb,EAACR,EAAA,CACC,QAASwB,EAAS,UAAY,GAC9B,SAAU,CAACU,EAAGH,IAAYD,EAAaC,CAAO,EAChD,EAGFvB,EAACP,EAAA,CAAW,QAAQ,QAAQ,WAAY,IAAK,MAAM,iBAChD,SAAAkB,EACH,EAEAX,EAACP,EAAA,CAAW,QAAQ,QAAQ,WAAY,IACrC,SAAAuB,EAAS,OACZ,GACF,EACAf,EAACZ,EAAA,CACC,UAAU,UACV,cAAc,MACd,WAAW,SACX,IAAK,EAEL,UAAAW,EAACP,EAAA,CACC,QAAQ,QACR,MAAM,iBACN,cAAc,YACd,SAAU,GACV,WAAY,IAEX,SAAAuB,EAAS,aACZ,EACAhB,EAACX,EAAA,CAAM,QAASiB,EAAW,YAAaA,EACrC,SAAAU,EAAS,aACZ,GACF,GACF,EACAhB,EAAC2B,EAAA,EAAc,EACf3B,EAACX,EAAA,CACC,SAAS,OACT,UAAU,MACV,eAAe,gBACf,EAAG,EACH,GAAI,EAEH,SAAA2B,EAAS,WAAW,IACnBb,GACEA,EAAM,OAASC,GACbH,EAACZ,EAAA,CACC,UAAU,MAEV,GAAI,EACJ,MAAOc,EAAM,MAEb,UAAAH,EAACP,EAAA,CAAW,QAAQ,QAAQ,MAAM,iBAC/B,SAAAU,EAAM,MACT,EACAH,EAACP,EAAA,CAAW,QAAQ,QACjB,SAAAS,EAAYC,EAAOC,CAAE,EACxB,IATK,mBAAmBA,KAAMD,EAAM,OAUtC,CAEN,EACF,GACF,EAGF,OAAKS,EAGHZ,EAACH,EAAA,CAAU,QAASwB,EAClB,SAAArB,EAACD,EAAA,CAAqB,UAAU,MAAO,SAAA0B,EAAQ,EACjD,EALmBzB,EAACH,EAAA,CAAW,SAAA4B,EAAQ,CAO3C,EAEOG,EAAQtC,EAAKkB,CAAQ,EEzK5B,OAAOd,MAAU,qBACjB,OAAOmC,MAAc,yBACrB,OAAOxC,MAAW,sBAKZ,OACE,OAAAW,EADF,QAAAC,MAAA,oBAHN,IAAM6B,GAAmB,IAErB7B,EAACP,EAAA,CACC,UAAAO,EAACZ,EAAA,CAAM,eAAe,gBAAgB,UAAU,MAAM,QAAS,EAAG,EAAG,EACnE,UAAAW,EAAC6B,EAAA,CAAS,OAAQ,GAAI,MAAO,IAAK,EAClC7B,EAAC6B,EAAA,CAAS,OAAQ,GAAI,MAAO,IAAK,GACpC,EACA5B,EAACZ,EAAA,CACC,eAAe,gBACf,SAAS,OACT,UAAU,MACV,EAAG,EAEH,UAAAY,EAACZ,EAAA,CAAM,MAAM,MAAM,QAAS,EAC1B,UAAAW,EAAC6B,EAAA,CAAS,OAAQ,GAAI,MAAO,IAAK,EAClC7B,EAAC6B,EAAA,CAAS,GAAI,CAAE,SAAU,KAAM,EAAG,OAAQ,GAAI,MAAO,IAAK,GAC7D,EACA5B,EAACZ,EAAA,CAAM,MAAM,MAAM,QAAS,EAC1B,UAAAW,EAAC6B,EAAA,CAAS,OAAQ,GAAI,MAAO,GAAI,EACjC7B,EAAC6B,EAAA,CAAS,GAAI,CAAE,SAAU,MAAO,EAAG,OAAQ,GAAI,MAAO,IAAK,GAC9D,GACF,GACF,EAIGE,EAAQD,GC1BR,IAAME,EAAe,CAACC,EAAkBvB,IAAa,CAC1D,IAAMwB,EAAwB,CAAC,EAE/BD,EAAQ,QAAQE,GAAU,CACpBA,EAAO,OAASA,EAAO,QAAU,WACnCD,EAAS,KAAK,CACZ,GAAGC,EACH,MAAOA,EAAO,YAAcA,EAAO,MACnC,MAAOzB,EAAIyB,EAAO,KAAK,EACvB,KAAMA,EAAO,KACb,MAAQA,GAAyC,OAAS,EAC1D,GAAIA,EAAO,KACb,CAAC,CAEL,CAAC,EAED,IAAMC,EAAUH,EAAQ,KAAKE,GAAUA,EAAO,QAAU,SAAS,EAEjE,OAAIC,GACFF,EAAS,KAAK,CACZ,GAAGE,EACH,MAAO,UACP,MAAO,KACP,MAAO,EACP,KAAM,UACN,GAAI,SACN,CAAC,EAGIF,CACT,ECjCA,OAAO1C,OAAc,yBACrB,OAAOH,OAAW,sBAClB,OAAOI,OAAgB,2BCHvB,OAAOJ,MAAW,sBAClB,OAAS,UAAAO,MAAc,uBAEhB,IAAMC,EAAYD,EAAOP,CAAK,EAAE,CAAC,CAAE,MAAAS,CAAM,KAAO,CACrD,OAAQ,aAAaA,EAAM,QAAQ,UACnC,aAAc,EAChB,EAAE,EAEWuC,EAASzC,EAAOP,CAAK,EAAE,KAAO,CACzC,QAAS,YACT,cAAe,MACf,WAAY,SACZ,gBAAiB,UACjB,IAAK,GACL,aAAc,eAChB,EAAE,EDYI,OACE,OAAAW,EADF,QAAAC,MAAA,oBAnBN,IAAMqC,GAAsB,CAAC,CAC3B,SAAAC,EACA,MAAA5B,EACA,KAAA6B,EACA,eAAAzB,EACA,aAAAD,EACA,WAAA2B,CACF,IAAmD,CACjD,IAAMC,EAAmBnB,GAAqB,CAE1CR,IADEQ,EACeiB,EAAK,IAAI9B,GAAOA,EAAI,KAAK,CAAC,EAE1B,CAAC,CAF0B,CAIhD,EACMiC,EAAgB7B,GAAc,QAAU,EAE9C,OACEb,EAACJ,EAAA,CACC,UAAAI,EAACoC,EAAA,CACC,UAAArC,EAACR,GAAA,CACC,SAAU,CAACkC,EAAGH,IAAYmB,EAAgBnB,CAAO,EACjD,QAASoB,IAAkBF,EAC3B,cAAeE,EAAgB,GAAKA,EAAgBF,EACtD,EACAzC,EAACP,GAAA,CAAW,QAAQ,YAAY,UAAU,OAAO,MAAM,WACpD,SAAAkB,EACH,GACF,EAEAX,EAACX,GAAA,CAAM,IAAK,IAAK,EAAG,IACjB,SAAAkD,EACH,GACF,CAEJ,EAEOK,EAAQN,GLnBmB,OAc5B,YAAAO,GAd4B,OAAA7C,EAc5B,QAAAC,MAd4B,oBAblC,IAAM6C,GAAY,CAAC,CACjB,MAAAnC,EACA,KAAA6B,EACA,QAAAP,EACA,SAAAc,EACA,QAAAnC,EACA,QAAAoC,EACA,SAAAC,EACA,WAAAC,EACA,kBAAArC,EACA,eAAAE,EACA,aAAAD,CACF,IAAsB,CACpB,IAAMqC,EAAcF,GAAYjD,EAACoD,EAAA,CAAiB,GAAI,CAAE,OAAQ,CAAE,EAAG,EAE/DC,EAAYlE,GAChB,IACEqD,EAAK,IAAI9B,IAAQ,CACf,MAAOqC,EAASrC,CAAG,EACnB,IAAAA,EACA,OAAQsB,EAAaC,EAASvB,CAAG,CACnC,EAAE,EACJ,CAAC8B,EAAMP,EAASc,CAAQ,CAC1B,EAEA,OAAIC,EAEA/C,EAAA4C,GAAA,CACG,UAAAM,EACDnD,EAAC+B,EAAA,EAAiB,EAClB/B,EAAC+B,EAAA,EAAiB,EAClB/B,EAAC+B,EAAA,EAAiB,GACpB,EAKF9B,EAACZ,EAAA,CACC,IAAK,EACL,UAAWwB,EAAoB+B,EAAsB,MACpD,GAAI/B,GAAqB,CACxB,MAAAF,EACA,KAAA6B,EACA,eAAAzB,EACA,aAAAD,EACA,WAAYoC,GAAY,OAASV,EAAK,MACxC,EAEC,UAAAW,EACAX,EAAK,SAAW,GACfxC,EAACsD,EAAA,CAAa,GAAI,CAAE,GAAI,CAAE,EAAG,MAAM,6BAA6B,EAEjED,EAAU,IAAI,CAAC,CAAE,MAAAE,EAAO,IAAA7C,EAAK,OAAAD,CAAO,IACnCT,EAAC4B,EAAA,CACC,MAAOjB,EAEP,GAAI4C,EACJ,IAAK7C,EACL,OAAQD,EACR,QAASG,EACT,kBAAmBC,EACnB,aAAcC,EACd,eAAgBC,GAPX,aAAawC,GAQpB,CACD,EAEAL,GAAcV,EAAK,OAAS,GAC3BxC,EAACX,EAAA,CAAM,UAAU,MAAM,eAAe,SACpC,SAAAW,EAACZ,GAAA,CACC,KAAM8D,GAAY,KAClB,SAAU,CAACxB,EAAG8B,IAAiB,CAC7BN,GAAY,aAAaM,CAAI,CAC/B,EACA,MAAON,GAAY,MACrB,EACF,GAEJ,CAEJ,EAEOO,GAAQX","sourcesContent":["import { useMemo } from 'react';\nimport Pagination from '@mui/material/Pagination';\nimport Stack from '@mui/material/Stack';\n\nimport EmptyContent from 'components/EmptyContent';\nimport FixedProgressBar from 'components/FixedProgressBar';\n\nimport DataCard from './DataCard';\nimport DataCardSkeleton from './DataCardSkeleton';\nimport { getFieldData } from './getFieldData';\nimport { DataCardsProps } from './props';\nimport SelectableContainer from './SelectableContainer';\n\nconst DataCards = ({\n title,\n rows,\n columns,\n getRowId,\n onClick,\n loading,\n fetching,\n pagination,\n checkboxSelection,\n onSelectionRow,\n selectedRows,\n}: DataCardsProps) => {\n const progressBar = fetching && <FixedProgressBar sx={{ zIndex: 1 }} />;\n\n const fieldsMap = useMemo(\n () =>\n rows.map(row => ({\n rowId: getRowId(row),\n row,\n fields: getFieldData(columns, row),\n })),\n [rows, columns, getRowId],\n );\n\n if (loading) {\n return (\n <>\n {progressBar}\n <DataCardSkeleton />\n <DataCardSkeleton />\n <DataCardSkeleton />\n </>\n );\n }\n\n return (\n <Stack\n gap={2}\n component={checkboxSelection ? SelectableContainer : 'div'}\n {...(checkboxSelection && {\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems: pagination?.total || rows.length,\n })}\n >\n {progressBar}\n {rows.length === 0 && (\n <EmptyContent sx={{ mb: 3 }} title=\"Nenhum registro encontrado\" />\n )}\n {fieldsMap.map(({ rowId, row, fields }) => (\n <DataCard\n title={title}\n key={`data-card-${rowId}`}\n id={rowId}\n row={row}\n fields={fields}\n onClick={onClick}\n checkboxSelection={checkboxSelection}\n selectedRows={selectedRows}\n onSelectionRow={onSelectionRow}\n />\n ))}\n\n {pagination && rows.length > 0 && (\n <Stack direction=\"row\" justifyContent=\"center\">\n <Pagination\n page={pagination?.page}\n onChange={(_, page: number) => {\n pagination?.onPageChange(page);\n }}\n count={pagination?.total}\n />\n </Stack>\n )}\n </Stack>\n );\n};\n\nexport default DataCards;\n\nexport { DataCard, DataCardSkeleton, getFieldData };\n","import { memo, useMemo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridRowParams } from '@mui/x-data-grid-premium';\n\nimport DashedDivider from 'components/DashedDivider';\nimport { isNumeric } from 'utils/number';\n\nimport { DataCardProps, MappedRow } from '../props';\n\nimport { CardActionAreaStyled, Container } from './styles';\n\nconst renderField = (field: MappedRow, id: string) => {\n if (field.renderCell) {\n const render = field.renderCell({\n value: field.value,\n field: id,\n row: { [id]: field.value },\n });\n if (render) return render;\n }\n\n if (field.valueFormatter && field.valueGetter) {\n return field.valueFormatter(field.valueGetter(field.value));\n }\n\n return field.value;\n};\n\n/* istanbul ignore next */\nconst menuClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n e.stopPropagation();\n};\n\nconst DataCard = ({\n fields,\n id,\n row,\n title,\n onClick,\n checkboxSelection,\n selectedRows = [],\n onSelectionRow,\n}: DataCardProps) => {\n const cardData = useMemo(() => {\n const status = fields.find(\n field =>\n field.label.toLowerCase() === 'status' ||\n field.type === 'status' ||\n field.field === 'status',\n );\n\n const action = fields.find(\n field => field.type === 'actions' || field.id === 'actions',\n );\n\n const moreFields = fields.filter(\n field =>\n field.label.toLowerCase() !== 'status' &&\n field.value?.toString() !== id &&\n field.type !== 'actions',\n );\n\n return {\n idText: `${isNumeric(id) ? '#' : ''}${id}`,\n selected: selectedRows?.includes(id),\n status,\n statusRender:\n status?.renderCell?.({\n value: status.value,\n field: id,\n row: { [id]: status.value },\n }) || status?.value,\n action,\n actionRender: action?.getActions({ id, row }) || null,\n moreFields,\n };\n }, [fields, id, row, selectedRows]);\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n onClick?.({ id } as GridRowParams<object>, e, fields);\n };\n\n const handleSelect = (checked: boolean) => {\n onSelectionRow?.(\n checked ? [...selectedRows, id] : selectedRows.filter(v => v !== id),\n );\n };\n\n const content = (\n <CardContent sx={{ padding: '0!important' }}>\n <Stack flexDirection=\"row\" justifyContent=\"space-between\" p={2} gap={1}>\n <Stack flexDirection=\"row\" alignItems=\"center\" gap={1}>\n {checkboxSelection && (\n <Checkbox\n checked={cardData.selected || false}\n onChange={(_, checked) => handleSelect(checked)}\n />\n )}\n\n <Typography variant=\"body1\" fontWeight={600} color=\"text.secondary\">\n {title}\n </Typography>\n\n <Typography variant=\"body1\" fontWeight={600}>\n {cardData.idText}\n </Typography>\n </Stack>\n <Stack\n className=\"actions\"\n flexDirection=\"row\"\n alignItems=\"center\"\n gap={1}\n >\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n textTransform=\"uppercase\"\n fontSize={14}\n fontWeight={600}\n >\n {cardData.statusRender}\n </Typography>\n <Stack onClick={menuClick} onMouseDown={menuClick}>\n {cardData.actionRender}\n </Stack>\n </Stack>\n </Stack>\n <DashedDivider />\n <Stack\n flexWrap=\"wrap\"\n direction=\"row\"\n justifyContent=\"space-between\"\n p={2}\n pb={0}\n >\n {cardData.moreFields.map(\n field =>\n field.value != id && (\n <Stack\n flexBasis=\"50%\"\n key={`data-card-field-${id}-${field.label}`}\n pb={2}\n order={field.order}\n >\n <Typography variant=\"body2\" color=\"text.secondary\">\n {field.label}\n </Typography>\n <Typography variant=\"body1\">\n {renderField(field, id)}\n </Typography>\n </Stack>\n ),\n )}\n </Stack>\n </CardContent>\n );\n\n if (!onClick) return <Container>{content}</Container>;\n\n return (\n <Container onClick={handleClick}>\n <CardActionAreaStyled component=\"div\">{content}</CardActionAreaStyled>\n </Container>\n );\n};\n\nexport default memo(DataCard);\n","import Card from '@mui/material/Card';\nimport CardActionArea from '@mui/material/CardActionArea';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Card)(({ theme }) => ({\n boxShadow: 'none',\n border: `1px solid ${theme.palette.divider}`,\n}));\n\nexport const CardActionAreaStyled = styled(CardActionArea)<{\n component?: React.ElementType;\n}>({\n '&.MuiCardActionArea-focusHighlight': {\n background: 'transparent',\n },\n});\n","import Card from '@mui/material/Card';\nimport Skeleton from '@mui/material/Skeleton';\nimport Stack from '@mui/material/Stack';\n\nconst DataCardSkeleton = () => {\n return (\n <Card>\n <Stack justifyContent=\"space-between\" direction=\"row\" spacing={2} p={2}>\n <Skeleton height={24} width={200} />\n <Skeleton height={24} width={100} />\n </Stack>\n <Stack\n justifyContent=\"space-between\"\n flexWrap=\"wrap\"\n direction=\"row\"\n p={2}\n >\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={100} />\n <Skeleton sx={{ maxWidth: '95%' }} height={24} width={230} />\n </Stack>\n <Stack width=\"50%\" spacing={1}>\n <Skeleton height={24} width={80} />\n <Skeleton sx={{ maxWidth: '100%' }} height={27} width={250} />\n </Stack>\n </Stack>\n </Card>\n );\n};\n\nexport default DataCardSkeleton;\n","import { Columns, Row } from 'types/datagrid';\n\nimport { MappedRow } from './props';\n\nexport const getFieldData = (columns: Columns, row: Row) => {\n const fieldMap: MappedRow[] = [];\n\n columns.forEach(column => {\n if (column.field && column.field !== 'actions') {\n fieldMap.push({\n ...column,\n label: column.headerName || column.field,\n value: row[column.field],\n type: column.type,\n order: (column as unknown as { order: number })?.order || 0,\n id: column.field,\n });\n }\n });\n\n const actions = columns.find(column => column.field === 'actions');\n\n if (actions) {\n fieldMap.push({\n ...actions,\n label: 'Actions',\n value: null,\n order: 0,\n type: 'actions',\n id: 'actions',\n });\n }\n\n return fieldMap;\n};\n","import { PropsWithChildren } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport { SelectableContainerProps } from './props';\nimport { Container, Header } from './styles';\n\nconst SelectableContainer = ({\n children,\n title,\n rows,\n onSelectionRow,\n selectedRows,\n totalItems,\n}: PropsWithChildren<SelectableContainerProps>) => {\n const handleSelection = (checked: boolean) => {\n if (checked) {\n onSelectionRow?.(rows.map(row => row['@id']));\n } else {\n onSelectionRow?.([]);\n }\n };\n const totalSelected = selectedRows?.length || 0;\n\n return (\n <Container>\n <Header>\n <Checkbox\n onChange={(_, checked) => handleSelection(checked)}\n checked={totalSelected === totalItems}\n indeterminate={totalSelected > 0 && totalSelected < totalItems}\n />\n <Typography variant=\"subtitle2\" component=\"span\" color=\"grey.600\">\n {title}\n </Typography>\n </Header>\n\n <Stack gap={1.5} p={1.5}>\n {children}\n </Stack>\n </Container>\n );\n};\n\nexport default SelectableContainer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Container = styled(Stack)(({ theme }) => ({\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: 16,\n}));\n\nexport const Header = styled(Stack)(() => ({\n padding: '12px 28px',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: '#F4F4F4',\n gap: 14,\n borderRadius: '16px 16px 0 0',\n}));\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, Dispatch, SetStateAction } from 'react';
|
|
3
|
+
import { ReactNode, Dispatch, SetStateAction, PropsWithChildren } from 'react';
|
|
4
4
|
import * as _mui_material_Stack from '@mui/material/Stack';
|
|
5
5
|
import { StackProps } from '@mui/material/Stack';
|
|
6
6
|
import * as _mui_material_styles from '@mui/material/styles';
|
|
@@ -32,6 +32,19 @@ interface DataViewProps extends DataGridProps {
|
|
|
32
32
|
interface ToolbarProps {
|
|
33
33
|
setFilterButtonEl: Dispatch<SetStateAction<HTMLButtonElement | null>>;
|
|
34
34
|
}
|
|
35
|
+
interface DesktopFooterProps {
|
|
36
|
+
rowCount: number;
|
|
37
|
+
page: number;
|
|
38
|
+
rowsPerPage: number;
|
|
39
|
+
onPaginationChange: (page: number, rowsPerPage: number) => void;
|
|
40
|
+
}
|
|
41
|
+
interface EnhancedMoreActionsProps extends PropsWithChildren {
|
|
42
|
+
onClose: () => void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
declare const _default$1: react.MemoExoticComponent<({ rowCount, page, rowsPerPage, onPaginationChange, }: DesktopFooterProps) => react_jsx_runtime.JSX.Element>;
|
|
46
|
+
|
|
47
|
+
declare const _default: react.MemoExoticComponent<({ children, onClose, }: EnhancedMoreActionsProps) => ReactNode>;
|
|
35
48
|
|
|
36
49
|
interface DefaultProps {
|
|
37
50
|
breakpoint: Breakpoint | number;
|
|
@@ -40,33 +53,16 @@ interface ContainerProps extends StackProps {
|
|
|
40
53
|
breakpoint: Breakpoint | number;
|
|
41
54
|
}
|
|
42
55
|
declare const Container: _emotion_styled.StyledComponent<PanelProps & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & ContainerProps, {}, {}>;
|
|
43
|
-
declare const Header: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
declare const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
declare const
|
|
50
|
-
ref?: ((instance: HTMLHRElement | null) => void) | react.RefObject<HTMLHRElement> | null | undefined;
|
|
51
|
-
}, "light" | "children" | "className" | "style" | "classes" | "sx" | "variant" | "textAlign" | "absolute" | "orientation" | "flexItem"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
52
|
-
declare const ToolbarActionsDivider: _emotion_styled.StyledComponent<_mui_material_Divider.DividerOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "ref"> & {
|
|
53
|
-
ref?: ((instance: HTMLHRElement | null) => void) | react.RefObject<HTMLHRElement> | null | undefined;
|
|
54
|
-
}, "light" | "children" | "className" | "style" | "classes" | "sx" | "variant" | "textAlign" | "absolute" | "orientation" | "flexItem"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
55
|
-
declare const Topbar: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
56
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
57
|
-
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
58
|
-
declare const SearchContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
59
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
60
|
-
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
61
|
-
declare const MobilePaginationContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
62
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
63
|
-
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
64
|
-
declare const DesktopPaginationContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
65
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
66
|
-
}, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
56
|
+
declare const Header: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
57
|
+
declare const ActionsContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
58
|
+
declare const ActionsDivider: _emotion_styled.StyledComponent<_mui_material_Divider.DividerOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "light" | "children" | "className" | "style" | "classes" | "sx" | "variant" | "textAlign" | "absolute" | "orientation" | "flexItem"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
59
|
+
declare const ToolbarActionsDivider: _emotion_styled.StyledComponent<_mui_material_Divider.DividerOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "light" | "children" | "className" | "style" | "classes" | "sx" | "variant" | "textAlign" | "absolute" | "orientation" | "flexItem"> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
60
|
+
declare const Topbar: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
61
|
+
declare const SearchContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
|
|
62
|
+
declare const MobilePaginationContainer: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
|
|
67
63
|
|
|
68
64
|
declare const Toolbar: ({ setFilterButtonEl }: ToolbarProps) => react_jsx_runtime.JSX.Element;
|
|
69
65
|
|
|
70
66
|
declare const DataView: ({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, showColumnButton, ...others }: DataViewProps) => react_jsx_runtime.JSX.Element;
|
|
71
67
|
|
|
72
|
-
export { ActionsContainer, ActionsDivider, Container,
|
|
68
|
+
export { ActionsContainer, ActionsDivider, Container, _default$1 as DesktopFooter, _default as EnhancedMoreActions, Header, MobilePaginationContainer, SearchContainer, Toolbar, ToolbarActionsDivider, Topbar, DataView as default };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { a as
|
|
1
|
+
export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-6UWD6IZZ.js';
|
|
2
2
|
import '../../chunk-RPPQBAVO.js';
|
|
3
3
|
import '../../chunk-IJZCVZ32.js';
|
|
4
4
|
import '../../chunk-IDFJFFIV.js';
|
|
5
5
|
import '../../chunk-6U5LS7MP.js';
|
|
6
6
|
import '../../chunk-BNBE2OMA.js';
|
|
7
7
|
import '../../chunk-NIQW2J3M.js';
|
|
8
|
-
export { c as ActionsContainer, d as ActionsDivider, a as Container,
|
|
8
|
+
export { c as ActionsContainer, d as ActionsDivider, a as Container, b as Header, h as MobilePaginationContainer, g as SearchContainer, e as ToolbarActionsDivider, f as Topbar } from '../../chunk-TB4Y7LXN.js';
|
|
9
9
|
import '../../chunk-UVPQR2Q2.js';
|
|
10
10
|
import '../../chunk-RBTYTONM.js';
|
|
11
11
|
import '../../chunk-IN7SP2ND.js';
|
|
@@ -4,9 +4,7 @@ import * as _mui_material_OverridableComponent from '@mui/material/OverridableCo
|
|
|
4
4
|
import * as _mui_material from '@mui/material';
|
|
5
5
|
import * as _mui_material_IconButton from '@mui/material/IconButton';
|
|
6
6
|
|
|
7
|
-
declare const DragButton: ({ disableDrag, ...props }: _mui_material_IconButton.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
8
|
-
ref?: ((instance: HTMLButtonElement | null) => void) | react.RefObject<HTMLButtonElement> | null | undefined;
|
|
9
|
-
}, "children" | "disabled" | "className" | "style" | "classes" | "sx" | "color" | "tabIndex" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "size" | "disableFocusRipple" | "edge"> & {
|
|
7
|
+
declare const DragButton: ({ disableDrag, ...props }: _mui_material_IconButton.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "disabled" | "className" | "style" | "classes" | "sx" | "color" | "tabIndex" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "size" | "disableFocusRipple" | "edge"> & {
|
|
10
8
|
component?: react.ElementType<any, keyof react.JSX.IntrinsicElements> | undefined;
|
|
11
9
|
} & {
|
|
12
10
|
disableDrag?: boolean | undefined;
|
|
@@ -18,8 +18,6 @@ interface SortableStyleProps extends BoxProps {
|
|
|
18
18
|
'aria-roledescription'?: string;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
declare const DragContainer: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material_styles.Theme> & Omit<
|
|
22
|
-
ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
|
|
23
|
-
}, keyof _mui_system.BoxOwnProps<_mui_material_styles.Theme>> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & SortableStyleProps & Partial<DraggableAttributes>, {}, {}>;
|
|
21
|
+
declare const DragContainer: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material_styles.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material_styles.Theme>> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & SortableStyleProps & Partial<DraggableAttributes>, {}, {}>;
|
|
24
22
|
|
|
25
23
|
export { DragContainer as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode } from 'react';
|
|
3
|
+
import { ReactNode, ReactElement } from 'react';
|
|
4
4
|
import { GridColDef, GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
|
|
5
5
|
import { PagedResponse } from '../../types/api.js';
|
|
6
6
|
import { Field, EntityMetadataResponse } from '../../types/entityMetadata.js';
|
|
@@ -72,7 +72,7 @@ interface DynamicDataViewProps<T = object> {
|
|
|
72
72
|
moreActions?: ReactNode;
|
|
73
73
|
hideHeader?: boolean;
|
|
74
74
|
slots?: {
|
|
75
|
-
noRowsOverlay?: () =>
|
|
75
|
+
noRowsOverlay?: () => ReactElement;
|
|
76
76
|
};
|
|
77
77
|
mobileRender?: MobileRenderFunction<T>;
|
|
78
78
|
containerHeight?: number;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { d, c as c$1 } from '../../chunk-N7IK5EUP.js';
|
|
2
2
|
import { a } from '../../chunk-FK4XGRYF.js';
|
|
3
3
|
import { h, a as a$3 } from '../../chunk-OF6623HG.js';
|
|
4
|
-
import {
|
|
4
|
+
import { d as d$1 } from '../../chunk-6UWD6IZZ.js';
|
|
5
5
|
import '../../chunk-RPPQBAVO.js';
|
|
6
6
|
import '../../chunk-IJZCVZ32.js';
|
|
7
|
-
import { a as a$2 } from '../../chunk-
|
|
8
|
-
import '../../chunk-
|
|
7
|
+
import { a as a$2 } from '../../chunk-LQZSZV2W.js';
|
|
8
|
+
import '../../chunk-FBN7HCBY.js';
|
|
9
9
|
import '../../chunk-IDFJFFIV.js';
|
|
10
10
|
import '../../chunk-6U5LS7MP.js';
|
|
11
11
|
import '../../chunk-BNBE2OMA.js';
|
|
12
12
|
import '../../chunk-NIQW2J3M.js';
|
|
13
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-TB4Y7LXN.js';
|
|
14
14
|
import '../../chunk-UVPQR2Q2.js';
|
|
15
15
|
import '../../chunk-RBTYTONM.js';
|
|
16
16
|
import '../../chunk-IN7SP2ND.js';
|
|
@@ -22,19 +22,19 @@ import '../../chunk-LQRRMVFN.js';
|
|
|
22
22
|
import '../../chunk-RPO7AI5K.js';
|
|
23
23
|
import '../../chunk-IAOMC4C4.js';
|
|
24
24
|
import '../../chunk-GLRLKFPS.js';
|
|
25
|
-
import { a as a$4 } from '../../chunk-
|
|
25
|
+
import { a as a$4 } from '../../chunk-HYJEAKVR.js';
|
|
26
26
|
import '../../chunk-POTVACYB.js';
|
|
27
|
-
import '../../chunk-
|
|
27
|
+
import '../../chunk-BLVCNBTJ.js';
|
|
28
28
|
import '../../chunk-ET3WPQIO.js';
|
|
29
29
|
import '../../chunk-CFNATBO2.js';
|
|
30
30
|
import { memo, useMemo, useCallback } from 'react';
|
|
31
31
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
32
32
|
import Be from '@mui/material/Chip';
|
|
33
|
-
import
|
|
34
|
-
import
|
|
33
|
+
import oe from '@mui/material/Stack';
|
|
34
|
+
import ne from '@mui/material/Typography';
|
|
35
35
|
|
|
36
|
-
var c={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},S={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"}
|
|
36
|
+
var c={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},S={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},$=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Ae=(e,r)=>({field:e.name,headerName:e.description,sortable:!1,width:c.IMAGE_WIDTH,resizable:!1,renderCell:t=>r(e,t.row)}),Se=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ID_MIN_WIDTH,flex:c.ID_FLEX,renderCell:t=>r(e,t.row)}),xe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ENTITY_MIN_WIDTH,flex:c.ENTITY_FLEX,renderCell:t=>r(e,t.row)}),Fe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.MIN_WIDTH,renderCell:t=>r(e,t.row)}),Me=(e,r)=>({field:e.name,headerName:"A\xE7\xF5es",width:c.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:t=>r(e,t.row)}),ee=(e,r)=>e.name===r?.id_field_name||e.name==="name"?Se:e.name==="ACTIONS"?Me:e.type==="FILE"?Ae:e.type==="ENTITY"?xe:Fe;var re=({metadata:e,renderCell:r,columnStrategies:t})=>useMemo(()=>{if(!e?.fields)return [];let a=new Map;return e.fields.filter(o=>o.access_type===S.READ_ONLY||o.access_type===S.READ_AND_WRITE?!0:o.name==="ACTIONS"||o.name===e?.id_field_name||o.name==="NAME").forEach(o=>{if(a.has(o.name))return;let b=(t?.[o.name]??ee(o,e))(o,r,e);a.set(o.name,b);}),Array.from(a.values())},[t,e,r]);var te=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),x=e=>e.fields.some(t=>t.name==="ACTIONS")?e:{...e,fields:[...e.fields,te()]};var Le=({value:e,trueLabel:r="Ativo",falseLabel:t="Inativo"})=>jsx(a,{color:e?"success":"warning",children:e?r:t}),F=memo(Le);var ve=({value:e,format:r})=>e==null?"-":d(e,r),M=memo(ve);var Ve=({value:e,format:r})=>e==null?"-":c$1(e,r),P=memo(Ve);var He=({value:e,field:r})=>{if(!r.metadata||typeof e!="object"||e===null)return e?String(e):"-";let t=e[r.metadata.description_field_name];return t?jsx(Be,{label:String(t),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},G=memo(He);var ze=({value:e,trueIcon:r="STAR_02",falseIcon:t="STAR",color:a="primary.main",width:i=18})=>jsx(a$1,{icon:e?r:t,color:a,width:i}),Xe=memo(ze);var Ke=({id:e,displayName:r,copyMessage:t="ID copiado!"})=>jsxs(oe,{height:1,justifyContent:"center",children:[jsx(ne,{variant:"subtitle2",noWrap:!0,title:r,children:r}),jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsxs(ne,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:t})]})]}),Qe=memo(Ke);var rr=({value:e,isCurrency:r=!1})=>e==null?"-":jsx(oe,{direction:"row",alignItems:"center",height:"100%",children:jsx(ne,{variant:"body2",noWrap:!0,width:"fit-content",children:r?h(Number(e)):a$3(Number(e))})}),W=memo(rr);var ar=e=>e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim(),ir=({value:e,showCopyButton:r=!1,copyMessage:t="Copiado"})=>{if(!e)return "-";let a=String(e),i=ar(a);return r?jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsx(ne,{variant:"body2",noWrap:!0,children:i}),jsx(a$2,{toCopy:i,message:t})]}):i},k=memo(ir);function sr(e){return $.includes(e)}var se=e=>{let{onRowAction:r}=e,t=(a,i)=>{let o=i[a.name];if(a.name==="ACTIONS")return r?.(i.id,i);switch(a.type){case"BOOLEAN":return jsx(F,{value:o});case"DATE":return jsx(M,{value:o});case"DATETIME":return jsx(P,{value:o});case"DECIMAL":case"INTEGER":return jsx(W,{value:o,isCurrency:sr(a.name)});case"FILE":case"ENTITY":return jsx(G,{value:o,field:a});case"TEXT":default:return jsx(k,{value:o})}};return t.displayName="CellRendererComponent",t};function v(e){return e.name}var dr=({title:e,metadata:r,data:t,isLoading:a,isFetching:i,page:o,perPage:O,searchValue:b,onSearchChange:de,onSearch:ce,onPaginationChange:pe,onAdd:ue,onRowAction:N,onRowDoubleClick:I,actions:fe,moreActions:Re,hideHeader:ye,slots:Te,mobileRender:Ce,containerHeight:V=600,showColumnButton:De=!1,defaultVisibleFieldNames:_,preferredFieldOrder:E,columnStrategies:ge,onColumnVisibilityModelChange:w,columnVisibilityStorageKey:Y})=>{let{items:Ne=[],total:Ie=0}=t||{},s=useMemo(()=>N?x(r):r,[r,N]),_e=useMemo(()=>se({onRowAction:N}),[N]),T=re({metadata:s,renderCell:_e,columnStrategies:ge}),C=useMemo(()=>new Map(T.map(n=>[n.field,n])),[T]),B=useMemo(()=>new Map(s?.fields?.map(n=>[n.name,n])||[]),[s]),D=!!Y,[A,H]=a$4(Y||"__dynamic-data-view:columns__",void 0,{initializeWithValue:D}),Ee=useMemo(()=>{if(!E||E.length===0||!s?.fields)return T;let n="ACTIONS",p=E.filter(l=>l!==n),d=new Set,m=[],g=l=>{let u=B.get(l);if(!u)return;let f=v(u),U=C.get(f);!U||d.has(f)||(m.push(U),d.add(f));};return p.forEach(l=>{g(l);}),s.fields.forEach(l=>{if(l.name===n||p.includes(l.name))return;let u=v(l),f=C.get(u);!f||d.has(u)||(m.push(f),d.add(u));}),g(n),m.length===0?T:m},[T,C,B,E,s]),he=useMemo(()=>{if(!s?.fields)return;let n={};if(s.fields.forEach(p=>{let d=v(p);if(!C.has(d))return;let m;if(D&&A){let g=A[d];typeof g=="boolean"&&(m=g);}m===void 0&&_&&_.length>0&&(m=_.includes(p.name)),typeof m=="boolean"&&(n[d]=m);}),Object.keys(n).length!==0)return {columns:{columnVisibilityModel:n}}},[C,_,s,D,A]),be=useCallback(n=>{D&&H(n),w&&w(n);},[D,w,H]),we=useCallback(n=>{if(!I)return;let p=n.id?.toString()||"";I(p,n.row);},[I]);return jsx(d$1,{title:e,columns:Ee,rows:Ne,mobileRender:Ce||(()=>null),rowCount:Ie,loading:a,fetching:i,searchValue:b,onSearch:ce,onSearchChange:de,paginationModel:{page:o,pageSize:O},onPaginationChange:pe,actions:fe,moreActions:Re,onAdd:ue,hideHeader:ye,onRowDoubleClick:I?we:void 0,disableRowSelectionOnClick:!0,slots:Te,initialState:he,showColumnButton:De,containerProps:{height:V,maxHeight:V},onColumnVisibilityModelChange:be})},cr=memo(dr);
|
|
37
37
|
|
|
38
|
-
export { F as BooleanRenderer, M as DateRenderer, P as DateTimeRenderer, G as EntityRenderer, Xe as IconRenderer, Qe as NameRenderer, W as NumberRenderer, k as TextRenderer, x as addActionsFieldToMetadata,
|
|
38
|
+
export { F as BooleanRenderer, M as DateRenderer, P as DateTimeRenderer, G as EntityRenderer, Xe as IconRenderer, Qe as NameRenderer, W as NumberRenderer, k as TextRenderer, x as addActionsFieldToMetadata, te as createActionsField, cr as default };
|
|
39
39
|
//# sourceMappingURL=out.js.map
|
|
40
40
|
//# sourceMappingURL=index.js.map
|