@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useAutocomplete.ts"],"names":["useState","debounce","useAutocomplete","initialValue","searching","setSearching","search","setSearch","selectedValue","setSelectedValue","debouncedSetSearch","onSearch","term","finishSearch","options","fetching","value","opt","combinedOptions","uniqueValue","selected","useAutocomplete_default"],"mappings":"AAAA,OAAS,
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useAutocomplete.ts"],"names":["useCallback","useMemo","useState","debounce","useAutocomplete","initialValue","searching","setSearching","search","setSearch","selectedValue","setSelectedValue","debouncedSetSearch","searchTerm","onSearch","term","finishSearch","buildOptions","options","fetching","value","opt","combinedOptions","uniqueValue","onSelectValue","selected","useAutocomplete_default"],"mappings":"AAAA,OAAS,eAAAA,EAAa,WAAAC,EAAS,YAAAC,MAAgB,QAC/C,OAAS,YAAAC,MAAgB,sBAIzB,IAAMC,EAAmBC,GAAqC,CAC5D,GAAM,CAACC,EAAWC,CAAY,EAAIL,EAAS,EAAK,EAC1C,CAACM,EAAQC,CAAS,EAAIP,EAAiB,EACvC,CAACQ,EAAeC,CAAgB,EAAIT,EAA4B,EAEhEU,EAAqBX,EACzB,IACEE,EAAUU,GAAwB,CAChCJ,EAAUI,CAAU,EACpBN,EAAa,EAAK,CACpB,EAAG,GAAG,EACR,CAAC,CACH,EAEMO,EAAWd,EACde,GAAkB,CACbA,GAAMR,EAAa,EAAI,EAC3BK,EAAmBG,CAAI,CACzB,EACA,CAACH,CAAkB,CACrB,EAEMI,EAAehB,EAAY,IAAM,CACrCO,EAAa,EAAK,EAClBE,EAAU,MAAS,CACrB,EAAG,CAAC,CAAC,EAECQ,EAAejB,EACnB,CAACkB,EAAoB,CAAC,EAAGC,EAAW,KAAU,CAC5C,IAAMC,EAAQV,GAAiBL,EAE/B,GAAI,CAACe,GAASZ,IAAW,OACvB,OAAOU,EAAQ,OACbG,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAC7C,EAEF,GAAIf,GAAaa,EAAU,MAAO,CAAC,EAGnC,IAAMG,EAAkB,CAAC,GADH,MAAM,QAAQF,CAAK,EAAIA,EAAQ,CAACA,CAAK,EAChB,GAAGF,CAAO,EAErD,OACE,MAAM,KAAK,IAAI,IAAII,EAAgB,IAAID,GAAOA,EAAI,KAAK,CAAC,CAAC,EAAE,IACzDE,GAAeD,EAAgB,KAAKD,GAAOA,EAAI,QAAUE,CAAW,CACtE,EACA,OAAOF,GAAOA,EAAI,QAAU,MAAQA,EAAI,QAAU,MAAS,CAC/D,EACA,CAACX,EAAeL,EAAcG,EAAQF,CAAS,CACjD,EAEMkB,EAAgBxB,EACpB,CAACkB,EAAoB,CAAC,EAAGO,IAAsB,CAC7C,GAAI,CAACA,GAAa,MAAM,QAAQA,CAAQ,GAAKA,EAAS,SAAW,EAAI,CACnEd,EAAiB,MAAS,EAC1B,OAGE,MAAM,QAAQc,CAAQ,EACxBd,EACEO,EAAQ,OAAOG,GAAOI,EAAS,SAASJ,EAAI,KAAe,CAAC,CAC9D,EAEAV,EAAiBO,EAAQ,KAAKG,GAAOA,EAAI,QAAUI,CAAQ,CAAC,EAG9DT,EAAa,CACf,EACA,CAACA,CAAY,CACf,EAEA,MAAO,CACL,OAAAR,EACA,UAAAF,EACA,aAAAW,EACA,SAAAH,EACA,cAAAU,EACA,aAAAR,CACF,CACF,EAEOU,EAAQtB","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { debounce } from '@mui/material/utils';\n\nimport { Option } from 'types/option';\n\nconst useAutocomplete = (initialValue?: Option | Option[]) => {\n const [searching, setSearching] = useState(false);\n const [search, setSearch] = useState<string>();\n const [selectedValue, setSelectedValue] = useState<Option | Option[]>();\n\n const debouncedSetSearch = useMemo(\n () =>\n debounce((searchTerm?: string) => {\n setSearch(searchTerm);\n setSearching(false);\n }, 500),\n [],\n );\n\n const onSearch = useCallback(\n (term?: string) => {\n if (term) setSearching(true);\n debouncedSetSearch(term);\n },\n [debouncedSetSearch],\n );\n\n const finishSearch = useCallback(() => {\n setSearching(false);\n setSearch(undefined);\n }, []);\n\n const buildOptions = useCallback(\n (options: Option[] = [], fetching = false) => {\n const value = selectedValue || initialValue;\n\n if (!value || search !== undefined)\n return options.filter(\n opt => opt.value !== null && opt.value !== undefined,\n );\n\n if (searching || fetching) return [];\n\n const selectedArray = Array.isArray(value) ? value : [value];\n const combinedOptions = [...selectedArray, ...options];\n\n return (\n Array.from(new Set(combinedOptions.map(opt => opt.value))).map(\n uniqueValue => combinedOptions.find(opt => opt.value === uniqueValue),\n ) as Option[]\n ).filter(opt => opt.value !== null && opt.value !== undefined);\n },\n [selectedValue, initialValue, search, searching],\n );\n\n const onSelectValue = useCallback(\n (options: Option[] = [], selected: unknown) => {\n if (!selected || (Array.isArray(selected) && selected.length === 0)) {\n setSelectedValue(undefined);\n return;\n }\n\n if (Array.isArray(selected)) {\n setSelectedValue(\n options.filter(opt => selected.includes(opt.value as string)),\n );\n } else {\n setSelectedValue(options.find(opt => opt.value === selected));\n }\n\n finishSearch();\n },\n [finishSearch],\n );\n\n return {\n search,\n searching,\n buildOptions,\n onSearch,\n onSelectValue,\n finishSearch,\n };\n};\n\nexport default useAutocomplete;\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { a as useThemeToggle } from '../chunk-EDWQYAWG.js';
|
|
2
|
-
import '../chunk-
|
|
2
|
+
import '../chunk-MZOCS5HH.js';
|
|
3
3
|
import '../chunk-373WGZZL.js';
|
|
4
|
+
import '../chunk-6W52DPH4.js';
|
|
4
5
|
import '../chunk-TWSAWMZ3.js';
|
|
5
6
|
import '../chunk-ROVD7OGE.js';
|
|
7
|
+
import '../chunk-EQYL7U3J.js';
|
|
6
8
|
import '../chunk-WUFEPE2G.js';
|
|
7
9
|
import '../chunk-BX2DSNRV.js';
|
|
8
|
-
import '../chunk-6W52DPH4.js';
|
|
9
|
-
import '../chunk-EQYL7U3J.js';
|
|
10
10
|
import '../chunk-GLRLKFPS.js';
|
|
11
11
|
//# sourceMappingURL=out.js.map
|
|
12
12
|
//# sourceMappingURL=useThemeToggle.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
+
import Cropper from 'cropperjs';
|
|
2
3
|
|
|
3
4
|
interface Props {
|
|
4
5
|
onFileCropped(file?: File): void;
|
|
@@ -14,7 +15,7 @@ declare const useUploadImage: ({ onFileCropped, onImageUploaded, onCancel, }: Pr
|
|
|
14
15
|
cancelChanges: () => void;
|
|
15
16
|
saveChanges: () => void;
|
|
16
17
|
previewImage: () => void;
|
|
17
|
-
setCropper: react.Dispatch<
|
|
18
|
+
setCropper: react.Dispatch<react.SetStateAction<Cropper | undefined>>;
|
|
18
19
|
preview: string | undefined;
|
|
19
20
|
closePreviewImage: () => void;
|
|
20
21
|
saving: boolean;
|
|
@@ -2,7 +2,7 @@ import { a } from '../chunk-E3R7W7GK.js';
|
|
|
2
2
|
import { useId, useState } from 'react';
|
|
3
3
|
import I from 'browser-image-compression';
|
|
4
4
|
|
|
5
|
-
var h=5242880,
|
|
5
|
+
var h=5242880,M=({onFileCropped:n,onImageUploaded:c,onCancel:t})=>{let d=useId(),[e,m]=useState(),[f,o,s]=a(),[u,i]=useState(),[v,p]=useState(!1);return {id:d,setCropModalOpen:s,handleRemove:()=>{n(void 0),c(void 0),s(!1);},toggleCropModalOpen:o,cropModalOpen:f,cancelChanges:()=>{t&&t(),s(!1);},saveChanges:()=>{e!==void 0&&e.getCroppedCanvas().toBlob(async g=>{try{if(!g)return;p(!0);let a=new File([g],"imagem.png",{type:"image/png"});if(a.size>h){let C=await I(a,{maxSizeMB:5});n(C),o();return}n(a),o();}finally{p(!1);}},"image/png",1);},previewImage:()=>{e!==void 0&&i(e.getCroppedCanvas().toDataURL());},setCropper:m,preview:u,closePreviewImage:()=>i(void 0),saving:v}},x=M;
|
|
6
6
|
|
|
7
7
|
export { x as default };
|
|
8
8
|
//# sourceMappingURL=out.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useUploadImage.ts"],"names":["useId","useState","imageCompression","FIVE_MB","useUploadImage","onFileCropped","onImageUploaded","onCancel","id","cropper","setCropper","cropModalOpen","toggleCropModalOpen","setCropModalOpen","useToggle_default","preview","setPreview","saving","setSaving","blob","file","compressedFile","useUploadImage_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useUploadImage.ts"],"names":["useId","useState","imageCompression","FIVE_MB","useUploadImage","onFileCropped","onImageUploaded","onCancel","id","cropper","setCropper","cropModalOpen","toggleCropModalOpen","setCropModalOpen","useToggle_default","preview","setPreview","saving","setSaving","blob","file","compressedFile","useUploadImage_default"],"mappings":"yCAAA,OAAS,SAAAA,EAAO,YAAAC,MAAgB,QAChC,OAAOC,MAAsB,4BAW7B,IAAMC,EAAU,QAEVC,EAAiB,CAAC,CACtB,cAAAC,EACA,gBAAAC,EACA,SAAAC,CACF,IAAa,CACX,IAAMC,EAAKR,EAAM,EACX,CAACS,EAASC,CAAU,EAAIT,EAAkB,EAC1C,CAACU,EAAeC,EAAqBC,CAAgB,EAAIC,EAAU,EACnE,CAACC,EAASC,CAAU,EAAIf,EAAiB,EACzC,CAACgB,EAAQC,CAAS,EAAIjB,EAAS,EAAK,EAuD1C,MAAO,CACL,GAAAO,EACA,iBAAAK,EACA,aATmB,IAAM,CACzBR,EAAc,MAAS,EACvBC,EAAgB,MAAS,EACzBO,EAAiB,EAAK,CACxB,EAME,oBAAAD,EACA,cAAAD,EACA,cA3DoB,IAAM,CACtBJ,GAAUA,EAAS,EACvBM,EAAiB,EAAK,CACxB,EAyDE,YA/CkB,IAAM,CACpBJ,IAAY,QAEhBA,EAAQ,iBAAiB,EAAE,OACzB,MAAOU,GAAsB,CAC3B,GAAI,CACF,GAAI,CAACA,EAAM,OAEXD,EAAU,EAAI,EAEd,IAAME,EAAO,IAAI,KAAK,CAACD,CAAI,EAAG,aAAc,CAAE,KAAM,WAAY,CAAC,EAEjE,GAAIC,EAAK,KAAOjB,EAAS,CACvB,IAAMkB,EAAiB,MAAMnB,EAAiBkB,EAAM,CAClD,UAAW,CACb,CAAC,EAEDf,EAAcgB,CAAc,EAC5BT,EAAoB,EAEpB,OAGFP,EAAce,CAAI,EAClBR,EAAoB,CACtB,QAAE,CACAM,EAAU,EAAK,CACjB,CACF,EACA,YACA,CACF,CACF,EAgBE,aAxDmB,IAAM,CACrBT,IAAY,QAEhBO,EAAWP,EAAQ,iBAAiB,EAAE,UAAU,CAAC,CACnD,EAqDE,WAAAC,EACA,QAAAK,EACA,kBArDwB,IAAMC,EAAW,MAAS,EAsDlD,OAAAC,CACF,CACF,EAEOK,EAAQlB","sourcesContent":["import { useId, useState } from 'react';\nimport imageCompression from 'browser-image-compression';\nimport Cropper from 'cropperjs';\n\nimport useToggle from './useToggle';\n\ninterface Props {\n onFileCropped(file?: File): void;\n onImageUploaded(image?: string): void;\n onCancel?: VoidFunction;\n}\n\nconst FIVE_MB = 5242880;\n\nconst useUploadImage = ({\n onFileCropped,\n onImageUploaded,\n onCancel,\n}: Props) => {\n const id = useId();\n const [cropper, setCropper] = useState<Cropper>();\n const [cropModalOpen, toggleCropModalOpen, setCropModalOpen] = useToggle();\n const [preview, setPreview] = useState<string>();\n const [saving, setSaving] = useState(false);\n\n const cancelChanges = () => {\n if (onCancel) onCancel();\n setCropModalOpen(false);\n };\n\n const previewImage = () => {\n if (cropper === undefined) return;\n\n setPreview(cropper.getCroppedCanvas().toDataURL());\n };\n\n const closePreviewImage = () => setPreview(undefined);\n\n const saveChanges = () => {\n if (cropper === undefined) return;\n\n cropper.getCroppedCanvas().toBlob(\n async (blob: Blob | null) => {\n try {\n if (!blob) return;\n\n setSaving(true);\n\n const file = new File([blob], 'imagem.png', { type: 'image/png' });\n\n if (file.size > FIVE_MB) {\n const compressedFile = await imageCompression(file, {\n maxSizeMB: 5,\n });\n\n onFileCropped(compressedFile);\n toggleCropModalOpen();\n\n return;\n }\n\n onFileCropped(file);\n toggleCropModalOpen();\n } finally {\n setSaving(false);\n }\n },\n 'image/png',\n 1,\n );\n };\n\n const handleRemove = () => {\n onFileCropped(undefined);\n onImageUploaded(undefined);\n setCropModalOpen(false);\n };\n\n return {\n id,\n setCropModalOpen,\n handleRemove,\n toggleCropModalOpen,\n cropModalOpen,\n cancelChanges,\n saveChanges,\n previewImage,\n setCropper,\n preview,\n closePreviewImage,\n saving,\n };\n};\n\nexport default useUploadImage;\n"]}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { a as useThemeToggle } from './chunk-EDWQYAWG.js';
|
|
2
|
-
export { b as ThemeProvider, a as createTheme } from './chunk-
|
|
2
|
+
export { b as ThemeProvider, a as createTheme } from './chunk-MZOCS5HH.js';
|
|
3
3
|
import './chunk-373WGZZL.js';
|
|
4
|
+
export { b as defaultFont, c as primaryFont, d as secondaryFont, a as shadows, e as typography } from './chunk-6W52DPH4.js';
|
|
4
5
|
import './chunk-TWSAWMZ3.js';
|
|
5
6
|
import './chunk-ROVD7OGE.js';
|
|
7
|
+
export { l as action, k as background, m as basePalette, p as colorSchemes, i as common, a as components, q as createShadowColor, r as customShadows, o as darkPalette, h as error, b as grey, e as info, n as lightPalette, c as primary, d as secondary, f as success, j as text, g as warning } from './chunk-EQYL7U3J.js';
|
|
6
8
|
import './chunk-WUFEPE2G.js';
|
|
7
9
|
export { c as SettingsProvider, b as useSettingsContext } from './chunk-BX2DSNRV.js';
|
|
8
|
-
export { b as defaultFont, c as primaryFont, d as secondaryFont, a as shadows, e as typography } from './chunk-6W52DPH4.js';
|
|
9
|
-
export { l as action, k as background, m as basePalette, p as colorSchemes, i as common, a as components, q as createShadowColor, r as customShadows, o as darkPalette, h as error, b as grey, e as info, n as lightPalette, c as primary, d as secondary, f as success, j as text, g as warning } from './chunk-EQYL7U3J.js';
|
|
10
10
|
export { a as THEME_CONFIG, q as bgBlur, p as bgGradient, o as borderGradient, j as createPaletteChannel, h as hexToRgbChannel, i as hexToRgbaChannel, l as hideScrollX, m as hideScrollY, r as maxLine, c as mediaQueries, t as menuItem, s as paper, f as pxToRem, e as remToPx, g as responsiveFontSizes, d as setFont, b as stylesMode, n as textGradient, k as varAlpha } from './chunk-GLRLKFPS.js';
|
|
11
11
|
//# sourceMappingURL=out.js.map
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { b as default } from '../chunk-
|
|
1
|
+
export { b as default } from '../chunk-MZOCS5HH.js';
|
|
2
2
|
import '../chunk-373WGZZL.js';
|
|
3
|
+
import '../chunk-6W52DPH4.js';
|
|
3
4
|
import '../chunk-TWSAWMZ3.js';
|
|
4
5
|
import '../chunk-ROVD7OGE.js';
|
|
6
|
+
import '../chunk-EQYL7U3J.js';
|
|
5
7
|
import '../chunk-WUFEPE2G.js';
|
|
6
8
|
export { b as useSettingsContext } from '../chunk-BX2DSNRV.js';
|
|
7
|
-
import '../chunk-6W52DPH4.js';
|
|
8
|
-
import '../chunk-EQYL7U3J.js';
|
|
9
9
|
export { a as THEME_CONFIG } from '../chunk-GLRLKFPS.js';
|
|
10
10
|
//# sourceMappingURL=out.js.map
|
|
11
11
|
//# sourceMappingURL=theme-provider.js.map
|
|
@@ -5,7 +5,7 @@ import 'react';
|
|
|
5
5
|
import '@mui/material/Autocomplete';
|
|
6
6
|
import './icon.js';
|
|
7
7
|
|
|
8
|
-
type AutocompleteProps = BaseAutoComplete & {
|
|
8
|
+
type AutocompleteProps = Omit<BaseAutoComplete, 'onChange'> & {
|
|
9
9
|
name: string;
|
|
10
10
|
label?: string;
|
|
11
11
|
onChange(value: NonNullable<string | Option> | (string | Option)[] | null | undefined): void;
|
|
@@ -1,6 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
declare enum AccessType {
|
|
2
|
+
READ_AND_WRITE = "READ_AND_WRITE",
|
|
3
|
+
READ_ONLY = "READ_ONLY",
|
|
4
|
+
WRITE_ONLY = "WRITE_ONLY"
|
|
5
|
+
}
|
|
6
|
+
declare enum DataType {
|
|
7
|
+
TEXT = "TEXT",
|
|
8
|
+
BOOLEAN = "BOOLEAN",
|
|
9
|
+
DECIMAL = "DECIMAL",
|
|
10
|
+
INTEGER = "INTEGER",
|
|
11
|
+
DATE = "DATE",
|
|
12
|
+
DATETIME = "DATETIME",
|
|
13
|
+
FILE = "FILE",
|
|
14
|
+
ENTITY = "ENTITY",
|
|
15
|
+
LIST = "LIST"
|
|
16
|
+
}
|
|
17
|
+
declare enum Condition {
|
|
18
|
+
EQUALS = "EQUALS",
|
|
19
|
+
NOT_EQUALS = "NOT_EQUALS",
|
|
20
|
+
LIKE = "LIKE",
|
|
21
|
+
NOT_LIKE = "NOT_LIKE",
|
|
22
|
+
IN = "IN",
|
|
23
|
+
NOT_IN = "NOT_IN",
|
|
24
|
+
GREATER_THAN = "GREATER_THAN",
|
|
25
|
+
GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL",
|
|
26
|
+
LESS_THAN = "LESS_THAN",
|
|
27
|
+
LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL",
|
|
28
|
+
IS_NULL = "IS_NULL",
|
|
29
|
+
IS_NOT_NULL = "IS_NOT_NULL"
|
|
30
|
+
}
|
|
4
31
|
interface EntityMetadata {
|
|
5
32
|
name: string;
|
|
6
33
|
id_field_name: string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Condition } from './entityMetadata.js';
|
|
2
|
+
import { FilterOperator, SortType } from './filter.js';
|
|
3
|
+
|
|
4
|
+
interface ExportFilterConditional {
|
|
5
|
+
fieldName: string;
|
|
6
|
+
conditional: Condition;
|
|
7
|
+
value: string[];
|
|
8
|
+
}
|
|
9
|
+
interface ExportFilterGroup {
|
|
10
|
+
operator: FilterOperator;
|
|
11
|
+
conditionals: ExportFilterConditional[];
|
|
12
|
+
}
|
|
13
|
+
interface ExportFilter {
|
|
14
|
+
operator: FilterOperator;
|
|
15
|
+
groups: ExportFilterGroup[];
|
|
16
|
+
}
|
|
17
|
+
interface ExportSort {
|
|
18
|
+
fieldName: string;
|
|
19
|
+
sortType: SortType;
|
|
20
|
+
}
|
|
21
|
+
declare enum ExportEntityOrigin {
|
|
22
|
+
DATABASE = "DATABASE",
|
|
23
|
+
SALES = "SALES",
|
|
24
|
+
PORTAL = "PORTAL"
|
|
25
|
+
}
|
|
26
|
+
declare enum ExportType {
|
|
27
|
+
SPREADSHEET = "SPREADSHEET"
|
|
28
|
+
}
|
|
29
|
+
interface ExportPayload {
|
|
30
|
+
entity_origin: ExportEntityOrigin;
|
|
31
|
+
entity_name: string;
|
|
32
|
+
export_type: ExportType;
|
|
33
|
+
criteria?: string[];
|
|
34
|
+
filter?: ExportFilter;
|
|
35
|
+
sort?: ExportSort;
|
|
36
|
+
}
|
|
37
|
+
interface ExportResponse {
|
|
38
|
+
id: string;
|
|
39
|
+
status: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { ExportEntityOrigin, ExportFilter, ExportFilterConditional, ExportFilterGroup, ExportPayload, ExportResponse, ExportSort, ExportType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/model/export.ts"],"names":["ExportEntityOrigin","ExportType"],"mappings":"AAwBO,IAAKA,OACVA,EAAA,SAAW,WACXA,EAAA,MAAQ,QACRA,EAAA,OAAS,SAHCA,OAAA,IAMAC,OACVA,EAAA,YAAc,cADJA,OAAA","sourcesContent":["import { Condition } from './entity-metadata';\nimport { FilterOperator, SortType } from './filter';\n\nexport interface ExportFilterConditional {\n fieldName: string;\n conditional: Condition;\n value: string[];\n}\n\nexport interface ExportFilterGroup {\n operator: FilterOperator;\n conditionals: ExportFilterConditional[];\n}\n\nexport interface ExportFilter {\n operator: FilterOperator;\n groups: ExportFilterGroup[];\n}\n\nexport interface ExportSort {\n fieldName: string;\n sortType: SortType;\n}\n\nexport enum ExportEntityOrigin {\n DATABASE = 'DATABASE',\n SALES = 'SALES',\n PORTAL = 'PORTAL',\n}\n\nexport enum ExportType {\n SPREADSHEET = 'SPREADSHEET',\n}\n\nexport interface ExportPayload {\n entity_origin: ExportEntityOrigin;\n entity_name: string;\n export_type: ExportType;\n criteria?: string[];\n filter?: ExportFilter;\n sort?: ExportSort;\n}\n\nexport interface ExportResponse {\n id: string;\n status: string;\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Condition } from './entityMetadata.js';
|
|
2
|
+
|
|
3
|
+
declare enum FilterOperator {
|
|
4
|
+
AND = "AND",
|
|
5
|
+
OR = "OR"
|
|
6
|
+
}
|
|
7
|
+
interface FilterValue {
|
|
8
|
+
fieldName: string;
|
|
9
|
+
conditional: Condition;
|
|
10
|
+
value: string[];
|
|
11
|
+
}
|
|
12
|
+
interface FilterState {
|
|
13
|
+
[fieldName: string]: FilterValue;
|
|
14
|
+
}
|
|
15
|
+
interface FilterConditional {
|
|
16
|
+
fieldName: string;
|
|
17
|
+
conditional: Condition;
|
|
18
|
+
value: string[];
|
|
19
|
+
}
|
|
20
|
+
interface FilterGroup {
|
|
21
|
+
operator: FilterOperator;
|
|
22
|
+
conditionals: FilterConditional[];
|
|
23
|
+
}
|
|
24
|
+
interface Filter {
|
|
25
|
+
operator: FilterOperator;
|
|
26
|
+
groups: FilterGroup[];
|
|
27
|
+
}
|
|
28
|
+
interface FilterCondition {
|
|
29
|
+
id: string;
|
|
30
|
+
operator: FilterOperator;
|
|
31
|
+
fieldName: string;
|
|
32
|
+
conditional: Condition;
|
|
33
|
+
value: string[];
|
|
34
|
+
}
|
|
35
|
+
declare enum SortType {
|
|
36
|
+
ASC = "ASC",
|
|
37
|
+
DESC = "DESC"
|
|
38
|
+
}
|
|
39
|
+
interface Sort {
|
|
40
|
+
fieldName: string;
|
|
41
|
+
sortType: SortType;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { Filter, FilterCondition, FilterConditional, FilterGroup, FilterOperator, FilterState, FilterValue, Sort, SortType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EntityMetadataResponse, Field } from '../types/entityMetadata.js';
|
|
2
|
+
import { ExportPayload, ExportFilter, ExportSort } from '../types/export.js';
|
|
3
|
+
import '../types/filter.js';
|
|
4
|
+
|
|
5
|
+
interface BuildExportPayloadParams {
|
|
6
|
+
metadata?: EntityMetadataResponse;
|
|
7
|
+
visibleFieldNames?: string[];
|
|
8
|
+
search?: string;
|
|
9
|
+
sort?: string;
|
|
10
|
+
dir?: 'asc' | 'desc';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare const getFieldByName: (metadata: EntityMetadataResponse | undefined, fieldName?: string) => Field | undefined;
|
|
14
|
+
declare const mapToFilterFieldName: (metadata: EntityMetadataResponse | undefined, fieldName?: string) => string | undefined;
|
|
15
|
+
declare const buildCriteria: (metadata: EntityMetadataResponse | undefined, visibleFieldNames?: string[]) => ExportPayload['criteria'];
|
|
16
|
+
declare const buildFilter: (metadata: EntityMetadataResponse | undefined, search?: string) => ExportFilter | undefined;
|
|
17
|
+
declare const buildSort: (metadata: EntityMetadataResponse | undefined, sort?: string, dir?: 'asc' | 'desc') => ExportSort | undefined;
|
|
18
|
+
declare const buildExportPayload: ({ metadata, visibleFieldNames, search, sort, dir, }: BuildExportPayloadParams) => Pick<ExportPayload, 'criteria' | 'filter' | 'sort'>;
|
|
19
|
+
|
|
20
|
+
export { BuildExportPayloadParams, buildCriteria, buildFilter, buildSort, buildExportPayload as default, getFieldByName, mapToFilterFieldName };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import '../chunk-4P2L7UJA.js';
|
|
2
|
+
import '../chunk-HNEGKBXI.js';
|
|
3
|
+
|
|
4
|
+
var u=(t,e)=>{if(!(!t?.fields||!e))return t.fields.find(r=>r.name===e||r.filter_field_name===e)},i=(t,e)=>{if(!e)return;let r=u(t,e);return t?.fields?r?.filter_field_name||r?.name:e},f=(t,e)=>{if(!(!t?.fields||!e||e.length===0))return e.filter(r=>r!=="ACTIONS")},l=(t,e)=>{let r=e?.trim();if(!r)return;let n=i(t,t?.description_field_name)||i(t,"name");if(n)return {operator:"AND",groups:[{operator:"AND",conditionals:[{fieldName:n,conditional:"LIKE",value:[r]}]}]}},p=(t,e,r)=>{if(!e||!r)return;let n=i(t,e);if(n)return {fieldName:n,sortType:r==="desc"?"DESC":"ASC"}},c=({metadata:t,visibleFieldNames:e,search:r,sort:n,dir:s})=>{let o=f(t,e),d=l(t,r),a=p(t,n,s);return {...o&&{criteria:o},...d&&{filter:d},...a&&{sort:a}}},y=c;
|
|
5
|
+
|
|
6
|
+
export { f as buildCriteria, l as buildFilter, p as buildSort, y as default, u as getFieldByName, i as mapToFilterFieldName };
|
|
7
|
+
//# sourceMappingURL=out.js.map
|
|
8
|
+
//# sourceMappingURL=buildExportPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/buildExportPayload.ts"],"names":["getFieldByName","metadata","fieldName","field","mapToFilterFieldName","buildCriteria","visibleFieldNames","buildFilter","search","value","searchFieldName","buildSort","sort","dir","buildExportPayload","criteria","filter","sortPayload","buildExportPayload_default"],"mappings":"0DAWA,IAAMA,EAAiB,CACrBC,EACAC,IACsB,CACtB,GAAI,GAACD,GAAU,QAAU,CAACC,GAC1B,OAAOD,EAAS,OAAO,KACrBE,GAASA,EAAM,OAASD,GAAaC,EAAM,oBAAsBD,CACnE,CACF,EAEME,EAAuB,CAC3BH,EACAC,IACuB,CACvB,GAAI,CAACA,EAAW,OAChB,IAAMC,EAAQH,EAAeC,EAAUC,CAAS,EAChD,OAAID,GAAU,OACLE,GAAO,mBAAqBA,GAAO,KAErCD,CACT,EAEMG,EAAgB,CACpBJ,EACAK,IAC8B,CAC9B,GACE,GAACL,GAAU,QACX,CAACK,GACDA,EAAkB,SAAW,GAI/B,OAAOA,EAAkB,OAAOJ,GAAaA,IAAc,SAAS,CACtE,EAEMK,EAAc,CAClBN,EACAO,IAC6B,CAC7B,IAAMC,EAAQD,GAAQ,KAAK,EAC3B,GAAI,CAACC,EAAO,OACZ,IAAMC,EACJN,EAAqBH,EAAUA,GAAU,sBAAsB,GAC/DG,EAAqBH,EAAU,MAAM,EACvC,GAAKS,EACL,MAAO,CACL,eACA,OAAQ,CACN,CACE,eACA,aAAc,CACZ,CACE,UAAWA,EACX,mBACA,MAAO,CAACD,CAAK,CACf,CACF,CACF,CACF,CACF,CACF,EAEME,EAAY,CAChBV,EACAW,EACAC,IAC2B,CAC3B,GAAI,CAACD,GAAQ,CAACC,EAAK,OACnB,IAAMX,EAAYE,EAAqBH,EAAUW,CAAI,EACrD,GAAKV,EACL,MAAO,CACL,UAAAA,EACA,SAAUW,IAAQ,mBACpB,CACF,EAEMC,EAAqB,CAAC,CAC1B,SAAAb,EACA,kBAAAK,EACA,OAAAE,EACA,KAAAI,EACA,IAAAC,CACF,IAGK,CACH,IAAME,EAAWV,EAAcJ,EAAUK,CAAiB,EACpDU,EAAST,EAAYN,EAAUO,CAAM,EACrCS,EAAcN,EAAUV,EAAUW,EAAMC,CAAG,EACjD,MAAO,CACL,GAAIE,GAAY,CAAE,SAAAA,CAAS,EAC3B,GAAIC,GAAU,CAAE,OAAAA,CAAO,EACvB,GAAIC,GAAe,CAAE,KAAMA,CAAY,CACzC,CACF,EAEOC,EAAQJ","sourcesContent":["import type { BuildExportPayloadParams } from 'model/build-export-payload';\nimport {\n Condition,\n EntityMetadataResponse,\n Field,\n} from 'model/entity-metadata';\nimport { ExportFilter, ExportPayload, ExportSort } from 'model/export';\nimport { FilterOperator, SortType } from 'model/filter';\n\nexport type { BuildExportPayloadParams };\n\nconst getFieldByName = (\n metadata: EntityMetadataResponse | undefined,\n fieldName?: string,\n): Field | undefined => {\n if (!metadata?.fields || !fieldName) return undefined;\n return metadata.fields.find(\n field => field.name === fieldName || field.filter_field_name === fieldName,\n );\n};\n\nconst mapToFilterFieldName = (\n metadata: EntityMetadataResponse | undefined,\n fieldName?: string,\n): string | undefined => {\n if (!fieldName) return undefined;\n const field = getFieldByName(metadata, fieldName);\n if (metadata?.fields) {\n return field?.filter_field_name || field?.name;\n }\n return fieldName;\n};\n\nconst buildCriteria = (\n metadata: EntityMetadataResponse | undefined,\n visibleFieldNames?: string[],\n): ExportPayload['criteria'] => {\n if (\n !metadata?.fields ||\n !visibleFieldNames ||\n visibleFieldNames.length === 0\n ) {\n return undefined;\n }\n return visibleFieldNames.filter(fieldName => fieldName !== 'ACTIONS');\n};\n\nconst buildFilter = (\n metadata: EntityMetadataResponse | undefined,\n search?: string,\n): ExportFilter | undefined => {\n const value = search?.trim();\n if (!value) return undefined;\n const searchFieldName =\n mapToFilterFieldName(metadata, metadata?.description_field_name) ||\n mapToFilterFieldName(metadata, 'name');\n if (!searchFieldName) return undefined;\n return {\n operator: FilterOperator.AND,\n groups: [\n {\n operator: FilterOperator.AND,\n conditionals: [\n {\n fieldName: searchFieldName,\n conditional: Condition.LIKE,\n value: [value],\n },\n ],\n },\n ],\n };\n};\n\nconst buildSort = (\n metadata: EntityMetadataResponse | undefined,\n sort?: string,\n dir?: 'asc' | 'desc',\n): ExportSort | undefined => {\n if (!sort || !dir) return undefined;\n const fieldName = mapToFilterFieldName(metadata, sort);\n if (!fieldName) return undefined;\n return {\n fieldName,\n sortType: dir === 'desc' ? SortType.DESC : SortType.ASC,\n };\n};\n\nconst buildExportPayload = ({\n metadata,\n visibleFieldNames,\n search,\n sort,\n dir,\n}: BuildExportPayloadParams): Pick<\n ExportPayload,\n 'criteria' | 'filter' | 'sort'\n> => {\n const criteria = buildCriteria(metadata, visibleFieldNames);\n const filter = buildFilter(metadata, search);\n const sortPayload = buildSort(metadata, sort, dir);\n return {\n ...(criteria && { criteria }),\n ...(filter && { filter }),\n ...(sortPayload && { sort: sortPayload }),\n };\n};\n\nexport default buildExportPayload;\nexport {\n buildCriteria,\n buildFilter,\n buildSort,\n getFieldByName,\n mapToFilterFieldName,\n};\n"]}
|
package/package.json
CHANGED
package/dist/chunk-4HWP7ZLZ.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
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$2, c, d, f, e, g, h } from './chunk-TB4Y7LXN.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 as b$1 } 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 zo from '@mui/material/CircularProgress';
|
|
16
|
-
import _o from '@mui/material/Divider';
|
|
17
|
-
import po from '@mui/material/Stack';
|
|
18
|
-
import eo 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 b="datagrid-actions";var Ao=({rowCount:t,page:e,rowsPerPage:r,onPaginationChange:i$1})=>jsxs(i,{children:[jsxs(po,{direction:"row",alignItems:"center",gap:.5,children:[jsx(eo,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(eo,{variant:"body2",children:t})]}),jsx(j,{count:t,page:e,rowsPerPage:r,onPageChange:n=>i$1(n,r),onRowsPerPageChange:n=>i$1(e,n)})]}),ao=memo(Ao);var io=(t,e)=>Children.map(t,r=>{if(!isValidElement(r))return r;let i=r.props.onClick,n={};n.onClick=(...m)=>{e(),i&&i(...m);};let P=r.props;return P?.children&&(n.children=io(P.children,e)),cloneElement(r,n)}),Ro=({children:t,onClose:e})=>t?io(t,e):null,so=memo(Ro);var Bo=forwardRef(({children:t,...e},r)=>jsx(E,{...e,ref:r,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:t??"Colunas"}));Bo.displayName="ColumnsButton";var Oo=({setFilterButtonEl:t})=>{let e=useCallback(r=>{t(r);},[t]);return jsx(a$9,{container:b,children:jsx(GridToolbarColumnsButton,{ref:e,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},co=Oo;var Vo=({title:t,headerContent:e$1,breakpoint:r="md",columns:i,rows:n=[],mobileRender:P,rowCount:m=0,paginationModel:s={page:0,pageSize:25},onPaginationChange:C,actions:I,moreActions:M,onAdd:x,onSearch:B,searchValue:mo,onSearchChange:fo,slots:f$1,slotProps:uo,loading:u,fetching:O,containerProps:ho={height:562,maxHeight:562},hideFooter:G,hideHeader:N=!1,showColumnButton:D=!1,...go})=>{let l=a$1(),d$1=b$1("down",r),[Po,Co]=useState(null),H=!!B,A=!!x,k=!!I,T=!!M,v=d$1&&T,w=!d$1&&T,ko=k||A||v,L=w||H||D||!d$1,F=useCallback(()=>jsx(ao,{rowCount:m,page:s.page,rowsPerPage:s.pageSize,onPaginationChange:C}),[m,s,C]),So=useMemo(()=>({...f$1,footer:F,...D&&!f$1?.toolbar&&{toolbar:co}}),[f$1,F,D]);return jsxs(a$2,{breakpoint:r,...ho,flex:u?1:void 0,minHeight:!u&&n.length===0?562:void 0,children:[!N&&jsxs(Fragment,{children:[jsxs(b$2,{breakpoint:r,children:[jsx(eo,{variant:"overline",color:"text.secondary",noWrap:!0,children:t}),ko&&jsxs(c,{breakpoint:r,children:[k&&I,A&&jsxs(Fragment,{children:[k&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(E,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:x,children:"Adicionar"})]}),v&&jsxs(Fragment,{children:[(k||A)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(E,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:l.onOpen,children:"Mais"})]})]})]}),L&&jsxs(f,{breakpoint:r,children:[jsx(po,{flex:1,direction:"row",alignItems:"center",id:b,gap:.5,children:T&&jsxs(Fragment,{children:[w&&jsxs(Fragment,{children:[jsx(E,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:l.onOpen,children:"Mais"}),!d$1&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(w||v)&&jsx(a$3,{open:l.open,anchorEl:l.open,onClose:l.onClose,sx:{minWidth:160},disabledArrow:!0,children:jsx(so,{onClose:l.onClose,children:M})})]})}),H&&jsx(g,{breakpoint:r,children:jsx(a$4,{value:mo,placeholder:"Buscar",onSearch:B,onChange:c=>fo?.(c.target.value),size:"small",fullWidth:!0,iconPosition:"start"})})]})]}),!L&&!N&&jsx(_o,{sx:{mt:2}}),e$1&&e$1,d$1?jsxs(a$5,{isFetching:O,fetching:jsx(a$6,{}),isLoading:u,loading:jsx(zo,{sx:{m:"160px auto"}}),isEmpty:n.length===0,empty:jsx(po,{flex:1,alignItems:"center",justifyContent:"center",children:f$1?.noRowsOverlay?jsx(f$1.noRowsOverlay,{}):jsx(eo,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})}),children:[jsx(a$7,{fillContent:!0,children:n.map(c=>P(c))}),!G&&jsx(h,{children:jsx(j,{count:m,page:s.page,rowsPerPage:s.pageSize,onPageChange:c=>C(c,s.pageSize),onRowsPerPageChange:c=>C(s.page,c)})})]}):jsx(a$8,{columns:i,rows:n,slots:So,slotProps:{panel:{anchorEl:Po},toolbar:{setFilterButtonEl:Co,showQuickFilter:!0},...uo},columnHeaderHeight:48,getRowHeight:()=>68,loading:u,fetching:O,hideFooter:G,...go})]},u?"loading":"data")},xr=memo(Vo,Fo);
|
|
23
|
-
|
|
24
|
-
export { ao as a, so as b, co as c, xr as d };
|
|
25
|
-
//# sourceMappingURL=out.js.map
|
|
26
|
-
//# sourceMappingURL=chunk-4HWP7ZLZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DataView/index.tsx","../src/components/DataView/contants.ts","../src/components/DataView/DesktopFooter.tsx","../src/components/DataView/EnhancedMoreActions.tsx","../src/components/DataView/Toolbar.tsx"],"names":["memo","useCallback","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","DataView","title","headerContent","breakpoint","columns","rows","mobileRender","paginationModel","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","containerProps","hideFooter","hideHeader","showColumnButton","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":"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","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 { GridSlotsComponentsProps } 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 DataView = ({\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 ...others\n}: DataViewProps) => {\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 || showSearch || showColumnButton || !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 </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 </SearchContainer>\n )}\n </Topbar>\n )}\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(DataView, isEqual);\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"]}
|
package/dist/chunk-5PLCCVXS.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { a } from './chunk-CKYSHYJK.js';
|
|
2
|
-
import { useFormContext, Controller } from 'react-hook-form';
|
|
3
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
-
|
|
5
|
-
var f=({name:t,helperText:l,rules:s,onSelectOption:e,InputLabelProps:a$1,...u})=>{let{control:c}=useFormContext();return jsx(Controller,{name:t,control:c,rules:s,render:({field:o,fieldState:{error:r}})=>jsx(a,{"data-intercom-target":t,...o,...u,onChange:n=>{e&&e(n,o.value),o.onChange(n);},error:!!r,helperText:r?.message||l,InputLabelProps:a$1})})},i=f;
|
|
6
|
-
|
|
7
|
-
export { i as a };
|
|
8
|
-
//# sourceMappingURL=out.js.map
|
|
9
|
-
//# sourceMappingURL=chunk-5PLCCVXS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Autocomplete/index.tsx"],"names":["Controller","useFormContext","jsx","Autocomplete","name","helperText","rules","onSelectOption","InputLabelProps","other","control","field","error","Autocomplete_default","value"],"mappings":"wCAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAuBjC,cAAAC,MAAA,oBAjBV,IAAMC,EAAe,CAAC,CACpB,KAAAC,EACA,WAAAC,EACA,MAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,IAAyB,CACvB,GAAM,CAAE,QAAAC,CAAQ,EAAIT,EAAe,EAEnC,OACEC,EAACF,EAAA,CACC,KAAMI,EACN,QAASM,EACT,MAAOJ,EACP,OAAQ,CAAC,CAAE,MAAAK,EAAO,WAAY,CAAE,MAAAC,CAAM,CAAE,IAEpCV,EAACW,EAAA,CACC,uBAAsBT,EACrB,GAAGO,EACH,GAAGF,EACJ,SAAUK,GAAS,CACbP,GAAgBA,EAAeO,EAAiBH,EAAM,KAAK,EAC/DA,EAAM,SAASG,CAAK,CACtB,EACA,MAAO,CAAC,CAACF,EACT,WAAYA,GAAO,SAAWP,EAC9B,gBAAiBG,EACnB,EAGN,CAEJ,EAEOK,EAAQV","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport AutocompleteComponent from 'components/Autocomplete';\n\nimport { AutocompleteProps } 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 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={value => {\n if (onSelectOption) onSelectOption(value as string, field.value);\n field.onChange(value);\n }}\n error={!!error}\n helperText={error?.message || helperText}\n InputLabelProps={InputLabelProps}\n />\n );\n }}\n />\n );\n};\n\nexport default Autocomplete;\n"]}
|
package/dist/chunk-A22V4WPA.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { a } from './chunk-VR3K2Y2C.js';
|
|
2
|
-
import { b } from './chunk-RPO7AI5K.js';
|
|
3
|
-
import O, { forwardRef, useState, useMemo, useEffect } from 'react';
|
|
4
|
-
import be, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
5
|
-
import ge from '@mui/material/CircularProgress';
|
|
6
|
-
import he from '@mui/material/TextField';
|
|
7
|
-
import { VariableSizeList } from 'react-window';
|
|
8
|
-
import W from '@mui/material/Typography';
|
|
9
|
-
import oe from '@mui/material/Divider';
|
|
10
|
-
import L from '@mui/material/Stack';
|
|
11
|
-
import re 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(re)({[`& .${autocompleteClasses.listbox}`]:{boxSizing:"border-box","& ul":{padding:0,margin:0}}}),D=styled(L)(({theme:e})=>({flex:1,width:"100%",gap:6,[e.breakpoints.down("md")]:{flexDirection:"column"},[e.breakpoints.up("md")]:{flexDirection:"row"}})),T=styled(L)(({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)"}})),R=styled(L)(({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"}}));var ne=({option:e})=>{let t=Object.keys(e).filter(i=>i.startsWith("field")).map((i,s)=>{let a=e[i];if(a&&typeof a=="object"){let m="label"in a?a.label:null,u="value"in a?a.value:null;return jsxs(W,{component:"span",variant:"body2",color:"textPrimary",noWrap:!0,children:[m,": ",u]},`${i}:${s}`)}}),l=e.image?jsx("img",{alt:"Imagem",src:e.image}):jsx(a,{alt:e.label||e.value.toString(),name:e.label||e.value.toString(),sx:{width:68,height:68,borderRadius:1}});return jsxs(Fragment,{children:[jsxs(L,{direction:"row",gap:2,margin:2,children:[jsx(R,{children:l}),jsxs(L,{flex:1,overflow:"hidden",children:[jsxs(W,{variant:"subtitle2",color:"textPrimary",noWrap:!0,flex:1,children:[e.value," - ",e.label]}),t.length>0&&jsxs(D,{width:1,children:[jsxs(T,{children:[t[0]?t[0]:void 0,t[1]?t[1]:void 0]}),(t[2]||t[3])&&jsxs(T,{children:[t[2]?t[2]:void 0,t[3]?t[3]:void 0]})]})]})]}),jsx(oe,{className:"border",sx:{borderStyle:"dashed",position:"absolute",bottom:0,width:1}})]})},S=ne;var N=8,me=e=>{let{data:t,index:l,style:i}=e,s=t[l],a={...i,top:i.top+N,paddingTop:8,display:"block"};return jsx(W,{component:"li",...s.props,noWrap:!0,style:a,children:jsx(S,{...s?.props?.children?.props})})},X=O.createContext({}),B=forwardRef((e,t)=>{let l=O.useContext(X);return jsx("div",{ref:t,...e,...l})});B.displayName="OuterElementType";var pe=e=>{let t=O.useRef(null);return useEffect(()=>{t.current!=null&&t.current.resetAfterIndex(0,!0);},[e]),t},de=forwardRef(function(t,l){let{children:i,"data-item-height":s,...a}=t,m=[];i.forEach(p=>{m.push(p),m.push(...p.children||[]);});let u=m.length,h=s>112?s:112,y=p=>Object.prototype.hasOwnProperty.call(p,"group")?48:h,b=()=>u>8?8*h:m.map(y).reduce((p,c)=>p+c,0),C=pe(u);return jsx("div",{ref:l,children:jsx(X.Provider,{value:a,children:jsx(VariableSizeList,{itemData:m,height:b()+2*N,width:"100%",ref:C,outerElementType:B,innerElementType:"ul",itemSize:p=>y(m[p]),overscanCount:5,itemCount:u,children:me})})})}),J=de;var j=forwardRef(({name:e,label:t,value:l,options:i=[],loading:s,noOptionsText:a="Nenhum resultado encontrado.",loadingText:m="Carregando op\xE7\xF5es...",error:u,helperText:h,placeholder:y,onChange:b$1,groupBy:C,disabled:p,multiple:c,required:G,renderOption:U,tabIndex:V,onSearch:P,onInputChange:w,..._},F)=>{let[q,I]=useState(),K=b("down","md"),Q=o=>o&&typeof o=="object"?o.value.toString():o.toString(),Y=useMemo(()=>c?(Array.isArray(l)?l:[]).reduce((r,A)=>{let E=i.find(ee=>ee.value.toString()===A.toString());return E?[...r,E]:[...r]},[]):i.find(n=>n.value.toString()===l?.toString())||null,[i,l,c]),Z=K&&i[0]?Object.keys(i[0]).length*24:void 0;return jsx(be,{ref:F,value:q||Y,onInputChange:(o,n,r)=>{if(w&&w(o,n,r),r==="input"){P&&P(n),I(n);return}I(void 0);},options:i,loading:s,noOptionsText:a,loadingText:m,disabled:s||p,disableListWrap:!0,PopperComponent:H,ListboxProps:{"data-item-height":Z},ListboxComponent:U?void 0:J,filterOptions:(o,n)=>o.filter(r=>`${r.field1?.value} ${r.field1?.label} ${r.field2?.label} ${r.field2?.value} ${r.field3?.label} ${r.field3?.value} ${r.field4?.label} ${r.field4?.value} ${r.field5?.label} ${r.field5?.value} ${r.label}${r.value}`.toLocaleUpperCase().includes(n.inputValue.toLocaleUpperCase())),onChange:(o,n)=>{if(!n){b$1(c?[]:null);return}if(Array.isArray(n)){b$1(n.map(Q));return}b$1(typeof n=="string"?n.toString():n.value.toString());},renderOption:({key:o,...n},r)=>jsx("li",{...n,style:{display:"block"},children:jsx(S,{option:r})},o),renderGroup:o=>o,groupBy:C,multiple:c,renderInput:o=>jsx(he,{...o,name:e,placeholder:y,fullWidth:!0,error:!!u,helperText:h,label:t,required:G,InputProps:{...o.InputProps,endAdornment:jsxs(Fragment,{children:[s?jsx(ge,{color:"primary",size:20}):null,o.InputProps.endAdornment]})},inputProps:{...o.inputProps,name:e,tabIndex:V}}),..._})});j.displayName="Autocomplete";var Ke=j;
|
|
16
|
-
|
|
17
|
-
export { Ke as a };
|
|
18
|
-
//# sourceMappingURL=out.js.map
|
|
19
|
-
//# sourceMappingURL=chunk-A22V4WPA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","formattedValue","acc","curr","opt","OPTION_HEIGHT","event","eventValue","reason","opts","state","_","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 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 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={options}\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: Option[], state) => {\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\n .toLocaleUpperCase()\n .includes(state.inputValue.toLocaleUpperCase());\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, 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"]}
|
package/dist/chunk-CKYSHYJK.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { a } from './chunk-VPG46WNM.js';
|
|
2
|
-
import { createContext, forwardRef, useContext, useState, useMemo, useRef, useEffect } from 'react';
|
|
3
|
-
import le, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
4
|
-
import ae from '@mui/material/CircularProgress';
|
|
5
|
-
import ce from '@mui/material/TextField';
|
|
6
|
-
import { VariableSizeList } from 'react-window';
|
|
7
|
-
import K from '@mui/material/ListSubheader';
|
|
8
|
-
import Y from '@mui/material/Stack';
|
|
9
|
-
import { useTheme, styled } from '@mui/material/styles';
|
|
10
|
-
import I from '@mui/material/Typography';
|
|
11
|
-
import ee from '@mui/material/useMediaQuery';
|
|
12
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
13
|
-
import ie from '@mui/material/Popper';
|
|
14
|
-
|
|
15
|
-
var k=8,te=u=>{let{data:o,index:n,style:m}=u,r=o[n],{showValueInLabel:i,key:d,...y}=r[0],l={...m,top:m.top+k,paddingTop:8};return Object.prototype.hasOwnProperty.call(r,"group")?jsx(K,{component:"div",style:l,children:r.group},`list-box-item-group-${d}`):jsx(I,{component:"li",...y,noWrap:!0,style:l,children:jsxs(Y,{component:"div",direction:"row",flex:1,gap:1,justifyContent:"start",children:[r[1].icon&&jsx(a,{icon:r[1].icon}),r[1].label,i&&jsxs(I,{variant:"inherit",color:"grey.400",children:["(",r[1].value,")"]})]})},`list-box-item-${d}`)},z=createContext({}),M=forwardRef((u,o)=>{let n=useContext(z);return jsx("div",{ref:o,...u,...n})});M.displayName="OuterElementType";var re=u=>{let o=useRef(null);return useEffect(()=>{o.current!=null&&o.current.resetAfterIndex(0,!0);},[u]),o},oe=forwardRef(function(o,n){let{children:m,...r}=o,i=[];m.forEach(s=>{i.push(s),i.push(...s.children||[]);});let d=useTheme(),y=ee(d.breakpoints.up("sm")),l=i.length,b=y?36:48,f=s=>Object.prototype.hasOwnProperty.call(s,"group")?48:b,L=()=>l>8?8*b:i.map(f).reduce((s,a)=>s+a,0),P=re(l);return jsx("div",{ref:n,children:jsx(z.Provider,{value:r,children:jsx(VariableSizeList,{itemData:i,height:L()+2*k,width:"100%",ref:P,outerElementType:M,innerElementType:"ul",itemSize:s=>f(i[s]),overscanCount:5,itemCount:l,children:te})})})}),N=oe;var D=styled(ie)({[`& .${autocompleteClasses.listbox}`]:{boxSizing:"border-box","& ul":{padding:0,margin:0}}});var H=forwardRef(({name:u,label:o,value:n,options:m=[],loading:r,noOptionsText:i="Nenhum resultado encontrado.",loadingText:d="Carregando op\xE7\xF5es...",error:y,helperText:l,placeholder:b,onChange:f,groupBy:L,showValueInLabel:P,disabled:s,multiple:a$1,required:X,renderOption:x,tabIndex:J,onInputChange:A,onSearch:v,onBlur:E,InputLabelProps:$,...V},U)=>{let[W,T]=useState(),j=e=>e&&typeof e=="object"?e.value.toString():e.toString(),g=useMemo(()=>a$1?(Array.isArray(n)?n:[]).reduce((p,h)=>{let O=m.find(B=>B.value.toString()===h.toString());return O?[...p,O]:[...p]},[]):m.find(t=>t.value.toString()===n?.toString())||null,[m,n,a$1]);return jsx(le,{ref:U,value:W||g,onInputChange:(e,t,p)=>{if(A&&A(e,t,p),p==="input"){v&&(v(t),T(t));return}T(void 0);},options:m,loading:r,noOptionsText:i,loadingText:d,disabled:r||s,disableListWrap:!0,PopperComponent:D,ListboxComponent:x?void 0:N,filterOptions:(e,t)=>e.filter(p=>`${p.value} ${p.label}`.toLocaleUpperCase().includes(t.inputValue.toLocaleUpperCase())),onChange:(e,t)=>{if(!t){f(a$1?[]:null);return}if(Array.isArray(t)){f(t.map(j));return}f(typeof t=="string"?t.toString():t.value.toString());},onBlur:e=>{E&&E(e),T(void 0);},renderOption:(e,t,p,h)=>x?x(e,t,p,h):[{...e,showValueInLabel:P},t],renderGroup:e=>e,groupBy:L,multiple:a$1,renderInput:e=>jsx(ce,{...e,name:u,placeholder:b,fullWidth:!0,error:!!y,helperText:l,label:o,required:X,InputProps:{...e.InputProps,...!a$1&&{startAdornment:g&&!Array.isArray(g)&&g.icon?jsx(a,{icon:g.icon}):void 0},endAdornment:jsxs(Fragment,{children:[r?jsx(ae,{color:"primary",size:20}):null,e.InputProps.endAdornment]})},inputProps:{...e.inputProps,name:u,tabIndex:J},InputLabelProps:$}),...V})});H.displayName="Autocomplete";var Je=H;
|
|
16
|
-
|
|
17
|
-
export { Je as a };
|
|
18
|
-
//# sourceMappingURL=out.js.map
|
|
19
|
-
//# sourceMappingURL=chunk-CKYSHYJK.js.map
|