@zydon/common 2.8.68 → 2.8.69
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-CYWFK4OE.js → chunk-2HAPOY5M.js} +2 -2
- package/dist/chunk-2ZJUGM2S.js +7 -0
- package/dist/chunk-2ZJUGM2S.js.map +1 -0
- package/dist/{chunk-5PUQMKA5.js → chunk-3BQAO7XM.js} +5 -5
- package/dist/chunk-3BQAO7XM.js.map +1 -0
- package/dist/{chunk-JSL5OEWZ.js → chunk-5J35UAV6.js} +1 -1
- package/dist/chunk-5J35UAV6.js.map +1 -0
- package/dist/{chunk-GODJQLB7.js → chunk-5VTCWA4D.js} +2 -2
- package/dist/chunk-65DNEETS.js +34 -0
- package/dist/chunk-65DNEETS.js.map +1 -0
- package/dist/{chunk-PWR4GBUH.js → chunk-73KFQXIW.js} +2 -2
- package/dist/{chunk-6JTWZZRD.js → chunk-7GF4KRVL.js} +2 -2
- package/dist/{chunk-D7UUJ7FJ.js → chunk-BVPBGV4Y.js} +2 -2
- package/dist/{chunk-CWRUW77O.js → chunk-C2G7TCA7.js} +2 -2
- package/dist/chunk-FJBC6QA5.js +7 -0
- package/dist/chunk-FJBC6QA5.js.map +1 -0
- package/dist/{chunk-2A4XOLBZ.js → chunk-I3B772WD.js} +2 -2
- package/dist/chunk-JINCDD7Q.js +6 -0
- package/dist/chunk-JINCDD7Q.js.map +1 -0
- package/dist/chunk-L7AW7XP5.js +12 -0
- package/dist/chunk-L7AW7XP5.js.map +1 -0
- package/dist/chunk-Q3OO4DAC.js +16 -0
- package/dist/chunk-Q3OO4DAC.js.map +1 -0
- package/dist/{chunk-QMFFV7WM.js → chunk-TY7VOTWV.js} +2 -2
- package/dist/{chunk-LG2B5RFV.js → chunk-WLRSUL67.js} +2 -2
- package/dist/{chunk-O7SN6FIA.js → chunk-ZTTBPQJZ.js} +2 -2
- package/dist/components/AutocompleteDetailed/index.js +2 -2
- package/dist/components/CopyButton/index.js +2 -2
- package/dist/components/DataView/index.js +3 -3
- package/dist/components/DynamicDataView/index.js +18 -18
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/components/EasyCropModal/index.js +2 -2
- package/dist/components/FileUpload/index.js +5 -5
- package/dist/components/FrameSkeleton/index.js +3 -3
- package/dist/components/Incrementer/index.js +1 -1
- package/dist/components/InfoCircle/index.js +1 -1
- package/dist/components/ListBundles/index.js +2 -2
- package/dist/components/ResponsivePopover/index.js +2 -2
- package/dist/components/Result/index.d.ts +1 -2
- package/dist/components/Result/index.js +1 -1
- package/dist/components/SelectList/index.js +2 -2
- package/dist/components/SelectableCards/index.js +2 -2
- package/dist/components/SeoPreview/index.js +2 -2
- package/dist/components/SmartText/index.js +2 -2
- package/dist/components/SmartText/index.js.map +1 -1
- package/dist/components/SwapList/index.js +1 -1
- package/dist/components/TextMaxLine/index.js +2 -2
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/animate/index.js +2 -2
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/form/AutocompleteDetailed/index.js +2 -2
- package/dist/components/form/Codes/index.js +1 -1
- package/dist/components/form/FileUpload/index.js +5 -5
- package/dist/components/form/Incrementer/index.js +1 -1
- package/dist/components/form/SelectList/index.js +2 -2
- package/dist/components/form/SelectableCards/index.js +2 -2
- package/dist/components/form/Webhook/index.js +11 -10
- package/dist/components/form/Webhook/index.js.map +1 -1
- package/dist/hooks/useActiveElement.js +1 -1
- package/dist/hooks/useActiveElement.js.map +1 -1
- package/dist/hooks/useCollapseSidebarOnMount.js +3 -3
- package/dist/hooks/useEventListener.js +1 -1
- package/dist/hooks/useLocalStorage.js +2 -2
- package/dist/hooks/useOnClickOutside.js +1 -1
- package/dist/hooks/useResponsive.d.ts +1 -1
- package/dist/hooks/useResponsive.js +1 -1
- package/dist/hooks/useUpload.js +3 -3
- package/dist/hooks/useUpload.js.map +1 -1
- package/dist/utils/sanitize-html.d.ts +3 -0
- package/dist/utils/sanitize-html.js +6 -0
- package/dist/utils/sanitize-html.js.map +1 -0
- package/package.json +2 -1
- package/dist/chunk-2MCLMTFV.js +0 -16
- package/dist/chunk-2MCLMTFV.js.map +0 -1
- package/dist/chunk-5PUQMKA5.js.map +0 -1
- package/dist/chunk-FQOV5EGQ.js +0 -12
- package/dist/chunk-FQOV5EGQ.js.map +0 -1
- package/dist/chunk-IJZCVZ32.js +0 -6
- package/dist/chunk-IJZCVZ32.js.map +0 -1
- package/dist/chunk-JSL5OEWZ.js.map +0 -1
- package/dist/chunk-KKVRDMSE.js +0 -7
- package/dist/chunk-KKVRDMSE.js.map +0 -1
- package/dist/chunk-RPO7AI5K.js +0 -7
- package/dist/chunk-RPO7AI5K.js.map +0 -1
- package/dist/chunk-TBFQ5PEL.js +0 -34
- package/dist/chunk-TBFQ5PEL.js.map +0 -1
- /package/dist/{chunk-CYWFK4OE.js.map → chunk-2HAPOY5M.js.map} +0 -0
- /package/dist/{chunk-GODJQLB7.js.map → chunk-5VTCWA4D.js.map} +0 -0
- /package/dist/{chunk-PWR4GBUH.js.map → chunk-73KFQXIW.js.map} +0 -0
- /package/dist/{chunk-6JTWZZRD.js.map → chunk-7GF4KRVL.js.map} +0 -0
- /package/dist/{chunk-D7UUJ7FJ.js.map → chunk-BVPBGV4Y.js.map} +0 -0
- /package/dist/{chunk-CWRUW77O.js.map → chunk-C2G7TCA7.js.map} +0 -0
- /package/dist/{chunk-2A4XOLBZ.js.map → chunk-I3B772WD.js.map} +0 -0
- /package/dist/{chunk-QMFFV7WM.js.map → chunk-TY7VOTWV.js.map} +0 -0
- /package/dist/{chunk-LG2B5RFV.js.map → chunk-WLRSUL67.js.map} +0 -0
- /package/dist/{chunk-O7SN6FIA.js.map → chunk-ZTTBPQJZ.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Result/index.tsx"],"names":["Fragment","jsx","jsxs","wrapperStyle","Result","isFetching","fetching","isLoading","loading","anError","error","isEmpty","empty","data","children","content","Result_default"],"mappings":"AAkBM,OAuCF,YAAAA,EAvCE,OAAAC,EAuCF,QAAAC,MAvCE,oBAhBN,IAAMC,EAAe,CAAE,QAAS,UAAW,EAErCC,EAAS,CAAS,CACtB,WAAAC,EACA,SAAAC,EACA,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,MAAAC,EACA,QAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,CACF,IAA0B,CACxB,GAAIP,EACF,OACEN,EAAC,OACC,cAAY,iBACZ,KAAK,SACL,YAAU,OACV,MAAOE,EAEN,SAAAK,GAAW,gBACd,EAGJ,GAAIC,EACF,OACER,EAAC,OACC,cAAY,eACZ,KAAK,QACL,MAAOE,EAEN,SAAAO,GAAS,QACZ,EAGJ,GAAIC,EACF,OACEV,EAAC,OACC,cAAY,eACZ,KAAK,SACL,YAAU,SACV,MAAOE,EAEN,SAAAS,GAAS,mBACZ,EAGJ,IAAIG,EACJ,OAAIF,IAAS,QAAa,OAAOC,GAAa,WAC5CC,EAAUD,EAASD,CAAI,EACpBE,EAAUD,EAGbZ,EAAAF,EAAA,CACG,UAAAK,GACCJ,EAAC,OACC,cAAY,kBACZ,KAAK,SACL,YAAU,OACV,MAAOE,EAEN,SAAAG,GAAY,gBACf,EAEDS,GACH,CAEJ,EAEOC,EAAQZ","sourcesContent":["import { ResultProps } from './props';\n\nconst wrapperStyle = { display: 'contents' } as const;\n\nconst Result = <TData,>({\n isFetching,\n fetching,\n isLoading,\n loading,\n anError,\n error,\n isEmpty,\n empty,\n data,\n children,\n}: ResultProps<TData>) => {\n if (isLoading)\n return (\n <div\n data-testid=\"result-loading\"\n role=\"status\"\n aria-busy=\"true\"\n style={wrapperStyle}\n >\n {loading || 'Carregando...'}\n </div>\n );\n\n if (anError)\n return (\n <div\n data-testid=\"result-error\"\n role=\"alert\"\n style={wrapperStyle}\n >\n {error || 'Error'}\n </div>\n );\n\n if (isEmpty)\n return (\n <div\n data-testid=\"result-empty\"\n role=\"status\"\n aria-live=\"polite\"\n style={wrapperStyle}\n >\n {empty || 'Nenhum resultado'}\n </div>\n );\n\n let content;\n if (data !== undefined && typeof children === 'function')\n content = children(data);\n else content = children;\n\n return (\n <>\n {isFetching && (\n <div\n data-testid=\"result-fetching\"\n role=\"status\"\n aria-busy=\"true\"\n style={wrapperStyle}\n >\n {fetching || 'Carregando...'}\n </div>\n )}\n {content}\n </>\n );\n};\n\nexport default Result;\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { a } from './chunk-W3CK33IH.js';
|
|
2
|
+
import { f } from './chunk-OF6623HG.js';
|
|
3
|
+
import { a as a$1 } from './chunk-FBVAHVU3.js';
|
|
4
|
+
import { forwardRef, useState, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
5
|
+
import T from '@mui/material/IconButton';
|
|
6
|
+
import R from '@mui/material/InputAdornment';
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var C=forwardRef(({name:M,increment:e=1,updadteForMultiple:P,allowNegative:u=!1,value:m,onChange:c,minValue:r,maxValue:o,decimalScale:p,disabled:i,tabIndex:w,labelIncrementer:B,labelDecrementer:E,placeholder:O,InputProps:b,...z},L)=>{let[N,_]=useState(`incrementer-input-${Date.now()}`),I=useRef(null),s=Number(m||0),d=()=>{I.current&&(clearTimeout(I.current),I.current=null);};useEffect(()=>()=>d(),[]);let $=useMemo(()=>{let n=s-e;return typeof r=="number"&&n<r?!0:i||!u&&n<0},[i,s,e,r,u]),G=useMemo(()=>{let n=s+e;return typeof o=="number"&&n>o?!0:i},[i,s,e,o]),H=useCallback(()=>{if(d(),!u&&s-e<0)return;let n=s-e,t=r!==void 0&&n<r?r:f(n,p);c(t);},[s,e,r,p,c,u]),K=n=>r!==void 0&&n<r?r:o!==void 0&&n>o?o:f(n,p),U=useCallback(()=>{d();let n=s+e,t=K(n);c(t);},[s,e,o,r,p,c]),W=useCallback(n=>{d();let t=Number(n.target.value||0);(e!==1||P)&&(t=t+e/2,t-=t%e),!u&&t<0&&(t=0),typeof r=="number"&&t<r&&(t=r),typeof o=="number"&&t>o&&(t=o),t=f(t,p),(!t||t===m)&&(I.current=setTimeout(()=>{_(`incrementer-input-${Date.now()}`);},600)),c(t);},[m,e,r,o,p,c,P,u]);return jsx(a,{ref:L,name:M,value:m,minValue:r,maxValue:o,allowNegative:u,decimalScale:p,InputProps:{...b,startAdornment:jsx(R,{position:"start",sx:{ml:-1},children:jsx(T,{onClick:H,disabled:$,size:"small","aria-label":E||"Decrementa",sx:{p:.5},children:jsx(a$1,{icon:"MINUS_SIGN",width:14,height:14,color:"primary.main"})})}),endAdornment:jsx(R,{position:"end",sx:{mr:-1},children:jsx(T,{onClick:U,disabled:G,size:"small","aria-label":B||"Incrementa",sx:{p:.5},children:jsx(a$1,{icon:"SIMPLE_ADD",width:14,height:14,color:"primary.main"})})}),inputProps:{...b?.inputProps,style:{...b?.inputProps?.style,textAlign:"center"},sx:{mx:-2.5}}},inputProps:{tabIndex:w},onChange:W,disabled:i,placeholder:O,...z},N)});C.displayName="Incrementer";var F=C;
|
|
10
|
+
|
|
11
|
+
export { F as a };
|
|
12
|
+
//# sourceMappingURL=chunk-L7AW7XP5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Incrementer/index.tsx"],"names":["forwardRef","useCallback","useEffect","useMemo","useRef","useState","IconButton","InputAdornment","jsx","Incrementer","name","increment","updadteForMultiple","allowNegative","originalValue","onChange","minValue","maxValue","decimalScale","disabled","tabIndex","labelIncrementer","labelDecrementer","placeholder","InputProps","other","ref","inputkey","setInputKey","timer","value","clearTimer","disableDecrement","nextValue","disableIncrement","handleClickDecrement","valueMinusIncrement","newValue","fWithDecimalPlacesOrNot","getIncrementValue","handleClickIncrement","valuePlusIncrement","handleChange","e","NumberInput_default","Icon_default","Incrementer_default"],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport { OnChangeReturn } from 'types/numberInputProps';\nimport { fWithDecimalPlacesOrNot } from 'utils/formatNumber';\n\nimport Icon from '../Icon';\nimport NumberInput from '../NumberInput';\n\nimport { IncrementerProps } from './props';\n\nconst Incrementer = forwardRef<HTMLDivElement, IncrementerProps>(\n (\n {\n name,\n increment = 1,\n updadteForMultiple,\n allowNegative = false,\n value: originalValue,\n onChange,\n minValue,\n maxValue,\n decimalScale,\n disabled,\n tabIndex,\n labelIncrementer,\n labelDecrementer,\n placeholder,\n InputProps,\n ...other\n },\n ref,\n ) => {\n const [inputkey, setInputKey] = useState(`incrementer-input-${Date.now()}`);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const value = Number(originalValue || 0);\n\n const clearTimer = () => {\n if (!timer.current) return;\n clearTimeout(timer.current);\n timer.current = null;\n };\n\n useEffect(() => {\n return () => clearTimer();\n }, []);\n\n const disableDecrement = useMemo(() => {\n const nextValue = value - increment;\n if (typeof minValue === 'number' && nextValue < minValue) return true;\n return disabled || (!allowNegative && nextValue < 0);\n }, [disabled, value, increment, minValue, allowNegative]);\n\n const disableIncrement = useMemo(() => {\n const nextValue = value + increment;\n if (typeof maxValue === 'number' && nextValue > maxValue) return true;\n\n return disabled;\n }, [disabled, value, increment, maxValue]);\n\n const handleClickDecrement = useCallback(() => {\n clearTimer();\n if (!allowNegative && value - increment < 0) return;\n\n const valueMinusIncrement = value - increment;\n const newValue =\n minValue !== undefined && valueMinusIncrement < minValue\n ? minValue\n : fWithDecimalPlacesOrNot(valueMinusIncrement, decimalScale);\n\n onChange(newValue);\n }, [value, increment, minValue, decimalScale, onChange, allowNegative]);\n\n const getIncrementValue = (value: number) => {\n if (minValue !== undefined && value < minValue) {\n return minValue;\n }\n if (maxValue !== undefined && value > maxValue) {\n return maxValue;\n }\n return fWithDecimalPlacesOrNot(value, decimalScale);\n };\n\n const handleClickIncrement = useCallback(() => {\n clearTimer();\n const valuePlusIncrement = value + increment;\n const newValue = getIncrementValue(valuePlusIncrement);\n onChange(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, increment, maxValue, minValue, decimalScale, onChange]);\n\n const handleChange = useCallback(\n (e: OnChangeReturn) => {\n clearTimer();\n let newValue = Number(e.target.value || 0);\n\n if (increment !== 1 || updadteForMultiple) {\n newValue = newValue + increment / 2;\n newValue -= newValue % increment;\n }\n\n if (!allowNegative && newValue < 0) {\n newValue = 0;\n }\n\n if (typeof minValue === 'number' && newValue < minValue) {\n newValue = minValue;\n }\n\n if (typeof maxValue === 'number' && newValue > maxValue) {\n newValue = maxValue;\n }\n\n newValue = fWithDecimalPlacesOrNot(newValue, decimalScale);\n if (!newValue || newValue === originalValue) {\n timer.current = setTimeout(() => {\n //force clean when new value is the same as original value\n setInputKey(`incrementer-input-${Date.now()}`);\n }, 600);\n }\n\n onChange(newValue);\n return;\n },\n [\n originalValue,\n increment,\n minValue,\n maxValue,\n decimalScale,\n onChange,\n updadteForMultiple,\n allowNegative,\n ],\n );\n\n return (\n <NumberInput\n key={inputkey}\n ref={ref}\n name={name}\n value={originalValue}\n minValue={minValue}\n maxValue={maxValue}\n allowNegative={allowNegative}\n decimalScale={decimalScale}\n InputProps={{\n ...InputProps,\n startAdornment: (\n <InputAdornment position=\"start\" sx={{ ml: -1 }}>\n <IconButton\n onClick={handleClickDecrement}\n disabled={disableDecrement}\n size=\"small\"\n aria-label={labelDecrementer || 'Decrementa'}\n sx={{ p: 0.5 }}\n >\n <Icon\n icon=\"MINUS_SIGN\"\n width={14}\n height={14}\n color=\"primary.main\"\n />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\" sx={{ mr: -1 }}>\n <IconButton\n onClick={handleClickIncrement}\n disabled={disableIncrement}\n size=\"small\"\n aria-label={labelIncrementer || 'Incrementa'}\n sx={{ p: 0.5 }}\n >\n <Icon\n icon=\"SIMPLE_ADD\"\n width={14}\n height={14}\n color=\"primary.main\"\n />\n </IconButton>\n </InputAdornment>\n ),\n inputProps: {\n ...InputProps?.inputProps,\n style: {\n ...InputProps?.inputProps?.style,\n textAlign: 'center',\n },\n sx: {\n mx: -2.5,\n },\n },\n }}\n inputProps={{ tabIndex }}\n onChange={handleChange}\n disabled={disabled}\n placeholder={placeholder}\n {...other}\n />\n );\n },\n);\n\nIncrementer.displayName = 'Incrementer';\n\nexport default Incrementer;\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { a } from './chunk-FBVAHVU3.js';
|
|
2
|
+
import { k, b } from './chunk-GLRLKFPS.js';
|
|
3
|
+
import { forwardRef, Children, isValidElement, useMemo, useState, useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import N from '@mui/material/Box';
|
|
5
|
+
import { styled, useTheme } from '@mui/material/styles';
|
|
6
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
import J, { buttonBaseClasses } from '@mui/material/ButtonBase';
|
|
8
|
+
import Y from '@mui/material/Stack';
|
|
9
|
+
import he from '@mui/material/SvgIcon';
|
|
10
|
+
import _e from '@mui/material/NoSsr';
|
|
11
|
+
import Xe from 'embla-carousel-react';
|
|
12
|
+
|
|
13
|
+
var Ge={xs:"(min-width: 0px)",sm:"(min-width: 600px)",md:"(min-width: 900px)",lg:"(min-width: 1200px)",xl:"(min-width: 1536px)"};var p={root:"mnl__carousel__root",container:"mnl__carousel__container",dots:"mnl__carousel__dots",dot:"mnl__carousel__dot",arrows:"mnl__carousel__arrows",arrowsLabel:"mnl__carousel__arrows_label",arrowPrev:"mnl__carousel__btn--prev",arrowNext:"mnl__carousel__btn--next",arrowSvg:"mnl__carousel__btn__svg",slide:"mnl__carousel__slide",slideContent:"mnl__carousel__slide__content",thumbs:"mnl__carousel__thumbs",thumb:"mnl__carousel__thumb",thumbContainer:"mnl__carousel__thumbs__container",thumbImage:"mnl__carousel__thumb__image",progress:"mnl__carousel__progress",progressBar:"mnl__carousel__progress__bar",state:{selected:"state--selected",disabled:"state--disabled"}};var pe=styled(N,{shouldForwardProp:e=>e!=="axis"&&e!=="slideSpacing"})(({axis:e,slideSpacing:o})=>({display:"block",position:"relative",...e==="x"&&{minWidth:0,paddingLeft:o},...e==="y"&&{minHeight:0,paddingTop:o}})),me=styled(N)(()=>({overflow:"hidden",position:"relative",borderRadius:"inherit"}));function w({sx:e,options:o,children:a,...t}){let i=de(o?.slidesToShow);return jsx(pe,{component:"li",axis:o?.axis??"x",slideSpacing:o?.slideSpacing,className:p.slide,sx:{flex:i,...e},...t,children:o?.parallax?jsx(me,{className:p.slideContent,children:jsx("div",{className:"slide__parallax__layer",children:a})}):a})}function de(e){return e&&typeof e=="object"?Object.keys(e).reduce((o,a)=>{let t=e[a];return o[a]=W(t),o},{}):W(e)}function W(e=1){if(typeof e=="string"){if(!(e==="auto"||e.endsWith("%")||e.endsWith("px")))throw new Error("Only accepts values: auto, px, %, or number.");return `0 0 ${e}`}if(typeof e=="number")return `0 0 ${100/e}%`;throw new Error("Invalid value type. Only accepts values: auto, px, %, or number.")}var E=styled(N,{shouldForwardProp:e=>e!=="axis"})(({axis:e})=>({margin:"auto",width:"100%",maxWidth:"100%",overflow:"hidden",position:"relative",...e==="y"&&{height:"100%"}})),T=styled(N,{shouldForwardProp:e=>e!=="axis"&&e!=="slideSpacing"})(({axis:e,slideSpacing:o})=>({display:"flex",backfaceVisibility:"hidden",...e==="x"&&{touchAction:"pan-y pinch-zoom",marginLeft:`calc(${o} * -1)`},...e==="y"&&{height:"100%",flexDirection:"column",touchAction:"pan-x pinch-zoom",marginTop:`calc(${o} * -1)`}}));function io({carousel:e,children:o,sx:a,slotProps:t,...i}){let{mainRef:l,options:r}=e,s=r?.axis??"x",n=r?.slideSpacing??"0px",c=r?.direction??"ltr",u=Children.map(o,m=>{if(isValidElement(m)){let d=m;return jsx(w,{options:e.options,sx:t?.slide,...i,children:m},d.key)}return null});return jsx(E,{sx:a,axis:s,ref:l,dir:c,className:p.root,children:jsx(T,{component:"ul",axis:s,slideSpacing:n,className:p.container,sx:{...e.pluginNames?.includes("autoHeight")&&{alignItems:"flex-start",transition:m=>m.transitions.create(["height"],{easing:m.transitions.easing.easeInOut,duration:m.transitions.duration.shorter})},...t?.container},children:u})})}function Co({options:e,slotProps:o,totalSlides:a,selectedIndex:t,onClickPrev:i,onClickNext:l,disablePrev:r,disableNext:s,sx:n,...c}){return jsxs(Y,{direction:"row",alignItems:"center",display:"inline-flex",className:p.arrows,sx:{gap:.5,zIndex:9,color:"action.active",...n},...c,children:[jsx(h,{variant:"prev",options:e,disabled:r,onClick:i,svgIcon:o?.prevBtn?.svgIcon,svgSize:o?.prevBtn?.svgSize,sx:o?.prevBtn?.sx}),jsx(h,{variant:"next",options:e,disabled:s,onClick:l,svgIcon:o?.nextBtn?.svgIcon,svgSize:o?.prevBtn?.svgSize,sx:o?.prevBtn?.sx})]})}function ho({options:e,slotProps:o,totalSlides:a,selectedIndex:t,onClickPrev:i,onClickNext:l,disablePrev:r,disableNext:s,sx:n,...c}){let u=useTheme();return jsxs(Y,{direction:"row",alignItems:"center",display:"inline-flex",className:p.arrows,sx:{p:.5,gap:.25,zIndex:9,borderRadius:1.25,color:"common.white",bgcolor:k(u.vars.palette.grey["900Channel"],.48),...n},...c,children:[jsx(h,{variant:"prev",options:e,disabled:r,onClick:i,sx:{p:.75,borderRadius:"inherit",...o?.prevBtn?.sx},svgIcon:o?.prevBtn?.svgIcon,svgSize:o?.prevBtn?.svgSize??16}),jsxs(N,{component:"span",className:p.arrowsLabel,sx:{mx:.5,typography:"subtitle2"},"data-testid":"carousel-number-display",children:[t,"/",a]}),jsx(h,{variant:"next",options:e,disabled:s,onClick:l,sx:{p:.75,borderRadius:"inherit",...o?.nextBtn?.sx},svgIcon:o?.nextBtn?.svgIcon,svgSize:o?.prevBtn?.svgSize??16})]})}function So({options:e,slotProps:o,onClickPrev:a,onClickNext:t,disablePrev:i,disableNext:l}){let r={zIndex:9,top:"50%",borderRadius:1.5,position:"absolute",color:"common.white",bgcolor:"text.primary",transform:"translateY(-50%)","&:hover":{opacity:.8},[b.dark]:{color:"grey.800"}};return jsxs(Fragment,{children:[jsx(h,{variant:"prev",options:e,disabled:i,onClick:a,svgIcon:o?.prevBtn?.svgIcon,svgSize:o?.prevBtn?.svgSize,sx:{left:-16,...r,...o?.prevBtn?.sx}}),jsx(h,{variant:"next",options:e,disabled:l,onClick:t,svgIcon:o?.nextBtn?.svgIcon,svgSize:o?.nextBtn?.svgSize,sx:{right:-16,...r,...o?.nextBtn?.sx}})]})}function h({sx:e,svgIcon:o,svgSize:a,options:t,variant:i,...l}){let r=i==="prev",s=i==="next",n=o||jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M15.488 4.43a.75.75 0 0 1 .081 1.058L9.988 12l5.581 6.512a.75.75 0 1 1-1.138.976l-6-7a.75.75 0 0 1 0-.976l6-7a.75.75 0 0 1 1.057-.081",clipRule:"evenodd"}),c=o||jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M8.512 4.43a.75.75 0 0 1 1.057.082l6 7a.75.75 0 0 1 0 .976l-6 7a.75.75 0 0 1-1.138-.976L14.012 12L8.431 5.488a.75.75 0 0 1 .08-1.057",clipRule:"evenodd"});return jsx(J,{className:r?p.arrowPrev:p.arrowPrev,"aria-label":r?"Prev button":"Next button",sx:{p:1,borderRadius:"50%",boxSizing:"content-box",transition:u=>u.transitions.create(["all"],{easing:u.transitions.easing.sharp,duration:u.transitions.duration.short}),[`&.${buttonBaseClasses.disabled}`]:{opacity:.4},...e,...t?.direction==="rtl"&&{...r&&{right:-16,left:"auto"},...s&&{left:-16,right:"auto"}}},...l,children:jsx(he,{className:p.arrowSvg,sx:{width:a??20,height:a??20,...t?.axis==="y"&&{transform:" rotate(90deg)"},...t?.direction==="rtl"&&{transform:" scaleX(-1)"}},children:r?n:c})})}function Eo({sx:e,gap:o,slotProps:a,onClickDot:t,scrollSnaps:i,selectedIndex:l,fallbackCount:r=1,variant:s="circular",fallback:n=!1,...c}){let u=useTheme(),m={number:o??6,rounded:o??2,circular:o??2},d={circular:a?.dot?.size??18,number:a?.dot?.size??28},S=jsx(N,{sx:{height:d.circular,width:`calc(${r*d.circular+m.circular*(r-1)}px )`,...s==="number"&&{height:d.number,width:`calc(${r*d.number+m.number*(r-1)}px )`}}}),f={circular:y=>({width:d.circular,height:d.circular,"&::before":{width:8,height:8,content:'""',opacity:.24,borderRadius:"50%",bgcolor:"primary.main",transition:u.transitions.create(["opacity"],{easing:u.transitions.easing.sharp,duration:u.transitions.duration.short}),...y&&{opacity:1}}}),rounded:y=>({width:d.circular,height:d.circular,"&::before":{width:8,height:8,content:'""',opacity:.24,borderRadius:"50%",bgcolor:"primary.main",transition:u.transitions.create(["width","opacity"],{easing:u.transitions.easing.sharp,duration:u.transitions.duration.short}),...y&&{width:"calc(100% - 4px)",opacity:1,borderRadius:1}}}),number:y=>({width:d.number,height:d.number,borderRadius:"50%",typography:"caption",color:"text.disabled",border:`solid 1px ${k(u.vars.palette.grey["500Channel"],.16)}`,...y&&{color:"common.white",bgcolor:"text.primary",fontWeight:"fontWeightSemiBold",[b.dark]:{color:"grey.800"}}})};return jsx(_e,{fallback:n?S:null,children:jsx(N,{"data-testid":"carousel-dots",component:"ul",className:p.dots,sx:{zIndex:9,display:"inline-flex",...s==="circular"&&{gap:`${m.circular}px`},...s==="rounded"&&{gap:`${m.rounded}px`},...s==="number"&&{gap:`${m.number}px`},...e},...c,children:i.map((y,x)=>{let v=x===l;return jsx(N,{component:"li",sx:{display:"inline-flex"},children:jsx(J,{disableRipple:!0,"aria-label":`dot-${x}`,className:p.dot.concat(v?` ${p.state.selected}`:""),onClick:()=>t(x),sx:{...s==="circular"&&f.circular(v),...s==="rounded"&&f.rounded(v),...s==="number"&&f.number(v),[`&.${p.state.selected}`]:{...a?.dot?.selected},...a?.dot?.sx},children:s==="number"&&x+1})},x)})})})}var we=styled(N)(({theme:e})=>({height:6,maxWidth:120,width:"100%",borderRadius:6,overflow:"hidden",position:"relative",color:e.palette.text.primary,backgroundColor:e.palette.divider})),Pe=styled(N)(()=>({top:0,bottom:0,width:"100%",left:"-100%",position:"absolute",backgroundColor:"currentColor"}));function Lo({value:e,sx:o,...a}){return jsx(we,{"data-testid":"carousel-progress",sx:o,className:p.progress,...a,children:jsx(Pe,{"data-testid":"carousel-progress-bar",className:p.progressBar,sx:{transform:`translate3d(${e}%, 0px, 0px)`}})})}var Ne=forwardRef(({children:e,slotProps:o,options:a,sx:t,...i},l)=>{let r=a?.axis??"x",s=a?.slideSpacing??"12px",n=Oe(r),c=Children.map(e,u=>{if(isValidElement(u)){let m=u;return jsx(w,{options:{...a,slideSpacing:s},sx:o?.slide,children:u},m.key)}return null});return jsx(E,{ref:l,axis:r,"data-testid":"carousel-root",className:p.thumbs,sx:{flexShrink:0,...r==="x"&&{p:.5,maxWidth:1},...r==="y"&&{p:.5,maxHeight:1},...!o?.disableMask&&n,...t},...i,children:jsx(T,{component:"ul",axis:r,"data-testid":"carousel-container",slideSpacing:s,className:p.thumbContainer,sx:{...o?.container},children:c})})});Ne.displayName="CarouselThumbs";function qo({thumbType:e="image",sx:o,src:a$1,index:t,selected:i,imageRender:l,thumbAlt:r,...s}){if(e==="image"&&(a$1||l)){let n={width:1,height:1,aspectRatio:1,objectFit:"cover",borderRadius:"inherit"};return jsx(J,{className:p.thumb,"data-testid":"carousel-thumb",sx:{width:64,height:64,opacity:.48,flexShrink:0,cursor:"pointer",borderRadius:1.25,transition:c=>c.transitions.create(["opacity","box-shadow"],{easing:c.transitions.easing.sharp,duration:c.transitions.duration.short}),...i&&{opacity:1,boxShadow:c=>`0 0 0 2px ${c.vars.palette.primary.main}`},...o},...s,children:l?.({sx:n,classes:p.thumbImage})||jsx(N,{component:"img",alt:r||`Imagem do slide ${t}`,src:a$1,"data-testid":"carousel-thumb-image",className:p.thumbImage,sx:n})})}return e==="video"?jsx(J,{className:p.thumb,"data-testid":"carousel-thumb",sx:{width:64,height:64,opacity:.48,flexShrink:0,cursor:"pointer",borderRadius:1.25,color:n=>n.vars.palette.primary.main,transition:n=>n.transitions.create(["opacity","box-shadow"],{easing:n.transitions.easing.sharp,duration:n.transitions.duration.short}),...i&&{opacity:1,boxShadow:n=>`0 0 0 2px ${n.vars.palette.primary.main}`},...o},...s,children:jsx(a,{icon:"PLAY_CIRCLE",width:32})}):null}function Oe(e){let o=useTheme(),a={zIndex:9,content:'""',position:"absolute"},t=`${o.vars.palette.background.paper} 20%, ${k(o.vars.palette.background.paperChannel,0)} 100%)`;return e==="y"?{"&::before, &::after":{...a,left:0,height:40,width:"100%"},"&::before":{top:-8,background:`linear-gradient(to bottom, ${t}`},"&::after":{bottom:-8,background:`linear-gradient(to top, ${t}`}}:{"&::before, &::after":{...a,top:0,width:40,height:"100%"},"&::before":{left:-8,background:`linear-gradient(to right, ${t}`},"&::after":{right:-8,background:`linear-gradient(to left, ${t}`}}}var A=e=>{let[o,a]=useState(!0),[t,i]=useState(!0),l=useCallback(()=>{e&&e.scrollPrev();},[e]),r=useCallback(()=>{e&&e.scrollNext();},[e]),s=useCallback(n=>{a(!n.canScrollPrev()),i(!n.canScrollNext());},[]);return useEffect(()=>{if(e)return s(e),e.on("reInit",s),e.on("select",s),()=>{e.off("reInit",s),e.off("select",s);}},[e,s]),{disablePrev:o,disableNext:t,onClickPrev:l,onClickNext:r}};function oe(e){let[o,a]=useState(!1),t=useCallback(l=>{let r=e?.plugins()?.autoplay;if(!r)return;(r.options.stopOnInteraction===!1?r.reset:r.stop)(),l();},[e]),i=useCallback(()=>{let l=e?.plugins()?.autoplay;if(!l)return;(l.isPlaying()?l.stop:l.play)();},[e]);return useEffect(()=>{let l=e?.plugins()?.autoplay;if(!l)return;let r=()=>a(!0),s=()=>a(!1),n=()=>a(!1);return a(l.isPlaying()),e.on("autoplay:play",r).on("autoplay:stop",s).on("reInit",n),()=>{e.off("autoplay:play",r).off("autoplay:stop",s).off("reInit",n);}},[e]),{isPlaying:o,onTogglePlay:i,onClickAutoplay:t}}function re(e){let[o,a]=useState(!1),t=useCallback(l=>{let r=e?.plugins()?.autoScroll;if(!r)return;(r.options.stopOnInteraction===!1?r.reset:r.stop)(),l();},[e]),i=useCallback(()=>{let l=e?.plugins()?.autoScroll;if(!l)return;(l.isPlaying()?l.stop:l.play)();},[e]);return useEffect(()=>{let l=e?.plugins()?.autoScroll;if(!l)return;let r=()=>a(!0),s=()=>a(!1),n=()=>a(!1);return a(l.isPlaying()),e.on("autoScroll:play",r).on("autoScroll:stop",s).on("reInit",n),()=>{e.off("autoScroll:play",r).off("autoScroll:stop",s).off("reInit",n);}},[e]),{isPlaying:o,onTogglePlay:i,onClickAutoplay:t}}function se(e){let[o,a]=useState(0),[t,i]=useState(0),[l,r]=useState([]),s=useCallback(u=>{e&&e.scrollTo(u);},[e]),n=useCallback(u=>{r(u.scrollSnapList());},[]),c=useCallback(u=>{i(u.selectedScrollSnap()),a(u.scrollSnapList().length);},[]);return useEffect(()=>{if(e)return n(e),c(e),e.on("reInit",n),e.on("reInit",c),e.on("select",c),()=>{e.off("reInit",n),e.off("reInit",c),e.off("select",c);}},[e,n,c]),{dotCount:o,scrollSnaps:l,selectedIndex:t,onClickDot:s}}function ne(e,o){let a=useRef(0),t=useRef([]),i=typeof o=="number"?o:.24,l=useCallback(n=>{t.current=n.slideNodes().map(c=>c.querySelector(".slide__parallax__layer"));},[]),r=useCallback(n=>{a.current=i*n.scrollSnapList().length;},[i]),s=useCallback((n,c)=>{let u=n.internalEngine(),m=n.scrollProgress(),d=n.slidesInView(),S=c==="scroll";n.scrollSnapList().forEach((f,y)=>{let x=f-m;u.slideRegistry[y].forEach(k=>{if(S&&!d.includes(k))return;u.options.loop&&u.slideLooper.loopPoints.forEach(V=>{let D=V.target();if(k===V.index&&D!==0){let M=Math.sign(D);M===-1&&(x=f-(1+m)),M===1&&(x=f+(1-m));}});let ce=x*(-1*a.current)*100,U=t.current[k];U&&(U.style.transform=`translateX(${ce}%)`);});});},[]);return useEffect(()=>{if(!(!e||!o))return l(e),r(e),s(e),e.on("reInit",l).on("reInit",r).on("reInit",s).on("scroll",s),()=>{e.off("reInit",l).off("reInit",r).off("reInit",s).off("scroll",s);}},[e,s]),null}function le(e){let[o,a]=useState(0),t=useCallback(i=>{let l=Math.max(0,Math.min(1,i.scrollProgress()));a(l*100);},[]);return useEffect(()=>{if(e)return t(e),e.on("reInit",t),e.on("scroll",t),()=>{e.off("reInit",t).off("scroll",t);}},[e,t]),{value:o}}function ue(e,o){let[a,t]=Xe({containScroll:"keepSnaps",dragFree:!0,...o}),[i,l]=useState(0),r=useCallback(n=>{!e||!t||e.scrollTo(n);},[e,t]),s=useCallback(()=>{!e||!t||(l(e.selectedScrollSnap()),t.scrollTo(e.selectedScrollSnap()));},[e,t,l]);return useEffect(()=>{if(e)return s(),e.on("select",s),e.on("reInit",s),()=>{e.off("select",s),e.off("reInit",s);}},[e,s]),{onClickThumb:r,thumbsRef:a,thumbsApi:t,selectedIndex:i}}var St=(e,o)=>{let[a,t]=Xe(e,o),{disablePrev:i,disableNext:l,onClickPrev:r,onClickNext:s}=A(t),n=o?.map(y=>y.name),c=se(t),u=oe(t),m=re(t),d=le(t),S=ue(t,e?.thumbs);ne(t,e?.parallax);let f=useMemo(()=>n?.includes("autoplay")?{onClickPrev:()=>u.onClickAutoplay(r),onClickNext:()=>u.onClickAutoplay(s)}:n?.includes("autoScroll")?{onClickPrev:()=>m.onClickAutoplay(r),onClickNext:()=>m.onClickAutoplay(s)}:{onClickPrev:r,onClickNext:s},[m,u,s,r,n]);return {options:{...e,...t?.internalEngine().options},pluginNames:n,mainRef:a,mainApi:t,arrows:{disablePrev:i,disableNext:l,onClickPrev:f.onClickPrev,onClickNext:f.onClickNext},dots:c,thumbs:S,progress:d,autoplay:u,autoScroll:m}};
|
|
14
|
+
|
|
15
|
+
export { Ge as a, p as b, w as c, E as d, T as e, io as f, Co as g, ho as h, So as i, h as j, Eo as k, Lo as l, Ne as m, qo as n, St as o };
|
|
16
|
+
//# sourceMappingURL=chunk-Q3OO4DAC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/carousel/breakpoints.ts","../src/components/carousel/carousel.tsx","../src/components/carousel/components/carousel-slide.tsx","../src/components/carousel/classes.ts","../src/components/carousel/components/carousel-arrow-buttons.tsx","../src/components/carousel/components/carousel-dot-buttons.tsx","../src/components/carousel/components/carousel-progress-bar.tsx","../src/components/carousel/components/carousel-thumbs.tsx","../src/components/carousel/hooks/use-carousel.ts","../src/components/carousel/hooks/use-carousel-arrows.ts","../src/components/carousel/hooks/use-carousel-auto-play.ts","../src/components/carousel/hooks/use-carousel-auto-scroll.ts","../src/components/carousel/hooks/use-carousel-dots.ts","../src/components/carousel/hooks/use-carousel-parallax.ts","../src/components/carousel/hooks/use-carousel-progress.ts","../src/components/carousel/hooks/use-thumbs.ts"],"names":["carouselBreakpoints","Children","isValidElement","Box","styled","carouselClasses","jsx","StyledRoot","prop","axis","slideSpacing","StyledContent","CarouselSlide","sx","options","children","other","slideSize","getSize","slidesToShow","acc","key","sizeByKey","getValue","value","StyledContainer","Carousel","carousel","slotProps","props","mainRef","direction","renderChildren","child","reactChild","theme","ButtonBase","buttonBaseClasses","Stack","useTheme","SvgIcon","Fragment","jsxs","CarouselArrowBasicButtons","totalSlides","selectedIndex","onClickPrev","onClickNext","disablePrev","disableNext","ArrowButton","CarouselArrowNumberButtons","varAlpha","CarouselArrowFloatButtons","baseStyles","stylesMode","svgIcon","svgSize","variant","arrowPrev","arrowNext","prevSvg","nextSvg","NoSsr","CarouselDotButtons","gap","onClickDot","scrollSnaps","fallbackCount","fallback","GAPS","SIZES","renderFallback","dotStyles","selected","_","index","StyledProgress","CarouselProgressBar","forwardRef","CarouselThumbs","ref","maskStyles","useMaskStyle","CarouselThumb","thumbType","src","imageRender","thumbAlt","sxThumb","Icon_default","bgcolor","useMemo","useEmblaCarousel","useCallback","useEffect","useState","useCarouselArrows","mainApi","setDisabledPrevBtn","setDisabledNextBtn","onSelect","_mainApi","useCarouselAutoPlay","isPlaying","setIsPlaying","onClickAutoplay","callback","autoplay","onTogglePlay","onPlay","onStop","onReInit","useCarouselAutoScroll","autoScroll","useCarouselDots","dotCount","setDotCount","setSelectedIndex","setScrollSnaps","onInit","useRef","useParallax","parallax","tweenFactor","tweenNodes","TWEEN_FACTOR_BASE","setTweenNodes","slideNode","setTweenFactor","tweenParallax","eventName","engine","scrollProgress","slidesInView","isScrollEvent","scrollSnap","snapIndex","diffToTarget","slideIndex","loopItem","target","sign","translateValue","tweenNode","useCarouselProgress","setScrollProgress","onScroll","progress","useThumbs","thumbsRef","thumbsApi","onClickThumb","useCarousel","plugins","pluginNames","plugin","_dots","_autoplay","_autoScroll","_progress","_thumbs","controls"],"mappings":"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","sourcesContent":["export const carouselBreakpoints = {\n xs: '(min-width: 0px)',\n sm: '(min-width: 600px)',\n md: '(min-width: 900px)',\n lg: '(min-width: 1200px)',\n xl: '(min-width: 1536px)',\n};\n","/* eslint-disable react/function-component-definition */\nimport { Children, isValidElement } from 'react';\nimport Box from '@mui/material/Box';\nimport { styled } from '@mui/material/styles';\n\nimport { CarouselSlide } from './components/carousel-slide';\nimport { carouselClasses } from './classes';\nimport type {\n CarouselProps,\n CarouselStyledProps as StyledProps,\n} from './types';\n\nexport const StyledRoot = styled(Box, {\n shouldForwardProp: prop => prop !== 'axis',\n})<StyledProps>(({ axis }) => ({\n margin: 'auto',\n width: '100%',\n maxWidth: '100%',\n overflow: 'hidden',\n position: 'relative',\n ...(axis === 'y' && {\n height: '100%',\n }),\n}));\n\nexport const StyledContainer = styled(Box, {\n shouldForwardProp: prop => prop !== 'axis' && prop !== 'slideSpacing',\n})<StyledProps>(({ axis, slideSpacing }) => ({\n display: 'flex',\n backfaceVisibility: 'hidden',\n ...(axis === 'x' && {\n touchAction: 'pan-y pinch-zoom',\n marginLeft: `calc(${slideSpacing} * -1)`,\n }),\n ...(axis === 'y' && {\n height: '100%',\n flexDirection: 'column',\n touchAction: 'pan-x pinch-zoom',\n marginTop: `calc(${slideSpacing} * -1)`,\n }),\n}));\n\n// ----------------------------------------------------------------------\n\nexport function Carousel({\n carousel,\n children,\n sx,\n slotProps,\n ...props\n}: CarouselProps) {\n const { mainRef, options } = carousel;\n\n const axis = options?.axis ?? 'x';\n\n const slideSpacing = options?.slideSpacing ?? '0px';\n\n const direction = options?.direction ?? 'ltr';\n\n const renderChildren = Children.map(children, child => {\n if (isValidElement(child)) {\n const reactChild = child as React.ReactElement<{ key?: React.Key }>;\n\n return (\n <CarouselSlide\n key={reactChild.key}\n options={carousel.options}\n sx={slotProps?.slide}\n {...props}\n >\n {child}\n </CarouselSlide>\n );\n }\n return null;\n });\n\n return (\n <StyledRoot\n sx={sx}\n axis={axis}\n ref={mainRef}\n dir={direction}\n className={carouselClasses.root}\n >\n <StyledContainer\n component=\"ul\"\n axis={axis}\n slideSpacing={slideSpacing}\n className={carouselClasses.container}\n sx={{\n ...(carousel.pluginNames?.includes('autoHeight') && {\n alignItems: 'flex-start',\n transition: theme =>\n theme.transitions.create(['height'], {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.shorter,\n }),\n }),\n ...slotProps?.container,\n }}\n >\n {renderChildren}\n </StyledContainer>\n </StyledRoot>\n );\n}\n","/* eslint-disable react/function-component-definition */\nimport type { BoxProps } from '@mui/material/Box';\nimport Box from '@mui/material/Box';\nimport { styled } from '@mui/material/styles';\n\nimport { carouselClasses } from '../classes';\nimport type {\n CarouselInputValue as InputValue,\n CarouselObjectValue as ObjectValue,\n CarouselSlideProps,\n CarouselStyledProps as StyledProps,\n} from '../types';\n\n// ----------------------------------------------------------------------\n\nconst StyledRoot = styled(Box, {\n shouldForwardProp: prop => prop !== 'axis' && prop !== 'slideSpacing',\n})<StyledProps>(({ axis, slideSpacing }) => ({\n display: 'block',\n position: 'relative',\n ...(axis === 'x' && {\n minWidth: 0,\n paddingLeft: slideSpacing,\n }),\n ...(axis === 'y' && {\n minHeight: 0,\n paddingTop: slideSpacing,\n }),\n}));\n\nconst StyledContent = styled(Box)(() => ({\n overflow: 'hidden',\n position: 'relative',\n borderRadius: 'inherit',\n}));\n\n// ----------------------------------------------------------------------\n\nexport function CarouselSlide({\n sx,\n options,\n children,\n ...other\n}: BoxProps & CarouselSlideProps) {\n const slideSize = getSize(options?.slidesToShow);\n\n return (\n <StyledRoot\n component=\"li\"\n axis={options?.axis ?? 'x'}\n slideSpacing={options?.slideSpacing}\n className={carouselClasses.slide}\n sx={{\n flex: slideSize,\n ...sx,\n }}\n {...other}\n >\n {options?.parallax ? (\n <StyledContent className={carouselClasses.slideContent}>\n <div className=\"slide__parallax__layer\">{children}</div>\n </StyledContent>\n ) : (\n children\n )}\n </StyledRoot>\n );\n}\n\n// ----------------------------------------------------------------------\n\nfunction getSize(slidesToShow: InputValue): InputValue {\n if (slidesToShow && typeof slidesToShow === 'object') {\n return Object.keys(slidesToShow).reduce<ObjectValue>((acc, key) => {\n const sizeByKey = slidesToShow[key];\n acc[key] = getValue(sizeByKey);\n return acc;\n }, {});\n }\n\n return getValue(slidesToShow);\n}\n\nfunction getValue(value: string | number = 1): string {\n if (typeof value === 'string') {\n const isSupported =\n value === 'auto' || value.endsWith('%') || value.endsWith('px');\n if (!isSupported) {\n throw new Error('Only accepts values: auto, px, %, or number.');\n }\n // value is either 'auto', ends with '%', or ends with 'px'\n return `0 0 ${value}`;\n }\n\n if (typeof value === 'number') {\n return `0 0 ${100 / value}%`;\n }\n\n // Default case should not be reached due to the type signature, but we include it for safety\n throw new Error(\n 'Invalid value type. Only accepts values: auto, px, %, or number.',\n );\n}\n","export const carouselClasses = {\n root: 'mnl__carousel__root',\n container: 'mnl__carousel__container',\n // dot\n dots: 'mnl__carousel__dots',\n dot: 'mnl__carousel__dot',\n // arrow\n arrows: 'mnl__carousel__arrows',\n arrowsLabel: 'mnl__carousel__arrows_label',\n arrowPrev: 'mnl__carousel__btn--prev',\n arrowNext: 'mnl__carousel__btn--next',\n arrowSvg: 'mnl__carousel__btn__svg',\n // slide\n slide: 'mnl__carousel__slide',\n slideContent: 'mnl__carousel__slide__content',\n // thumb\n thumbs: 'mnl__carousel__thumbs',\n thumb: 'mnl__carousel__thumb',\n thumbContainer: 'mnl__carousel__thumbs__container',\n thumbImage: 'mnl__carousel__thumb__image',\n // progress\n progress: 'mnl__carousel__progress',\n progressBar: 'mnl__carousel__progress__bar',\n state: { selected: 'state--selected', disabled: 'state--disabled' },\n};\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react/function-component-definition */\nimport Box from '@mui/material/Box';\nimport type { ButtonBaseProps } from '@mui/material/ButtonBase';\nimport ButtonBase, { buttonBaseClasses } from '@mui/material/ButtonBase';\nimport type { StackProps } from '@mui/material/Stack';\nimport Stack from '@mui/material/Stack';\nimport type { CSSObject } from '@mui/material/styles';\nimport { useTheme } from '@mui/material/styles';\nimport SvgIcon from '@mui/material/SvgIcon';\nimport { stylesMode, varAlpha } from 'theme/styles';\n\nimport { carouselClasses } from '../classes';\nimport type {\n CarouselArrowButtonProps,\n CarouselArrowButtonsProps,\n} from '../types';\n\nexport function CarouselArrowBasicButtons({\n options,\n slotProps,\n totalSlides,\n selectedIndex,\n //\n onClickPrev,\n onClickNext,\n disablePrev,\n disableNext,\n sx,\n ...other\n}: StackProps & CarouselArrowButtonsProps) {\n return (\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n display=\"inline-flex\"\n className={carouselClasses.arrows}\n sx={{\n gap: 0.5,\n zIndex: 9,\n color: 'action.active',\n ...sx,\n }}\n {...other}\n >\n <ArrowButton\n variant=\"prev\"\n options={options}\n disabled={disablePrev}\n onClick={onClickPrev}\n svgIcon={slotProps?.prevBtn?.svgIcon}\n svgSize={slotProps?.prevBtn?.svgSize}\n sx={slotProps?.prevBtn?.sx}\n />\n\n <ArrowButton\n variant=\"next\"\n options={options}\n disabled={disableNext}\n onClick={onClickNext}\n svgIcon={slotProps?.nextBtn?.svgIcon}\n svgSize={slotProps?.prevBtn?.svgSize}\n sx={slotProps?.prevBtn?.sx}\n />\n </Stack>\n );\n}\n\n// ----------------------------------------------------------------------\n\nexport function CarouselArrowNumberButtons({\n options,\n slotProps,\n totalSlides,\n selectedIndex,\n //\n onClickPrev,\n onClickNext,\n disablePrev,\n disableNext,\n sx,\n ...other\n}: StackProps & CarouselArrowButtonsProps) {\n const theme = useTheme();\n\n return (\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n display=\"inline-flex\"\n className={carouselClasses.arrows}\n sx={{\n p: 0.5,\n gap: 0.25,\n zIndex: 9,\n borderRadius: 1.25,\n color: 'common.white',\n bgcolor: varAlpha(theme.vars.palette.grey['900Channel'], 0.48),\n ...sx,\n }}\n {...other}\n >\n <ArrowButton\n variant=\"prev\"\n options={options}\n disabled={disablePrev}\n onClick={onClickPrev}\n sx={{ p: 0.75, borderRadius: 'inherit', ...slotProps?.prevBtn?.sx }}\n svgIcon={slotProps?.prevBtn?.svgIcon}\n svgSize={slotProps?.prevBtn?.svgSize ?? 16}\n />\n\n <Box\n component=\"span\"\n className={carouselClasses.arrowsLabel}\n sx={{ mx: 0.5, typography: 'subtitle2' }}\n data-testid=\"carousel-number-display\"\n >\n {selectedIndex}/{totalSlides}\n </Box>\n\n <ArrowButton\n variant=\"next\"\n options={options}\n disabled={disableNext}\n onClick={onClickNext}\n sx={{ p: 0.75, borderRadius: 'inherit', ...slotProps?.nextBtn?.sx }}\n svgIcon={slotProps?.nextBtn?.svgIcon}\n svgSize={slotProps?.prevBtn?.svgSize ?? 16}\n />\n </Stack>\n );\n}\n\n// ----------------------------------------------------------------------\n\nexport function CarouselArrowFloatButtons({\n options,\n slotProps,\n onClickPrev,\n onClickNext,\n disablePrev,\n disableNext,\n}: StackProps & CarouselArrowButtonsProps) {\n const baseStyles: CSSObject = {\n zIndex: 9,\n top: '50%',\n borderRadius: 1.5,\n position: 'absolute',\n color: 'common.white',\n bgcolor: 'text.primary',\n transform: 'translateY(-50%)',\n '&:hover': { opacity: 0.8 },\n [stylesMode.dark]: { color: 'grey.800' },\n };\n\n return (\n <>\n <ArrowButton\n variant=\"prev\"\n options={options}\n disabled={disablePrev}\n onClick={onClickPrev}\n svgIcon={slotProps?.prevBtn?.svgIcon}\n svgSize={slotProps?.prevBtn?.svgSize}\n sx={{ left: -16, ...baseStyles, ...slotProps?.prevBtn?.sx }}\n />\n\n <ArrowButton\n variant=\"next\"\n options={options}\n disabled={disableNext}\n onClick={onClickNext}\n svgIcon={slotProps?.nextBtn?.svgIcon}\n svgSize={slotProps?.nextBtn?.svgSize}\n sx={{ right: -16, ...baseStyles, ...slotProps?.nextBtn?.sx }}\n />\n </>\n );\n}\n\n// ----------------------------------------------------------------------\n\nexport function ArrowButton({\n sx,\n svgIcon,\n svgSize,\n options,\n variant,\n ...other\n}: ButtonBaseProps & CarouselArrowButtonProps) {\n const arrowPrev = variant === 'prev';\n const arrowNext = variant === 'next';\n\n const prevSvg = svgIcon || (\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M15.488 4.43a.75.75 0 0 1 .081 1.058L9.988 12l5.581 6.512a.75.75 0 1 1-1.138.976l-6-7a.75.75 0 0 1 0-.976l6-7a.75.75 0 0 1 1.057-.081\"\n clipRule=\"evenodd\"\n />\n );\n\n const nextSvg = svgIcon || (\n <path\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n d=\"M8.512 4.43a.75.75 0 0 1 1.057.082l6 7a.75.75 0 0 1 0 .976l-6 7a.75.75 0 0 1-1.138-.976L14.012 12L8.431 5.488a.75.75 0 0 1 .08-1.057\"\n clipRule=\"evenodd\"\n />\n );\n\n return (\n <ButtonBase\n className={\n arrowPrev ? carouselClasses.arrowPrev : carouselClasses.arrowPrev\n }\n aria-label={arrowPrev ? 'Prev button' : 'Next button'}\n sx={{\n p: 1,\n borderRadius: '50%',\n boxSizing: 'content-box',\n transition: theme =>\n theme.transitions.create(['all'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short,\n }),\n [`&.${buttonBaseClasses.disabled}`]: {\n opacity: 0.4,\n },\n ...sx,\n ...(options?.direction === 'rtl' && {\n ...(arrowPrev && { right: -16, left: 'auto' }),\n ...(arrowNext && { left: -16, right: 'auto' }),\n }),\n }}\n {...other}\n >\n <SvgIcon\n className={carouselClasses.arrowSvg}\n sx={{\n width: svgSize ?? 20,\n height: svgSize ?? 20,\n ...(options?.axis === 'y' && { transform: ' rotate(90deg)' }),\n ...(options?.direction === 'rtl' && { transform: ' scaleX(-1)' }),\n }}\n >\n {arrowPrev ? prevSvg : nextSvg}\n </SvgIcon>\n </ButtonBase>\n );\n}\n","/* eslint-disable react/function-component-definition */\nimport Box from '@mui/material/Box';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport NoSsr from '@mui/material/NoSsr';\nimport { useTheme } from '@mui/material/styles';\nimport { stylesMode, varAlpha } from 'theme/styles';\n\nimport { carouselClasses } from '../classes';\nimport type { CarouselDotButtonsProps } from '../types';\n\n// ----------------------------------------------------------------------\n\nexport function CarouselDotButtons({\n sx,\n gap,\n slotProps,\n onClickDot,\n scrollSnaps,\n selectedIndex,\n fallbackCount = 1,\n variant = 'circular',\n fallback = false,\n ...other\n}: CarouselDotButtonsProps) {\n const theme = useTheme();\n\n const GAPS = {\n number: gap ?? 6,\n rounded: gap ?? 2,\n circular: gap ?? 2,\n };\n\n const SIZES = {\n circular: slotProps?.dot?.size ?? 18,\n number: slotProps?.dot?.size ?? 28,\n };\n\n const renderFallback = (\n <Box\n sx={{\n height: SIZES.circular,\n width: `calc(${fallbackCount * SIZES.circular + GAPS.circular * (fallbackCount - 1)}px )`,\n ...(variant === 'number' && {\n height: SIZES.number,\n width: `calc(${fallbackCount * SIZES.number + GAPS.number * (fallbackCount - 1)}px )`,\n }),\n }}\n />\n );\n\n const dotStyles = {\n circular: (selected: boolean) => ({\n width: SIZES.circular,\n height: SIZES.circular,\n '&::before': {\n width: 8,\n height: 8,\n content: '\"\"',\n opacity: 0.24,\n borderRadius: '50%',\n bgcolor: 'primary.main',\n transition: theme.transitions.create(['opacity'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short,\n }),\n ...(selected && { opacity: 1 }),\n },\n }),\n rounded: (selected: boolean) => ({\n width: SIZES.circular,\n height: SIZES.circular,\n '&::before': {\n width: 8,\n height: 8,\n content: '\"\"',\n opacity: 0.24,\n borderRadius: '50%',\n bgcolor: 'primary.main',\n transition: theme.transitions.create(['width', 'opacity'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short,\n }),\n ...(selected && {\n width: 'calc(100% - 4px)',\n opacity: 1,\n borderRadius: 1,\n }),\n },\n }),\n number: (selected: boolean) => ({\n width: SIZES.number,\n height: SIZES.number,\n borderRadius: '50%',\n typography: 'caption',\n color: 'text.disabled',\n border: `solid 1px ${varAlpha(theme.vars.palette.grey['500Channel'], 0.16)}`,\n ...(selected && {\n color: 'common.white',\n bgcolor: 'text.primary',\n fontWeight: 'fontWeightSemiBold',\n [stylesMode.dark]: { color: 'grey.800' },\n }),\n }),\n };\n\n return (\n <NoSsr fallback={fallback ? renderFallback : null}>\n <Box\n data-testid=\"carousel-dots\"\n component=\"ul\"\n className={carouselClasses.dots}\n sx={{\n zIndex: 9,\n display: 'inline-flex',\n ...(variant === 'circular' && { gap: `${GAPS.circular}px` }),\n ...(variant === 'rounded' && { gap: `${GAPS.rounded}px` }),\n ...(variant === 'number' && { gap: `${GAPS.number}px` }),\n ...sx,\n }}\n {...other}\n >\n {scrollSnaps.map((_, index) => {\n const selected = index === selectedIndex;\n\n return (\n <Box component=\"li\" key={index} sx={{ display: 'inline-flex' }}>\n <ButtonBase\n disableRipple\n aria-label={`dot-${index}`}\n className={carouselClasses.dot.concat(\n selected ? ` ${carouselClasses.state.selected}` : '',\n )}\n onClick={() => onClickDot(index)}\n sx={{\n ...(variant === 'circular' && dotStyles.circular(selected)),\n ...(variant === 'rounded' && dotStyles.rounded(selected)),\n ...(variant === 'number' && dotStyles.number(selected)),\n [`&.${carouselClasses.state.selected}`]: {\n ...slotProps?.dot?.selected,\n },\n ...slotProps?.dot?.sx,\n }}\n >\n {variant === 'number' && index + 1}\n </ButtonBase>\n </Box>\n );\n })}\n </Box>\n </NoSsr>\n );\n}\n","/* eslint-disable react/function-component-definition */\nimport type { BoxProps } from '@mui/material/Box';\nimport Box from '@mui/material/Box';\nimport { styled } from '@mui/material/styles';\n\nimport { carouselClasses } from '../classes';\nimport type { CarouselProgressBarProps } from '../types';\n\n// ----------------------------------------------------------------------\n\nconst StyledRoot = styled(Box)(({ theme }) => ({\n height: 6,\n maxWidth: 120,\n width: '100%',\n borderRadius: 6,\n overflow: 'hidden',\n position: 'relative',\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.divider,\n}));\n\nconst StyledProgress = styled(Box)(() => ({\n top: 0,\n bottom: 0,\n width: '100%',\n left: '-100%',\n position: 'absolute',\n backgroundColor: 'currentColor',\n}));\n\n// ----------------------------------------------------------------------\n\nexport function CarouselProgressBar({\n value,\n sx,\n ...other\n}: BoxProps & CarouselProgressBarProps) {\n return (\n <StyledRoot\n data-testid=\"carousel-progress\"\n sx={sx}\n className={carouselClasses.progress}\n {...other}\n >\n <StyledProgress\n data-testid=\"carousel-progress-bar\"\n className={carouselClasses.progressBar}\n sx={{\n transform: `translate3d(${value}%, 0px, 0px)`,\n }}\n />\n </StyledRoot>\n );\n}\n","/* eslint-disable react/function-component-definition */\nimport { Children, forwardRef, isValidElement } from 'react';\nimport type { BoxProps } from '@mui/material/Box';\nimport Box from '@mui/material/Box';\nimport type { ButtonBaseProps } from '@mui/material/ButtonBase';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport type { CSSObject, SxProps, Theme } from '@mui/material/styles';\nimport { useTheme } from '@mui/material/styles';\nimport { varAlpha } from 'theme/styles';\n\nimport Icon from 'components/Icon';\n\nimport { StyledContainer, StyledRoot } from '../carousel';\nimport { carouselClasses } from '../classes';\nimport type {\n CarouselOptions,\n CarouselThumbProps,\n CarouselThumbsProps,\n} from '../types';\n\nimport { CarouselSlide } from './carousel-slide';\n\n// ----------------------------------------------------------------------\n\nexport const CarouselThumbs = forwardRef<\n HTMLDivElement,\n BoxProps & CarouselThumbsProps\n>(({ children, slotProps, options, sx, ...other }, ref) => {\n const axis = options?.axis ?? 'x';\n\n const slideSpacing = options?.slideSpacing ?? '12px';\n\n const maskStyles = useMaskStyle(axis);\n\n const renderChildren = Children.map(children, child => {\n if (isValidElement(child)) {\n const reactChild = child as React.ReactElement<{ key?: React.Key }>;\n\n return (\n <CarouselSlide\n key={reactChild.key}\n options={{ ...options, slideSpacing }}\n sx={slotProps?.slide}\n >\n {child}\n </CarouselSlide>\n );\n }\n return null;\n });\n\n return (\n <StyledRoot\n ref={ref}\n axis={axis}\n data-testid=\"carousel-root\"\n className={carouselClasses.thumbs}\n sx={{\n flexShrink: 0,\n ...(axis === 'x' && { p: 0.5, maxWidth: 1 }),\n ...(axis === 'y' && { p: 0.5, maxHeight: 1 }),\n ...(!slotProps?.disableMask && maskStyles),\n ...sx,\n }}\n {...other}\n >\n <StyledContainer\n component=\"ul\"\n axis={axis}\n data-testid=\"carousel-container\"\n slideSpacing={slideSpacing}\n className={carouselClasses.thumbContainer}\n sx={{\n ...slotProps?.container,\n }}\n >\n {renderChildren}\n </StyledContainer>\n </StyledRoot>\n );\n});\nCarouselThumbs.displayName = 'CarouselThumbs';\n\nexport function CarouselThumb({\n thumbType = 'image',\n sx,\n src,\n index,\n selected,\n imageRender,\n thumbAlt,\n ...other\n}: ButtonBaseProps & CarouselThumbProps) {\n if (thumbType === 'image' && (src || imageRender)) {\n const sxThumb: SxProps<Theme> = {\n width: 1,\n height: 1,\n aspectRatio: 1,\n objectFit: 'cover',\n borderRadius: 'inherit',\n };\n\n return (\n <ButtonBase\n className={carouselClasses.thumb}\n data-testid=\"carousel-thumb\"\n sx={{\n width: 64,\n height: 64,\n opacity: 0.48,\n flexShrink: 0,\n cursor: 'pointer',\n borderRadius: 1.25,\n transition: theme =>\n theme.transitions.create(['opacity', 'box-shadow'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short,\n }),\n ...(selected && {\n opacity: 1,\n boxShadow: theme => `0 0 0 2px ${theme.vars.palette.primary.main}`,\n }),\n ...sx,\n }}\n {...other}\n >\n {imageRender?.({\n sx: sxThumb,\n classes: carouselClasses.thumbImage,\n }) || (\n <Box\n component=\"img\"\n alt={thumbAlt || `Imagem do slide ${index}`}\n src={src}\n data-testid=\"carousel-thumb-image\"\n className={carouselClasses.thumbImage}\n sx={sxThumb}\n />\n )}\n </ButtonBase>\n );\n }\n\n if (thumbType === 'video') {\n return (\n <ButtonBase\n className={carouselClasses.thumb}\n data-testid=\"carousel-thumb\"\n sx={{\n width: 64,\n height: 64,\n opacity: 0.48,\n flexShrink: 0,\n cursor: 'pointer',\n borderRadius: 1.25,\n color: theme => theme.vars.palette.primary.main,\n transition: theme =>\n theme.transitions.create(['opacity', 'box-shadow'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.short,\n }),\n ...(selected && {\n opacity: 1,\n boxShadow: theme => `0 0 0 2px ${theme.vars.palette.primary.main}`,\n }),\n ...sx,\n }}\n {...other}\n >\n <Icon icon=\"PLAY_CIRCLE\" width={32} />\n </ButtonBase>\n );\n }\n\n return null;\n}\n\n// ----------------------------------------------------------------------\n\nfunction useMaskStyle(axis: CarouselOptions['axis']): CSSObject {\n const theme = useTheme();\n\n const baseStyles = {\n zIndex: 9,\n content: '\"\"',\n position: 'absolute',\n };\n\n const bgcolor = `${theme.vars.palette.background.paper} 20%, ${varAlpha(theme.vars.palette.background.paperChannel, 0)} 100%)`;\n\n if (axis === 'y') {\n return {\n '&::before, &::after': {\n ...baseStyles,\n left: 0,\n height: 40,\n width: '100%',\n },\n '&::before': {\n top: -8,\n background: `linear-gradient(to bottom, ${bgcolor}`,\n },\n '&::after': {\n bottom: -8,\n background: `linear-gradient(to top, ${bgcolor}`,\n },\n };\n }\n\n return {\n '&::before, &::after': {\n ...baseStyles,\n top: 0,\n width: 40,\n height: '100%',\n },\n '&::before': {\n left: -8,\n background: `linear-gradient(to right, ${bgcolor}`,\n },\n '&::after': {\n right: -8,\n background: `linear-gradient(to left, ${bgcolor}`,\n },\n };\n}\n","import { useMemo } from 'react';\nimport type { EmblaPluginType } from 'embla-carousel';\nimport useEmblaCarousel from 'embla-carousel-react';\n\nimport type { CarouselOptions, UseCarouselReturn } from '../types';\n\nimport { useCarouselArrows } from './use-carousel-arrows';\nimport { useCarouselAutoPlay } from './use-carousel-auto-play';\nimport { useCarouselAutoScroll } from './use-carousel-auto-scroll';\nimport { useCarouselDots } from './use-carousel-dots';\nimport { useParallax } from './use-carousel-parallax';\nimport { useCarouselProgress } from './use-carousel-progress';\nimport { useThumbs } from './use-thumbs';\n\n// ----------------------------------------------------------------------\n\nexport const useCarousel = (\n options?: CarouselOptions,\n plugins?: EmblaPluginType[],\n): UseCarouselReturn => {\n const [mainRef, mainApi] = useEmblaCarousel(options, plugins);\n\n const { disablePrev, disableNext, onClickPrev, onClickNext } =\n useCarouselArrows(mainApi);\n\n const pluginNames = plugins?.map(plugin => plugin.name);\n\n const _dots = useCarouselDots(mainApi);\n\n const _autoplay = useCarouselAutoPlay(mainApi);\n\n const _autoScroll = useCarouselAutoScroll(mainApi);\n\n const _progress = useCarouselProgress(mainApi);\n\n const _thumbs = useThumbs(mainApi, options?.thumbs);\n\n useParallax(mainApi, options?.parallax);\n\n const controls = useMemo(() => {\n if (pluginNames?.includes('autoplay')) {\n return {\n onClickPrev: () => _autoplay.onClickAutoplay(onClickPrev),\n onClickNext: () => _autoplay.onClickAutoplay(onClickNext),\n };\n }\n if (pluginNames?.includes('autoScroll')) {\n return {\n onClickPrev: () => _autoScroll.onClickAutoplay(onClickPrev),\n onClickNext: () => _autoScroll.onClickAutoplay(onClickNext),\n };\n }\n return {\n onClickPrev,\n onClickNext,\n };\n }, [_autoScroll, _autoplay, onClickNext, onClickPrev, pluginNames]);\n\n return {\n options: {\n ...options,\n ...mainApi?.internalEngine().options,\n },\n pluginNames,\n mainRef,\n mainApi,\n // arrows\n arrows: {\n disablePrev,\n disableNext,\n onClickPrev: controls.onClickPrev,\n onClickNext: controls.onClickNext,\n },\n // dots\n dots: _dots,\n // thumbs\n thumbs: _thumbs,\n // progress\n progress: _progress,\n // autoplay\n autoplay: _autoplay,\n autoScroll: _autoScroll,\n };\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\n\nimport type { UseCarouselArrowsReturn } from '../types';\n\n// ----------------------------------------------------------------------\n\nexport const useCarouselArrows = (\n mainApi?: EmblaCarouselType,\n): UseCarouselArrowsReturn => {\n const [disablePrev, setDisabledPrevBtn] = useState(true);\n\n const [disableNext, setDisabledNextBtn] = useState(true);\n\n const onClickPrev = useCallback(() => {\n if (!mainApi) return;\n mainApi.scrollPrev();\n }, [mainApi]);\n\n const onClickNext = useCallback(() => {\n if (!mainApi) return;\n mainApi.scrollNext();\n }, [mainApi]);\n\n const onSelect = useCallback((_mainApi: EmblaCarouselType) => {\n setDisabledPrevBtn(!_mainApi.canScrollPrev());\n setDisabledNextBtn(!_mainApi.canScrollNext());\n }, []);\n\n useEffect(() => {\n if (!mainApi) return;\n\n onSelect(mainApi);\n mainApi.on('reInit', onSelect);\n mainApi.on('select', onSelect);\n\n return () => {\n mainApi.off('reInit', onSelect);\n mainApi.off('select', onSelect);\n };\n }, [mainApi, onSelect]);\n\n return {\n disablePrev,\n disableNext,\n onClickPrev,\n onClickNext,\n };\n};\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-nocheck\nimport { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\n\nimport type { UseCarouselAutoPlayReturn } from '../types';\n\n// ----------------------------------------------------------------------\n\nexport function useCarouselAutoPlay(\n mainApi?: EmblaCarouselType,\n): UseCarouselAutoPlayReturn {\n const [isPlaying, setIsPlaying] = useState(false);\n\n const onClickAutoplay = useCallback(\n (callback: () => void) => {\n const autoplay = mainApi?.plugins()?.autoplay;\n if (!autoplay) return;\n\n const resetOrStop =\n autoplay.options.stopOnInteraction === false\n ? autoplay.reset\n : autoplay.stop;\n\n resetOrStop();\n callback();\n },\n [mainApi],\n );\n\n const onTogglePlay = useCallback(() => {\n const autoplay = mainApi?.plugins()?.autoplay;\n if (!autoplay) return;\n\n const playOrStop = autoplay.isPlaying() ? autoplay.stop : autoplay.play;\n playOrStop();\n }, [mainApi]);\n\n useEffect(() => {\n const autoplay = mainApi?.plugins()?.autoplay;\n if (!autoplay) return;\n\n const onPlay = () => setIsPlaying(true);\n const onStop = () => setIsPlaying(false);\n const onReInit = () => setIsPlaying(false);\n\n setIsPlaying(autoplay.isPlaying());\n mainApi\n .on('autoplay:play', onPlay)\n .on('autoplay:stop', onStop)\n .on('reInit', onReInit);\n\n return () => {\n mainApi\n .off('autoplay:play', onPlay)\n .off('autoplay:stop', onStop)\n .off('reInit', onReInit);\n };\n }, [mainApi]);\n\n return { isPlaying, onTogglePlay, onClickAutoplay };\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n// @ts-nocheck\nimport { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\n\nimport type { UseCarouselAutoPlayReturn } from '../types';\n\n// ----------------------------------------------------------------------\n\nexport function useCarouselAutoScroll(\n mainApi?: EmblaCarouselType,\n): UseCarouselAutoPlayReturn {\n const [isPlaying, setIsPlaying] = useState(false);\n\n const onClickAutoplay = useCallback(\n (callback: () => void) => {\n const autoScroll = mainApi?.plugins()?.autoScroll;\n if (!autoScroll) return;\n\n const resetOrStop =\n autoScroll.options.stopOnInteraction === false\n ? autoScroll.reset\n : autoScroll.stop;\n\n resetOrStop();\n callback();\n },\n [mainApi],\n );\n\n const onTogglePlay = useCallback(() => {\n const autoScroll = mainApi?.plugins()?.autoScroll;\n if (!autoScroll) return;\n\n const playOrStop = autoScroll.isPlaying()\n ? autoScroll.stop\n : autoScroll.play;\n playOrStop();\n }, [mainApi]);\n\n useEffect(() => {\n const autoScroll = mainApi?.plugins()?.autoScroll;\n if (!autoScroll) return;\n\n const onPlay = () => setIsPlaying(true);\n const onStop = () => setIsPlaying(false);\n const onReInit = () => setIsPlaying(false);\n\n setIsPlaying(autoScroll.isPlaying());\n mainApi\n .on('autoScroll:play', onPlay)\n .on('autoScroll:stop', onStop)\n .on('reInit', onReInit);\n\n return () => {\n mainApi\n .off('autoScroll:play', onPlay)\n .off('autoScroll:stop', onStop)\n .off('reInit', onReInit);\n };\n }, [mainApi]);\n\n return { isPlaying, onTogglePlay, onClickAutoplay };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\n\nimport type { UseCarouselDotsReturn } from '../types';\n\nexport function useCarouselDots(\n mainApi?: EmblaCarouselType,\n): UseCarouselDotsReturn {\n const [dotCount, setDotCount] = useState(0);\n\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([]);\n\n const onClickDot = useCallback(\n (index: number) => {\n if (!mainApi) return;\n mainApi.scrollTo(index);\n },\n [mainApi],\n );\n\n const onInit = useCallback((_mainApi: EmblaCarouselType) => {\n setScrollSnaps(_mainApi.scrollSnapList());\n }, []);\n\n const onSelect = useCallback((_mainApi: EmblaCarouselType) => {\n setSelectedIndex(_mainApi.selectedScrollSnap());\n setDotCount(_mainApi.scrollSnapList().length);\n }, []);\n\n useEffect(() => {\n if (!mainApi) return;\n\n onInit(mainApi);\n onSelect(mainApi);\n mainApi.on('reInit', onInit);\n mainApi.on('reInit', onSelect);\n mainApi.on('select', onSelect);\n\n return () => {\n mainApi.off('reInit', onInit);\n mainApi.off('reInit', onSelect);\n mainApi.off('select', onSelect);\n };\n }, [mainApi, onInit, onSelect]);\n\n return {\n dotCount,\n scrollSnaps,\n selectedIndex,\n onClickDot,\n };\n}\n","import { useCallback, useEffect, useRef } from 'react';\nimport type { EmblaCarouselType, EmblaEventType } from 'embla-carousel';\n\nimport type { CarouselOptions } from '../types';\n\nexport function useParallax(\n mainApi?: EmblaCarouselType,\n parallax?: CarouselOptions['parallax'],\n) {\n const tweenFactor = useRef(0);\n\n const tweenNodes = useRef<HTMLElement[]>([]);\n\n const TWEEN_FACTOR_BASE = typeof parallax === 'number' ? parallax : 0.24;\n\n const setTweenNodes = useCallback((_mainApi: EmblaCarouselType): void => {\n tweenNodes.current = _mainApi\n .slideNodes()\n .map(\n slideNode =>\n slideNode.querySelector('.slide__parallax__layer') as HTMLElement,\n );\n }, []);\n\n const setTweenFactor = useCallback(\n (_mainApi: EmblaCarouselType) => {\n tweenFactor.current =\n TWEEN_FACTOR_BASE * _mainApi.scrollSnapList().length;\n },\n [TWEEN_FACTOR_BASE],\n );\n\n const tweenParallax = useCallback(\n (_mainApi: EmblaCarouselType, eventName?: EmblaEventType) => {\n const engine = _mainApi.internalEngine();\n\n const scrollProgress = _mainApi.scrollProgress();\n\n const slidesInView = _mainApi.slidesInView();\n\n const isScrollEvent = eventName === 'scroll';\n\n _mainApi.scrollSnapList().forEach((scrollSnap, snapIndex) => {\n let diffToTarget = scrollSnap - scrollProgress;\n\n const slidesInSnap = engine.slideRegistry[snapIndex];\n\n slidesInSnap.forEach(slideIndex => {\n if (isScrollEvent && !slidesInView.includes(slideIndex)) return;\n\n if (engine.options.loop) {\n engine.slideLooper.loopPoints.forEach(loopItem => {\n const target = loopItem.target();\n\n if (slideIndex === loopItem.index && target !== 0) {\n const sign = Math.sign(target);\n\n if (sign === -1) {\n diffToTarget = scrollSnap - (1 + scrollProgress);\n }\n if (sign === 1) {\n diffToTarget = scrollSnap + (1 - scrollProgress);\n }\n }\n });\n }\n\n const translateValue =\n diffToTarget * (-1 * tweenFactor.current) * 100;\n\n const tweenNode = tweenNodes.current[slideIndex];\n\n if (tweenNode) {\n tweenNode.style.transform = `translateX(${translateValue}%)`;\n }\n });\n });\n },\n [],\n );\n\n useEffect(() => {\n if (!mainApi || !parallax) return;\n\n setTweenNodes(mainApi);\n setTweenFactor(mainApi);\n tweenParallax(mainApi);\n\n mainApi\n .on('reInit', setTweenNodes)\n .on('reInit', setTweenFactor)\n .on('reInit', tweenParallax)\n .on('scroll', tweenParallax);\n\n return () => {\n mainApi\n .off('reInit', setTweenNodes)\n .off('reInit', setTweenFactor)\n .off('reInit', tweenParallax)\n .off('scroll', tweenParallax);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mainApi, tweenParallax]);\n\n return null;\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\n\nimport type { UseCarouselProgressReturn } from '../types';\n\nexport function useCarouselProgress(\n mainApi?: EmblaCarouselType,\n): UseCarouselProgressReturn {\n const [scrollProgress, setScrollProgress] = useState(0);\n\n const onScroll = useCallback((_mainApi: EmblaCarouselType) => {\n const progress = Math.max(0, Math.min(1, _mainApi.scrollProgress()));\n\n setScrollProgress(progress * 100);\n }, []);\n\n useEffect(() => {\n if (!mainApi) return;\n\n onScroll(mainApi);\n mainApi.on('reInit', onScroll);\n mainApi.on('scroll', onScroll);\n\n return () => {\n mainApi.off('reInit', onScroll).off('scroll', onScroll);\n };\n }, [mainApi, onScroll]);\n\n return { value: scrollProgress };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport type { EmblaCarouselType } from 'embla-carousel';\nimport useEmblaCarousel from 'embla-carousel-react';\n\nimport type { CarouselOptions, UseCarouselThumbsReturn } from '../types';\n\nexport function useThumbs(\n mainApi?: EmblaCarouselType,\n options?: Partial<CarouselOptions>,\n): UseCarouselThumbsReturn {\n const [thumbsRef, thumbsApi] = useEmblaCarousel({\n containScroll: 'keepSnaps',\n dragFree: true,\n ...options,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const onClickThumb = useCallback(\n (index: number) => {\n if (!mainApi || !thumbsApi) return;\n mainApi.scrollTo(index);\n },\n [mainApi, thumbsApi],\n );\n\n const onSelect = useCallback(() => {\n if (!mainApi || !thumbsApi) return;\n setSelectedIndex(mainApi.selectedScrollSnap());\n thumbsApi.scrollTo(mainApi.selectedScrollSnap());\n }, [mainApi, thumbsApi, setSelectedIndex]);\n\n useEffect(() => {\n if (!mainApi) return;\n onSelect();\n mainApi.on('select', onSelect);\n mainApi.on('reInit', onSelect);\n\n return () => {\n mainApi.off('select', onSelect);\n mainApi.off('reInit', onSelect);\n };\n }, [mainApi, onSelect]);\n\n return {\n onClickThumb,\n thumbsRef,\n thumbsApi,\n selectedIndex,\n };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as a$2 } from './chunk-
|
|
1
|
+
import { a as a$2 } from './chunk-5J35UAV6.js';
|
|
2
2
|
import { a as a$3 } from './chunk-FBVAHVU3.js';
|
|
3
3
|
import { a as a$1 } from './chunk-IAOMC4C4.js';
|
|
4
4
|
import { a } from './chunk-CFNATBO2.js';
|
|
@@ -9,4 +9,4 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
9
9
|
var l=({label:t="Copiar conte\xFAdo",message:c="Conte\xFAdo copiado!",toCopy:m})=>{let{copy:e}=a(),{success:s}=a$1();return jsx(a$2,{title:t,arrow:!0,children:jsx(C,{"aria-label":t,size:"small",onClick:()=>{e(m),s(c);},children:jsx(a$3,{icon:"COPY_CONTENT",color:"text.secondary",width:16})})})},I=memo(l);
|
|
10
10
|
|
|
11
11
|
export { I as a };
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
12
|
+
//# sourceMappingURL=chunk-TY7VOTWV.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b } from './chunk-
|
|
1
|
+
import { b } from './chunk-2ZJUGM2S.js';
|
|
2
2
|
import { memo } from 'react';
|
|
3
3
|
import v from 'react-fast-compare';
|
|
4
4
|
import f from '@mui/material/Drawer';
|
|
@@ -8,4 +8,4 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
8
8
|
var c=({open:r,onClose:e,anchorEl:s,children:i,isMobile:m,popoverProps:n,drawerProps:o})=>{let a=b("down","md");return m??a?jsx(f,{anchor:"bottom",open:r,onClose:e,...o,PaperProps:{sx:{maxWidth:"calc(100vw - 24px)",maxHeight:"85vh",...o?.PaperProps?.sx},...o?.PaperProps},children:i}):jsx(P,{open:r,anchorEl:s,onClose:e,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},...n,children:i})},g=memo(c,v);
|
|
9
9
|
|
|
10
10
|
export { g as a };
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-WLRSUL67.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as a$1 } from './chunk-
|
|
1
|
+
import { a as a$1 } from './chunk-2ZJUGM2S.js';
|
|
2
2
|
import { memo, forwardRef } from 'react';
|
|
3
3
|
import d from '@mui/material/Link';
|
|
4
4
|
import k from '@mui/material/Typography';
|
|
@@ -8,4 +8,4 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
8
8
|
function c(o){return Math.round(parseFloat(o)*16)}function y(o){let e=useTheme(),t=a$1(),p=e.breakpoints.up(t==="xl"?"lg":t),h=(o==="h1"||o==="h2"||o==="h3"||o==="h4"||o==="h5"||o==="h6")&&e.typography[o][p]?e.typography[o][p]:e.typography[o],r=c(h.fontSize),i=Number(e.typography[o].lineHeight)*r,{fontWeight:m,letterSpacing:n}=e.typography[o];return {fontSize:r,lineHeight:i,fontWeight:m,letterSpacing:n}}var a=memo(forwardRef(({asLink:o,variant:e="body1",line:t=2,persistent:p=!1,children:s,sx:h,...r},i)=>{let{lineHeight:m}=y(e),n={overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:t,WebkitBoxOrient:"vertical",wordBreak:"break-all",...p&&{height:m*t},...h};return o?jsx(d,{color:"inherit",ref:i,variant:e,sx:{...n},...r,children:s}):jsx(k,{ref:i,variant:e,sx:{...n},...r,children:s})}));a.displayName="TextMaxLine";var P=a;
|
|
9
9
|
|
|
10
10
|
export { P as a };
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-ZTTBPQJZ.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { a as default } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { a as default } from '../../chunk-TY7VOTWV.js';
|
|
2
|
+
import '../../chunk-5J35UAV6.js';
|
|
3
3
|
import '../../chunk-FBVAHVU3.js';
|
|
4
4
|
import '../../chunk-DGCPCUVB.js';
|
|
5
5
|
import '../../chunk-IAOMC4C4.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-
|
|
1
|
+
export { b as DesktopFooter, a as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-3BQAO7XM.js';
|
|
2
2
|
import '../../chunk-Y3TJIK6E.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-JINCDD7Q.js';
|
|
4
4
|
import '../../chunk-NMGWHSNZ.js';
|
|
5
5
|
import '../../chunk-6U5LS7MP.js';
|
|
6
6
|
import '../../chunk-LZQ7OFKO.js';
|
|
@@ -15,6 +15,6 @@ import '../../chunk-CO2KQFUN.js';
|
|
|
15
15
|
import '../../chunk-FBVAHVU3.js';
|
|
16
16
|
import '../../chunk-DGCPCUVB.js';
|
|
17
17
|
import '../../chunk-LQRRMVFN.js';
|
|
18
|
-
import '../../chunk-
|
|
18
|
+
import '../../chunk-2ZJUGM2S.js';
|
|
19
19
|
import '../../chunk-GLRLKFPS.js';
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export { a as FilterOperator, b as SortType } from '../../chunk-VL4W63YA.js';
|
|
2
2
|
import '../../chunk-4P2L7UJA.js';
|
|
3
|
-
import { a as a$1 } from '../../chunk-
|
|
3
|
+
import { a as a$1 } from '../../chunk-WLRSUL67.js';
|
|
4
4
|
import { d, c } from '../../chunk-N7IK5EUP.js';
|
|
5
5
|
import { h, a as a$3 } from '../../chunk-OF6623HG.js';
|
|
6
|
-
import { d as d$1 } from '../../chunk-
|
|
6
|
+
import { d as d$1 } from '../../chunk-3BQAO7XM.js';
|
|
7
7
|
import '../../chunk-Y3TJIK6E.js';
|
|
8
|
-
import '../../chunk-
|
|
8
|
+
import '../../chunk-JINCDD7Q.js';
|
|
9
9
|
import '../../chunk-NMGWHSNZ.js';
|
|
10
10
|
import '../../chunk-6U5LS7MP.js';
|
|
11
11
|
import '../../chunk-LZQ7OFKO.js';
|
|
12
12
|
import '../../chunk-NIQW2J3M.js';
|
|
13
13
|
import '../../chunk-PRWQQJDL.js';
|
|
14
|
-
import { a as a$2 } from '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
14
|
+
import { a as a$2 } from '../../chunk-TY7VOTWV.js';
|
|
15
|
+
import '../../chunk-5J35UAV6.js';
|
|
16
16
|
import { e } from '../../chunk-XUDTPZHF.js';
|
|
17
17
|
import '../../chunk-UVPQR2Q2.js';
|
|
18
18
|
import '../../chunk-RBTYTONM.js';
|
|
@@ -24,17 +24,17 @@ import '../../chunk-DGCPCUVB.js';
|
|
|
24
24
|
import '../../chunk-IAOMC4C4.js';
|
|
25
25
|
import { a as a$5 } from '../../chunk-F6H765KA.js';
|
|
26
26
|
import '../../chunk-LQRRMVFN.js';
|
|
27
|
-
import { b } from '../../chunk-
|
|
27
|
+
import { b } from '../../chunk-2ZJUGM2S.js';
|
|
28
28
|
import '../../chunk-GLRLKFPS.js';
|
|
29
|
-
import { a as a$4 } from '../../chunk-
|
|
30
|
-
import '../../chunk-
|
|
29
|
+
import { a as a$4 } from '../../chunk-2HAPOY5M.js';
|
|
30
|
+
import '../../chunk-FJBC6QA5.js';
|
|
31
31
|
import '../../chunk-POTVACYB.js';
|
|
32
32
|
import '../../chunk-ET3WPQIO.js';
|
|
33
33
|
import '../../chunk-CFNATBO2.js';
|
|
34
34
|
import { memo, useMemo, useCallback, useState, useEffect, useRef } from 'react';
|
|
35
|
-
import
|
|
35
|
+
import Go from 'react-fast-compare';
|
|
36
36
|
import Qe from '@mui/material/Badge';
|
|
37
|
-
import
|
|
37
|
+
import Fe from '@mui/material/Button';
|
|
38
38
|
import je from '@mui/material/IconButton';
|
|
39
39
|
import Nt from '@mui/material/Stack';
|
|
40
40
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -44,16 +44,16 @@ import fe from '@mui/material/FormControl';
|
|
|
44
44
|
import Ce from '@mui/material/InputLabel';
|
|
45
45
|
import $ from '@mui/material/MenuItem';
|
|
46
46
|
import ge from '@mui/material/Select';
|
|
47
|
-
import
|
|
47
|
+
import tr from '@mui/material/TextField';
|
|
48
48
|
import X from '@mui/material/Box';
|
|
49
49
|
import { styled } from '@mui/material/styles';
|
|
50
|
-
import
|
|
51
|
-
import
|
|
52
|
-
import
|
|
53
|
-
import
|
|
54
|
-
import
|
|
50
|
+
import Tr from '@mui/material/Dialog';
|
|
51
|
+
import Rr from '@mui/material/DialogActions';
|
|
52
|
+
import Dr from '@mui/material/DialogContent';
|
|
53
|
+
import xr from '@mui/material/DialogTitle';
|
|
54
|
+
import Qr from '@mui/material/Chip';
|
|
55
55
|
|
|
56
|
-
var Uo=({showFilterButton:e$1,isMobile:t,hasActiveFilters:o,activeFiltersCount:r,sort:n,onFilterClick:i,onSortClick:l})=>e$1?t?jsxs(Nt,{direction:"row",spacing:.5,children:[jsx(Qe,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":{transform:"scale(0.9) translate(10px, 9px)",opacity:r===0?0:1}},children:jsx(je,{color:o?"primary":"default",onClick:i,size:"small","aria-label":"Filtrar",sx:{overflow:"visible"},children:jsx(a,{icon:"FILTER_VERTICAL"})})}),jsx(e,{sx:{height:16},orientation:"vertical",flexItem:!0}),jsx(je,{color:n?"primary":"default",onClick:l,size:"small","aria-label":"Ordenar",children:jsx(a,{icon:n?.sortType==="DESC"?"SORTING_DESC":"SORTING_ASC"})})]}):jsx(Qe,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":r?{transform:"scale(0.9) translate(-3px, 7px)",position:"relative",opacity:1,transition:"none"}:{transition:"none",opacity:0}},children:jsx(he,{variant:"text",color:o?"primary":"inherit",startIcon:jsx(a,{icon:"FILTER_VERTICAL"}),onClick:i,size:"small",children:"Filtrar"})}):null,Je=memo(Uo,Wo);var Ze=e=>e.filter(t=>t.available_filter_conditions&&t.available_filter_conditions.length>0&&t.name!=="ACTIONS");var et=e=>{let{type:t,available_filter_conditions:o}=e;return o.length===0?"EQUALS":t==="TEXT"&&o.includes("LIKE")?"LIKE":o[0]},Y=e=>e.value.length>0||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",tt=e=>{if(e.length===0)return;let t=e.filter(Y);if(t.length!==0)return {operator:"AND",groups:[{operator:t[0]?.operator||"AND",conditionals:t.map(o=>({fieldName:o.fieldName,conditional:o.conditional,value:o.value}))}]}};var ot={["EQUALS"]:"Igual a",["NOT_EQUALS"]:"Diferente de",["LIKE"]:"Cont\xE9m",["NOT_LIKE"]:"N\xE3o cont\xE9m",["GREATER_THAN"]:"Maior que",["LESS_THAN"]:"Menor que",["GREATER_THAN_OR_EQUAL"]:"Maior ou igual a",["LESS_THAN_OR_EQUAL"]:"Menor ou igual a",["IN"]:"Em",["NOT_IN"]:"N\xE3o em",["IS_NULL"]:"\xC9 nulo",["IS_NOT_NULL"]:"N\xE3o \xE9 nulo"};var Ko=({value:e,onChange:t,totalConditions:o,isFirst:r})=>o===1?null:r?jsx(Nt,{sx:{width:55,flexShrink:0}}):jsxs(ge,{value:e,onChange:n=>t(n.target.value),size:"small",sx:{width:55,flexShrink:0},children:[jsx($,{value:"AND",children:"e"}),jsx($,{value:"OR",children:"ou"})]}),it=memo(Ko,Wo);var O={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},tr=({condition:e,fields:t,onChange:o,onRemove:r,totalConditions:n,isFirst:i})=>{let l=useMemo(()=>t.find(a=>(a.filter_field_name??a.name)===e.fieldName),[t,e.fieldName]),m=useMemo(()=>l?.available_filter_conditions||[],[l]),s=useMemo(()=>!e.fieldName||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",[e.fieldName,e.conditional]),p=useCallback(a=>{let u=t.find(A=>(A.filter_field_name??A.name)===a);if(!u)return;let L=u.available_filter_conditions[0]||"EQUALS";o({...e,fieldName:a,conditional:L,value:[]});},[t,e,o]),f=useCallback(a=>{o({...e,conditional:a});},[e,o]),d=useCallback(a=>{o({...e,value:a?[a]:[]});},[e,o]),c=useCallback(a=>{o({...e,operator:a});},[e,o]);return jsxs(Nt,{direction:"row",spacing:1,alignItems:"center",children:[jsx(je,{onClick:r,size:"small","aria-label":"Remover filtro",sx:{flexShrink:0},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18})}),jsx(it,{value:e.operator,onChange:c,totalConditions:n,isFirst:i}),jsxs(fe,{size:"small",sx:{minWidth:150,flex:1},children:[jsx(Ce,{id:`field-label-${e.id}`,children:"Coluna"}),jsx(ge,{labelId:`field-label-${e.id}`,label:"Coluna",value:e.fieldName,onChange:a=>p(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:t.map(a=>jsx($,{value:a.filter_field_name??a.name,sx:O,title:a.description||a.name,children:a.description||a.name},a.name))})]}),jsxs(fe,{size:"small",sx:{minWidth:90},disabled:!e.fieldName,children:[jsx(Ce,{id:`condition-label-${e.id}`,children:"Condi\xE7\xE3o"}),jsx(ge,{labelId:`condition-label-${e.id}`,label:"Condi\xE7\xE3o",value:e.conditional,onChange:a=>f(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:m.map(a=>jsx($,{value:a,sx:O,children:ot[a]||a},a))})]}),l?.type==="BOOLEAN"?jsxs(fe,{size:"small",sx:{flex:1,minWidth:120},disabled:s,children:[jsx(Ce,{id:`value-label-${e.id}`,children:"Valor"}),jsxs(ge,{labelId:`value-label-${e.id}`,label:"Valor",value:e.value[0]||"",onChange:a=>d(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:[jsx($,{value:"true",children:"Verdadeiro"}),jsx($,{value:"false",children:"Falso"})]})]}):jsx(er,{label:"Filtro",value:e.value[0]||"",onChange:a=>d(a.target.value),size:"small",disabled:s,InputLabelProps:{shrink:!0},sx:{flex:1,minWidth:120}})]})},nt=memo(tr,Wo);var nr=({filterableFields:e,conditions:t,onUpdateCondition:o,onRemoveCondition:r})=>{let n=useCallback(s=>{o(s.id,s);},[o]),i=useCallback(s=>()=>{r(s);},[r]),l=useMemo(()=>t.map(s=>s.fieldName).filter(s=>!!s),[t]),m=useCallback(s=>e.filter(p=>!l.includes(p.name)||p.name===s),[e,l]);return e.length===0?jsx(Se,{variant:"body2",color:"text.secondary",textAlign:"center",children:"Nenhum filtro dispon\xEDvel"}):t.length===0?jsxs(Se,{variant:"body2",color:"text.secondary",textAlign:"center",children:["Clique em"," ",jsx(Se,{component:"strong",variant:"body2",fontWeight:600,color:"text.primary",children:'"+"'})," ","para adicionar um filtro"]}):jsx(Fragment,{children:t.map((s,p)=>jsx(nt,{condition:s,fields:m(s.fieldName),onChange:n,onRemove:i(s.id),showOperator:p>0,totalConditions:t.length,isFirst:p===0},s.id))})},at=memo(nr,Wo);var lt=styled(X)({display:"flex",flexDirection:"column",height:"100%"}),st=styled(X)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)})),mt=styled(X)(({theme:e})=>({flex:1,overflowY:"auto",padding:e.spacing(3),display:"flex",flexDirection:"column",gap:e.spacing(2)})),dt=styled(X)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2)}));var ur=({onClose:e,fields:t,conditions:o,onAddCondition:r,onUpdateCondition:n,onRemoveCondition:i,onApply:l,onClear:m,onCancel:s})=>{let p=Ze(t),f=o.length>0,d=useCallback(()=>{l(),e();},[l,e]),c=useCallback(()=>{m(),e();},[m,e]),a$1=useCallback(()=>{s();},[s]);return jsxs(lt,{children:[jsxs(st,{children:[jsx(Se,{variant:"overline",fontWeight:600,color:"text.secondary",children:"Defina as condi\xE7\xF5es para filtrar"}),jsx(je,{onClick:r,size:"small","aria-label":"Adicionar filtro",title:"Adicionar filtro",disabled:o.length>=p.length,children:jsx(a,{icon:"SIMPLE_ADD"})})]}),jsx(pt,{}),jsx(mt,{children:jsx(at,{filterableFields:p,conditions:o,onUpdateCondition:n,onRemoveCondition:i})}),jsx(pt,{}),jsxs(dt,{children:[jsx(he,{variant:"text",color:"inherit",onClick:c,children:"Limpar"}),jsxs(Nt,{direction:"row",spacing:1,children:[jsx(he,{variant:"outlined",color:"inherit",onClick:a$1,startIcon:jsx(a,{icon:"CANCEL_CIRCLE"}),children:"Cancelar"}),jsx(he,{variant:"contained",onClick:d,disabled:!f,startIcon:jsx(a,{icon:"SIMPLE_CHECK"}),children:"Aplicar"})]})]})]})},ct=memo(ur,Wo);var gr=e=>jsx(a$1,{open:e.open,onClose:e.onClose,anchorEl:e.anchorEl,isMobile:e.isMobileProp,popoverProps:{slotProps:{paper:{sx:{width:520,maxWidth:"calc(100vw - 24px)",maxHeight:600,mt:1}}}},drawerProps:{anchor:"right",PaperProps:{sx:{width:"100%",maxWidth:"100%",height:"100%",maxHeight:"100%",borderRadius:0}}},children:jsx(ct,{...e})}),ft=memo(gr,Wo);var br=({showFilterButton:e,isOpen:t,filterAnchorEl:o,fields:r,conditions:n,isMobile:i,onClose:l,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:p,onApply:f,onClear:d,onCancel:c})=>e?jsx(ft,{open:t||!!o,anchorEl:o,onClose:l,fields:r,conditions:n,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:p,onApply:f,onClear:d,onCancel:c,isMobileProp:i}):null,Ct=memo(br,Wo);var gt=styled(Ir)(()=>({"& .MuiDialog-paper":{width:"100%"}})),yt=styled(Dr)(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),St=styled(Rr)(({theme:e})=>({padding:e.spacing(2)})),bt=styled(Tr)(({theme:e})=>({borderTop:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),ht=styled(he)(({theme:e})=>({minWidth:24,[e.breakpoints.down(330)]:{padding:e.spacing(1)}})),Fe=styled(Se)(({theme:e})=>({fontWeight:"600",margin:e.spacing(0,1),[e.breakpoints.down(330)]:{fontSize:0,margin:0}}));var At=({open:e,onClose:t,fields:o,sort:r,onSortChange:n})=>{let[i,l]=useState(r?.fieldName||""),[m,s]=useState(r?.sortType||"ASC"),p=useMemo(()=>o.filter(u=>u.name!=="ACTIONS"&&u.access_type!=="WRITE_ONLY"),[o]),f=useMemo(()=>o.find(u=>(u.filter_field_name??u.name)===i),[o,i]),d=f?.type==="DECIMAL"||f?.type==="INTEGER";useEffect(()=>{e&&(l(r?.fieldName||""),s(r?.sortType||"ASC"));},[e,r]);let c=useCallback(()=>{n&&n(i?{fieldName:i,sortType:m}:void 0),t();},[n,i,m,t]),a$1=useCallback(()=>{n&&(l(""),s("ASC"),n(void 0),t());},[n,t]);return jsxs(gt,{open:e,onClose:t,maxWidth:"xs",fullWidth:!0,children:[jsx(yt,{children:jsx(Se,{variant:"overline",color:"text.secondary",children:"Ordenar por"})}),jsx(St,{children:jsxs(Nt,{spacing:2,pt:2,children:[jsxs(fe,{fullWidth:!0,size:"small",children:[jsx(Ce,{id:"sort-field-label",children:"Campo"}),jsxs(ge,{labelId:"sort-field-label",value:i,label:"Campo",onChange:u=>l(u.target.value),children:[jsx($,{value:"",children:jsx("em",{children:"Nenhum"})}),p.map(u=>jsx($,{value:u.filter_field_name??u.name,children:u.description||u.name},u.name))]})]}),jsxs(fe,{fullWidth:!0,size:"small",disabled:!i,children:[jsx(Ce,{id:"sort-direction-label",children:"Dire\xE7\xE3o"}),jsxs(ge,{labelId:"sort-direction-label",value:m,label:"Dire\xE7\xE3o",onChange:u=>s(u.target.value),children:[jsxs($,{value:"ASC",children:["Crescente ",d?"(1-9)":"(A-Z)"]}),jsxs($,{value:"DESC",children:["Decrescente ",d?"(9-1)":"(Z-A)"]})]})]})]})}),jsxs(bt,{children:[jsx(Nt,{flex:1,width:"100%",direction:"row",children:jsx(he,{color:"inherit",onClick:a$1,children:"Limpar"})}),jsxs(he,{onClick:t,variant:"outlined",color:"inherit",sx:{minWidth:24},children:[jsx(a,{icon:"CANCEL_CIRCLE"}),jsx(Fe,{children:"Cancelar"})]}),jsxs(ht,{onClick:c,variant:"contained",children:[jsx(a,{icon:"SIMPLE_CHECK"}),jsx(Fe,{children:"Aplicar"})]})]})]})};At.displayName="SortModal";var Et=memo(At);var vt=({columns:e,fields:t,preferredFieldOrder:o})=>{let r=useMemo(()=>new Map(e.map(l=>[l.field,l])),[e]),n=useMemo(()=>new Map(t?.map(l=>[l.name,l])||[]),[t]);return {orderedColumns:useMemo(()=>{if(!o||o.length===0||!t)return e;let l="ACTIONS",m=o.filter(d=>d!==l),s=new Set,p=[],f=d=>{let c=n.get(d);if(!c)return;let a=r.get(c.name);!a||s.has(c.name)||(p.push(a),s.add(c.name));};return m.forEach(d=>{f(d);}),t.forEach(d=>{if(d.name===l||m.includes(d.name))return;let c=r.get(d.name);!c||s.has(d.name)||(p.push(c),s.add(d.name));}),f(l),p.length===0?e:p},[e,r,n,o,t]),columnsByFieldId:r,fieldsByName:n}};function Mr(e){return e.name}var Mt=({fields:e,columnsByFieldId:t,defaultVisibleFieldNames:o,columnVisibilityStorageKey:r,onColumnVisibilityModelChange:n})=>{let i=!!r,[l,m]=a$4(r||"__dynamic-data-view:columns__",void 0,{initializeWithValue:i}),s=useMemo(()=>{if(!e)return;let f={};if(e.forEach(d=>{let c=Mr(d);if(!t.has(c))return;let a;if(i&&l){let u=l[c];typeof u=="boolean"&&(a=u);}a===void 0&&o&&o.length>0&&(a=o.includes(d.name)),typeof a=="boolean"&&(f[c]=a);}),Object.keys(f).length!==0)return {columns:{columnVisibilityModel:f}}},[t,o,e,i,l]),p=useCallback(f=>{if(i){let d={...f};delete d.__check__,m(d);}n&&n(f);},[i,n,m]);return {initialState:s,handleColumnVisibilityModelChange:p}};var N={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},Te={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},wt=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var wr=(e,t)=>({field:e.name,headerName:e.description,sortable:!1,width:N.IMAGE_WIDTH,resizable:!1,headerAlign:"center",align:"center",renderCell:o=>t(e,o.row)}),Lr=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.ID_MIN_WIDTH,flex:N.ID_FLEX,renderCell:o=>t(e,o.row)}),Pr=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.ENTITY_MIN_WIDTH,flex:N.ENTITY_FLEX,renderCell:o=>t(e,o.row)}),Or=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.MIN_WIDTH,renderCell:o=>t(e,o.row)}),kr=(e,t)=>({field:e.name,headerName:"A\xE7\xF5es",width:N.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:o=>t(e,o.row)}),Lt=(e,t)=>e.name===t?.id_field_name||e.name==="name"?Lr:e.name==="ACTIONS"?kr:e.type==="FILE"?wr:e.type==="ENTITY"?Pr:Or;var Pt=({metadata:e,renderCell:t,columnStrategies:o})=>useMemo(()=>{if(!e?.fields)return [];let r=new Map;return e.fields.filter(i=>i.access_type===Te.READ_ONLY||i.access_type===Te.READ_AND_WRITE?!0:i.name==="ACTIONS"||i.name===e?.id_field_name||i.name==="NAME").forEach(i=>{if(r.has(i.name))return;let m=(o?.[i.name]??Lt(i,e))(i,t,e);r.set(i.name,m);}),Array.from(r.values())},[o,e,t]);var Ot=e=>e?.groups?.[0]?.conditionals?e.groups[0].conditionals.map(t=>({id:a$5(),operator:e.groups[0].operator,fieldName:t.fieldName,conditional:t.conditional,value:t.value})):[],kt=({fields:e,initialFilter:t})=>{let[o,r]=useState(!1),[n,i]=useState(()=>Ot(t)),[l,m]=useState(t),[s,p]=useState(()=>Ot(t)),f=useRef([]),d=useCallback(()=>{f.current=n.map(C=>({...C})),p(n.map(C=>({...C}))),r(!0);},[n]),c=()=>r(!1),a=useCallback(()=>{let C=e.filter(R=>R.available_filter_conditions?.length>0);if(C.length===0)return;let S=s.map(R=>R.fieldName),F=C.filter(R=>!S.includes(R.filter_field_name??R.name));if(F.length===0)return;let E=s.length>0?s[0].operator:"AND",b=F[0],x={id:a$5(),operator:E,fieldName:b.filter_field_name??b.name,conditional:et(b),value:[]};p(R=>[...R,x]);},[e,s]),u=useCallback((C,S)=>{p(F=>{let E=F.find(b=>b.id===C);if(!E)return F;if(S.operator&&S.operator!==E.operator){let b=S.operator;return F.map(x=>x.id===C?{...x,...S}:{...x,operator:b})}return F.map(b=>b.id===C?{...b,...S}:b)});},[]),L=useCallback(C=>{p(S=>S.filter(F=>F.id!==C));},[]),A=()=>{p([]),i([]),m(void 0);},re=()=>{let C=tt(s);return i(s.map(S=>({...S}))),m(C),r(!1),C},ie=()=>{p(f.current.map(C=>({...C}))),r(!1);},ne=n.some(Y),ae=n.filter(Y).length;return {conditions:s,filter:l,isOpen:o,hasActiveFilters:ne,activeFiltersCount:ae,openDrawer:d,closeDrawer:c,addCondition:a,updateCondition:u,removeCondition:L,clearAllFilters:A,applyFilters:re,cancelChanges:ie}};var Gt=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):void 0}catch{return}},Vt=(e,t)=>{try{t===void 0?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t));}catch{}},Ut=(e,t,o)=>{let r=`${e}:filter`,[n,i]=useState(()=>Gt(r)||t);return useEffect(()=>{t!==void 0&&i(t);},[t]),{filter:n,setFilter:m=>{i(m),Vt(r,m),o?.(m);}}},Ht=(e,t,o)=>{let r=`${e}:sort`,[n,i]=useState(()=>Gt(r)||t);return useEffect(()=>{t!==void 0&&i(t);},[t]),{sort:n,setSort:m=>{i(m),Vt(r,m),o?.(m);}}};var Ur=(e,t)=>e?e.find(r=>r.name===t)?.filter_field_name??t:t,Hr=(e,t)=>e?e.find(r=>r.filter_field_name===t||r.name===t)?.name??t:t,zt=({sort:e,onSortChange:t,fields:o})=>{let r=useMemo(()=>e?[{field:Hr(o,e.fieldName),sort:e.sortType.toLowerCase()}]:[],[e,o]),n=useCallback(i=>{if(!t)return;let l=i[0];if(!l||!l.sort){t(void 0);return}let m={fieldName:Ur(o,l.field),sortType:l.sort.toUpperCase()};t(m);},[t,o]);return {sortModel:r,handleSortModelChange:n}};var Yt=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),Re=e=>e.fields.some(o=>o.name==="ACTIONS")?e:{...e,fields:[...e.fields,Yt()]};var Yr=({value:e,format:t})=>e==null?"-":d(e,t),De=memo(Yr);var $r=({value:e,format:t})=>e==null?"-":c(e,t),xe=memo($r);var Qr=({value:e,field:t})=>{if(!t.metadata||typeof e!="object"||e===null)return e?String(e):"-";let o=e[t.metadata.description_field_name];return o?jsx(Xr,{label:String(o),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},_e=memo(Qr);var Zr=({value:e,trueIcon:t="STAR_02",falseIcon:o="STAR",color:r="primary.main",width:n=18})=>jsx(a,{icon:e?t:o,color:r,width:n}),ei=memo(Zr);var $t=styled("span")(({theme:e,isActive:t})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",padding:e.spacing(.2,1),borderRadius:e.shape.borderRadius,fontSize:"0.75rem",fontWeight:600,width:"fit-content",height:"auto",lineHeight:"1.25rem",whiteSpace:"nowrap",margin:"auto",backgroundColor:t?e.palette.success.lighter||"#00A76F29":e.palette.warning.lighter||"#FF563029",color:t?e.palette.success.darker||"#007867":e.palette.warning.darker||"#B71D18"})),Kt=styled(X,{shouldForwardProp:e=>!["size","noImage","clickable"].includes(e)})(({theme:e,size:t,noImage:o,clickable:r})=>({width:t,height:t,minWidth:t,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",cursor:r?"pointer":"default",transition:"opacity 0.2s ease-in-out",color:e.palette.text.disabled,...o&&{border:`1px dashed ${e.palette.divider}`,backgroundColor:e.palette.grey[100]},...r&&{"&:hover":{opacity:.8}},"& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"},[e.breakpoints.down("sm")]:{justifyContent:"flex-start",alignItems:"flex-start"}}));var ii=({imageResourceId:e,getImageUrl:t,size:o=48,alt:r="Imagem",onClick:n,sx:i})=>{let l=!!e,m=l&&t?t(e):void 0;return jsx(Kt,{size:o,noImage:!l,clickable:!!n,onClick:n,sx:i,children:m?jsx("img",{src:m,alt:r}):jsx(a,{icon:"SEARCH_IMAGE",width:Math.round(o/2),color:"text.disabled"})})},ni=memo(ii);var li=({id:e,displayName:t,copyMessage:o="ID copiado!"})=>jsxs(Nt,{height:1,justifyContent:"center",children:[jsx(Se,{variant:"subtitle2",noWrap:!0,title:t,children:t}),jsxs(Nt,{direction:"row",gap:1,alignItems:"center",children:[jsxs(Se,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:o})]})]}),si=memo(li);var ci=({value:e,isCurrency:t=!1})=>e==null?"-":jsx(Nt,{direction:"row",alignItems:"center",height:"100%",children:jsx(Se,{variant:"body2",noWrap:!0,width:"fit-content",children:t?h(Number(e)):a$3(Number(e))})}),Ee=memo(ci);var fi=({active:e,activeLabel:t="Ativo",inactiveLabel:o="Inativo"})=>jsx($t,{isActive:e,children:e?t:o}),ve=memo(fi);var bi=e=>e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim(),hi=({value:e,showCopyButton:t=!1,copyMessage:o="Copiado",copyLabel:r,mask:n})=>{if(!e)return "-";let i=String(e),l=n?n(i):bi(i);return t?jsxs(Nt,{direction:"row",gap:1,alignItems:"center",children:[jsx(Se,{variant:"body2",noWrap:!0,children:l}),jsx(a$2,{toCopy:i,message:o,label:r})]}):l},Me=memo(hi);function Ii(e){return wt.includes(e)}var eo=e=>{let{onRowAction:t}=e,o=(r,n)=>{let i=n[r.name];if(r.name==="ACTIONS")return t?.(n.id,n);switch(r.type){case"BOOLEAN":return jsx(ve,{active:!!i,activeLabel:"Ativo",inactiveLabel:"Inativo"});case"DATE":return jsx(De,{value:i});case"DATETIME":return jsx(xe,{value:i});case"DECIMAL":case"INTEGER":return jsx(Ee,{value:i,isCurrency:Ii(r.name)});case"FILE":case"ENTITY":return jsx(_e,{value:i,field:r});case"TEXT":default:return jsx(Me,{value:i})}};return o.displayName="CellRendererComponent",o};var Di=({title:e,metadata:t,data:o,isLoading:r,isFetching:n,page:i,perPage:l,searchValue:m,onSearchChange:s,onSearch:p,onPaginationChange:f,onAdd:d,onRowAction:c,onRowDoubleClick:a,actions:u,moreActions:L,bulkActions:A,rowSelectionModel:re,onRowSelectionModelChange:ie,slots:ne,mobileRender:ae,containerHeight:C=600,showColumnButton:S=!1,showFilterButton:F=!1,filter:E,onFilterChange:b$1,sort:x,onSortChange:R,defaultVisibleFieldNames:io,preferredFieldOrder:no,columnStrategies:ao,onColumnVisibilityModelChange:lo,storageKey:le})=>{let{items:B=[],total:so=0}=o||{},W=useMemo(()=>{if(t)return t;if(B.length>0){let _=B[0],H=Object.keys(_).map(Ge=>({name:Ge,type:"TEXT",description:Ge,filter_field_name:null,metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}));return {name:"loading",description:"Loading...",id_field_name:"id",description_field_name:H[0]?.name||"id",access_type:"READ_ONLY",fields:H}}},[t,B]),P=useMemo(()=>W&&c?Re(W):W,[W,c]),G=useMemo(()=>P?.fields||[],[P]),mo=useMemo(()=>eo({onRowAction:c}),[c]),po=Pt({metadata:P,renderCell:mo,columnStrategies:ao}),{orderedColumns:co,columnsByFieldId:uo}=vt({columns:po,fields:P?.fields,preferredFieldOrder:no}),{initialState:fo,handleColumnVisibilityModelChange:Co}=Mt({fields:P?.fields,columnsByFieldId:uo,defaultVisibleFieldNames:io,columnVisibilityStorageKey:`${le}:columns`,onColumnVisibilityModelChange:lo}),go=useCallback(_=>{if(!a)return;let H=_.id?.toString()||"";a(H,_.row);},[a]),V=b("down","md"),[yo,se]=useState(null),{filter:So,setFilter:U}=Ut(le,E,b$1),{sort:bo,setSort:we}=Ht(le,x,R),ho=E??So,me=x??bo,{sortModel:Fo,handleSortModelChange:Io}=zt({sort:me,onSortChange:we,fields:G}),{conditions:To,isOpen:Ro,openDrawer:de,closeDrawer:Le,addCondition:Do,updateCondition:xo,removeCondition:_o,clearAllFilters:Pe,applyFilters:Oe,cancelChanges:ke,hasActiveFilters:No,activeFiltersCount:Ao}=kt({fields:G,initialFilter:ho}),Eo=useCallback(()=>{let _=Oe();U(_);},[Oe,U]),vo=useCallback(()=>{Pe(),U(void 0);},[Pe,U]),Mo=useCallback(_=>{V?de():(de(),se(_.currentTarget));},[V,de]),wo=useCallback(()=>{ke(),se(null);},[ke]),[Lo,Be]=useState(!1),Po=useCallback(()=>{se(null),Le();},[Le]),We=!!A?.length;return jsxs(Fragment,{children:[jsx(d$1,{title:e,columns:co,rows:B,mobileRender:ae,rowCount:so,loading:r||!t,fetching:n,searchValue:m,onSearch:p,onSearchChange:s,paginationModel:{page:i,pageSize:l},onPaginationChange:f,actions:u,moreActions:L,onAdd:d,onRowDoubleClick:a?go:void 0,bulkActions:A,checkboxSelection:We,rowSelectionModel:re,onRowSelectionModelChange:ie,keepNonExistentRowsSelected:We,disableRowSelectionOnClick:!0,slots:ne,initialState:fo,showColumnButton:S,containerProps:{height:C,maxHeight:C},onColumnVisibilityModelChange:Co,filterButton:jsx(Je,{showFilterButton:F,isMobile:V,hasActiveFilters:No,activeFiltersCount:Ao,sort:me,onFilterClick:Mo,onSortClick:()=>Be(!0)}),sortingMode:"server",sortModel:Fo,onSortModelChange:Io,disableColumnFilter:!0}),t&&jsxs(Fragment,{children:[jsx(Ct,{showFilterButton:F,isOpen:Ro,filterAnchorEl:yo,fields:G,conditions:To,isMobile:V,onClose:Po,onAddCondition:Do,onUpdateCondition:xo,onRemoveCondition:_o,onApply:Eo,onClear:vo,onCancel:wo}),jsx(Et,{open:Lo,onClose:()=>Be(!1),fields:G,sort:me,onSortChange:we})]})]})},xi=memo(Di,Wo);var _i=({metadata:e,columnVisibilityModel:t,defaultVisibleFields:o})=>{if(!e?.fields)return;let n=e.fields.map(i=>i.name).filter(i=>i==="ACTIONS"?!1:t?t[i]!==!1:o?.includes(i)??!0);return o?n.sort((i,l)=>{let m=o.indexOf(i),s=o.indexOf(l);return m-s||0}):n};
|
|
56
|
+
var Ho=({showFilterButton:e$1,isMobile:t,hasActiveFilters:o,activeFiltersCount:r,sort:n,onFilterClick:i,onSortClick:a$1})=>e$1?t?jsxs(Nt,{direction:"row",spacing:.5,children:[jsx(Qe,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":{transform:"scale(0.9) translate(10px, 9px)",opacity:r===0?0:1}},children:jsx(je,{color:o?"primary":"default",onClick:i,size:"small","aria-label":"Filtrar",sx:{overflow:"visible"},children:jsx(a,{icon:"FILTER_VERTICAL"})})}),jsx(e,{sx:{height:16},orientation:"vertical",flexItem:!0}),jsx(je,{color:n?"primary":"default",onClick:a$1,size:"small","aria-label":"Ordenar",children:jsx(a,{icon:n?.sortType==="DESC"?"SORTING_DESC":"SORTING_ASC"})})]}):jsx(Qe,{badgeContent:r,color:"primary",invisible:r===0,sx:{"& .MuiBadge-badge":r?{transform:"scale(0.9) translate(-3px, 7px)",position:"relative",opacity:1,transition:"none"}:{transition:"none",opacity:0}},children:jsx(Fe,{variant:"text",color:o?"primary":"inherit",startIcon:jsx(a,{icon:"FILTER_VERTICAL"}),onClick:i,size:"small",children:"Filtrar"})}):null,Je=memo(Ho,Go);var Ze=e=>e.filter(t=>t.available_filter_conditions&&t.available_filter_conditions.length>0&&t.name!=="ACTIONS");var et=e=>{let{type:t,available_filter_conditions:o}=e;return o.length===0?"EQUALS":t==="TEXT"&&o.includes("LIKE")?"LIKE":o[0]},Y=e=>e.value.length>0||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",tt=e=>{if(e.length===0)return;let t=e.filter(Y);if(t.length!==0)return {operator:"AND",groups:[{operator:t[0]?.operator||"AND",conditionals:t.map(o=>({fieldName:o.fieldName,conditional:o.conditional,value:o.value}))}]}};var ot={["EQUALS"]:"Igual a",["NOT_EQUALS"]:"Diferente de",["LIKE"]:"Cont\xE9m",["NOT_LIKE"]:"N\xE3o cont\xE9m",["GREATER_THAN"]:"Maior que",["LESS_THAN"]:"Menor que",["GREATER_THAN_OR_EQUAL"]:"Maior ou igual a",["LESS_THAN_OR_EQUAL"]:"Menor ou igual a",["IN"]:"Em",["NOT_IN"]:"N\xE3o em",["IS_NULL"]:"\xC9 nulo",["IS_NOT_NULL"]:"N\xE3o \xE9 nulo"};var Xo=({value:e,onChange:t,totalConditions:o,isFirst:r})=>o===1?null:r?jsx(Nt,{sx:{width:55,flexShrink:0}}):jsxs(ge,{value:e,onChange:n=>t(n.target.value),size:"small",sx:{width:55,flexShrink:0},children:[jsx($,{value:"AND",children:"e"}),jsx($,{value:"OR",children:"ou"})]}),it=memo(Xo,Go);var O={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},or=({condition:e,fields:t,onChange:o,onRemove:r,totalConditions:n,isFirst:i})=>{let a$1=useMemo(()=>t.find(l=>(l.filter_field_name??l.name)===e.fieldName),[t,e.fieldName]),m=useMemo(()=>a$1?.available_filter_conditions||[],[a$1]),s=useMemo(()=>!e.fieldName||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",[e.fieldName,e.conditional]),p=useCallback(l=>{let u=t.find(A=>(A.filter_field_name??A.name)===l);if(!u)return;let L=u.available_filter_conditions[0]||"EQUALS";o({...e,fieldName:l,conditional:L,value:[]});},[t,e,o]),f=useCallback(l=>{o({...e,conditional:l});},[e,o]),d=useCallback(l=>{o({...e,value:l?[l]:[]});},[e,o]),c=useCallback(l=>{o({...e,operator:l});},[e,o]);return jsxs(Nt,{direction:"row",spacing:1,alignItems:"center",children:[jsx(je,{onClick:r,size:"small","aria-label":"Remover filtro",sx:{flexShrink:0},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18})}),jsx(it,{value:e.operator,onChange:c,totalConditions:n,isFirst:i}),jsxs(fe,{size:"small",sx:{minWidth:150,flex:1},children:[jsx(Ce,{id:`field-label-${e.id}`,children:"Coluna"}),jsx(ge,{labelId:`field-label-${e.id}`,label:"Coluna",value:e.fieldName,onChange:l=>p(l.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:t.map(l=>jsx($,{value:l.filter_field_name??l.name,sx:O,title:l.description||l.name,children:l.description||l.name},l.name))})]}),jsxs(fe,{size:"small",sx:{minWidth:90},disabled:!e.fieldName,children:[jsx(Ce,{id:`condition-label-${e.id}`,children:"Condi\xE7\xE3o"}),jsx(ge,{labelId:`condition-label-${e.id}`,label:"Condi\xE7\xE3o",value:e.conditional,onChange:l=>f(l.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:m.map(l=>jsx($,{value:l,sx:O,children:ot[l]||l},l))})]}),a$1?.type==="BOOLEAN"?jsxs(fe,{size:"small",sx:{flex:1,minWidth:120},disabled:s,children:[jsx(Ce,{id:`value-label-${e.id}`,children:"Valor"}),jsxs(ge,{labelId:`value-label-${e.id}`,label:"Valor",value:e.value[0]||"",onChange:l=>d(l.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:[jsx($,{value:"true",children:"Verdadeiro"}),jsx($,{value:"false",children:"Falso"})]})]}):jsx(tr,{label:"Filtro",value:e.value[0]||"",onChange:l=>d(l.target.value),size:"small",disabled:s,InputLabelProps:{shrink:!0},sx:{flex:1,minWidth:120}})]})},nt=memo(or,Go);var ar=({filterableFields:e,conditions:t,onUpdateCondition:o,onRemoveCondition:r})=>{let n=useCallback(s=>{o(s.id,s);},[o]),i=useCallback(s=>()=>{r(s);},[r]),a=useMemo(()=>t.map(s=>s.fieldName).filter(s=>!!s),[t]),m=useCallback(s=>e.filter(p=>!a.includes(p.name)||p.name===s),[e,a]);return e.length===0?jsx(Se,{variant:"body2",color:"text.secondary",textAlign:"center",children:"Nenhum filtro dispon\xEDvel"}):t.length===0?jsxs(Se,{variant:"body2",color:"text.secondary",textAlign:"center",children:["Clique em"," ",jsx(Se,{component:"strong",variant:"body2",fontWeight:600,color:"text.primary",children:'"+"'})," ","para adicionar um filtro"]}):jsx(Fragment,{children:t.map((s,p)=>jsx(nt,{condition:s,fields:m(s.fieldName),onChange:n,onRemove:i(s.id),showOperator:p>0,totalConditions:t.length,isFirst:p===0},s.id))})},at=memo(ar,Go);var lt=styled(X)({display:"flex",flexDirection:"column",height:"100%"}),st=styled(X)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)})),mt=styled(X)(({theme:e})=>({flex:1,overflowY:"auto",padding:e.spacing(3),display:"flex",flexDirection:"column",gap:e.spacing(2)})),dt=styled(X)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2)}));var fr=({onClose:e,fields:t,conditions:o,onAddCondition:r,onUpdateCondition:n,onRemoveCondition:i,onApply:a$1,onClear:m,onCancel:s})=>{let p=Ze(t),f=o.length>0,d=useCallback(()=>{a$1(),e();},[a$1,e]),c=useCallback(()=>{m(),e();},[m,e]),l=useCallback(()=>{s();},[s]);return jsxs(lt,{children:[jsxs(st,{children:[jsx(Se,{variant:"overline",fontWeight:600,color:"text.secondary",children:"Defina as condi\xE7\xF5es para filtrar"}),jsx(je,{onClick:r,size:"small","aria-label":"Adicionar filtro",title:"Adicionar filtro",disabled:o.length>=p.length,children:jsx(a,{icon:"SIMPLE_ADD"})})]}),jsx(pt,{}),jsx(mt,{children:jsx(at,{filterableFields:p,conditions:o,onUpdateCondition:n,onRemoveCondition:i})}),jsx(pt,{}),jsxs(dt,{children:[jsx(Fe,{variant:"text",color:"inherit",onClick:c,children:"Limpar"}),jsxs(Nt,{direction:"row",spacing:1,children:[jsx(Fe,{variant:"outlined",color:"inherit",onClick:l,startIcon:jsx(a,{icon:"CANCEL_CIRCLE"}),children:"Cancelar"}),jsx(Fe,{variant:"contained",onClick:d,disabled:!f,startIcon:jsx(a,{icon:"SIMPLE_CHECK"}),children:"Aplicar"})]})]})]})},ct=memo(fr,Go);var yr=e=>jsx(a$1,{open:e.open,onClose:e.onClose,anchorEl:e.anchorEl,isMobile:e.isMobileProp,popoverProps:{slotProps:{paper:{sx:{width:520,maxWidth:"calc(100vw - 24px)",maxHeight:600,mt:1}}}},drawerProps:{anchor:"right",PaperProps:{sx:{width:"100%",maxWidth:"100%",height:"100%",maxHeight:"100%",borderRadius:0}}},children:jsx(ct,{...e})}),ft=memo(yr,Go);var Fr=({showFilterButton:e,isOpen:t,filterAnchorEl:o,fields:r,conditions:n,isMobile:i,onClose:a,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:p,onApply:f,onClear:d,onCancel:c})=>e?jsx(ft,{open:t||!!o,anchorEl:o,onClose:a,fields:r,conditions:n,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:p,onApply:f,onClear:d,onCancel:c,isMobileProp:i}):null,Ct=memo(Fr,Go);var gt=styled(Tr)(()=>({"& .MuiDialog-paper":{width:"100%"}})),yt=styled(xr)(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),St=styled(Dr)(({theme:e})=>({padding:e.spacing(2)})),bt=styled(Rr)(({theme:e})=>({borderTop:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),Ft=styled(Fe)(({theme:e})=>({minWidth:24,[e.breakpoints.down(330)]:{padding:e.spacing(1)}})),he=styled(Se)(({theme:e})=>({fontWeight:"600",margin:e.spacing(0,1),[e.breakpoints.down(330)]:{fontSize:0,margin:0}}));var At=({open:e,onClose:t,fields:o,sort:r,onSortChange:n})=>{let[i,a$1]=useState(r?.fieldName||""),[m,s]=useState(r?.sortType||"ASC"),p=useMemo(()=>o.filter(u=>u.name!=="ACTIONS"&&u.access_type!=="WRITE_ONLY"),[o]),f=useMemo(()=>o.find(u=>(u.filter_field_name??u.name)===i),[o,i]),d=f?.type==="DECIMAL"||f?.type==="INTEGER";useEffect(()=>{e&&(a$1(r?.fieldName||""),s(r?.sortType||"ASC"));},[e,r]);let c=useCallback(()=>{n&&n(i?{fieldName:i,sortType:m}:void 0),t();},[n,i,m,t]),l=useCallback(()=>{n&&(a$1(""),s("ASC"),n(void 0),t());},[n,t]);return jsxs(gt,{open:e,onClose:t,maxWidth:"xs",fullWidth:!0,children:[jsx(yt,{children:jsx(Se,{variant:"overline",color:"text.secondary",children:"Ordenar por"})}),jsx(St,{children:jsxs(Nt,{spacing:2,pt:2,children:[jsxs(fe,{fullWidth:!0,size:"small",children:[jsx(Ce,{id:"sort-field-label",children:"Campo"}),jsxs(ge,{labelId:"sort-field-label",value:i,label:"Campo",onChange:u=>a$1(u.target.value),children:[jsx($,{value:"",children:jsx("em",{children:"Nenhum"})}),p.map(u=>jsx($,{value:u.filter_field_name??u.name,children:u.description||u.name},u.name))]})]}),jsxs(fe,{fullWidth:!0,size:"small",disabled:!i,children:[jsx(Ce,{id:"sort-direction-label",children:"Dire\xE7\xE3o"}),jsxs(ge,{labelId:"sort-direction-label",value:m,label:"Dire\xE7\xE3o",onChange:u=>s(u.target.value),children:[jsxs($,{value:"ASC",children:["Crescente ",d?"(1-9)":"(A-Z)"]}),jsxs($,{value:"DESC",children:["Decrescente ",d?"(9-1)":"(Z-A)"]})]})]})]})}),jsxs(bt,{children:[jsx(Nt,{flex:1,width:"100%",direction:"row",children:jsx(Fe,{color:"inherit",onClick:l,children:"Limpar"})}),jsxs(Fe,{onClick:t,variant:"outlined",color:"inherit",sx:{minWidth:24},children:[jsx(a,{icon:"CANCEL_CIRCLE"}),jsx(he,{children:"Cancelar"})]}),jsxs(Ft,{onClick:c,variant:"contained",children:[jsx(a,{icon:"SIMPLE_CHECK"}),jsx(he,{children:"Aplicar"})]})]})]})};At.displayName="SortModal";var Et=memo(At);var vt=({columns:e,fields:t,preferredFieldOrder:o})=>{let r=useMemo(()=>new Map(e.map(a=>[a.field,a])),[e]),n=useMemo(()=>new Map(t?.map(a=>[a.name,a])||[]),[t]);return {orderedColumns:useMemo(()=>{if(!o||o.length===0||!t)return e;let a="ACTIONS",m=o.filter(d=>d!==a),s=new Set,p=[],f=d=>{let c=n.get(d);if(!c)return;let l=r.get(c.name);!l||s.has(c.name)||(p.push(l),s.add(c.name));};return m.forEach(d=>{f(d);}),t.forEach(d=>{if(d.name===a||m.includes(d.name))return;let c=r.get(d.name);!c||s.has(d.name)||(p.push(c),s.add(d.name));}),f(a),p.length===0?e:p},[e,r,n,o,t]),columnsByFieldId:r,fieldsByName:n}};function wr(e){return e.name}var Mt=({fields:e,columnsByFieldId:t,defaultVisibleFieldNames:o,columnVisibilityStorageKey:r,onColumnVisibilityModelChange:n})=>{let i=!!r,[a,m]=a$4(r||"__dynamic-data-view:columns__",void 0,{initializeWithValue:i}),s=useMemo(()=>{if(!e)return;let f={};if(e.forEach(d=>{let c=wr(d);if(!t.has(c))return;let l;if(i&&a){let u=a[c];typeof u=="boolean"&&(l=u);}l===void 0&&o&&o.length>0&&(l=o.includes(d.name)),typeof l=="boolean"&&(f[c]=l);}),Object.keys(f).length!==0)return {columns:{columnVisibilityModel:f}}},[t,o,e,i,a]),p=useCallback(f=>{if(i){let d={...f};delete d.__check__,m(d);}n&&n(f);},[i,n,m]);return {initialState:s,handleColumnVisibilityModelChange:p}};var N={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},Te={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},wt=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Lr=(e,t)=>({field:e.name,headerName:e.description,sortable:!1,width:N.IMAGE_WIDTH,resizable:!1,headerAlign:"center",align:"center",renderCell:o=>t(e,o.row)}),Pr=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.ID_MIN_WIDTH,flex:N.ID_FLEX,renderCell:o=>t(e,o.row)}),Or=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.ENTITY_MIN_WIDTH,flex:N.ENTITY_FLEX,renderCell:o=>t(e,o.row)}),kr=(e,t)=>({field:e.name,headerName:e.description,minWidth:N.MIN_WIDTH,renderCell:o=>t(e,o.row)}),Br=(e,t)=>({field:e.name,headerName:"A\xE7\xF5es",width:N.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:o=>t(e,o.row)}),Lt=(e,t)=>e.name===t?.id_field_name||e.name==="name"?Pr:e.name==="ACTIONS"?Br:e.type==="FILE"?Lr:e.type==="ENTITY"?Or:kr;var Pt=({metadata:e,renderCell:t,columnStrategies:o})=>useMemo(()=>{if(!e?.fields)return [];let r=new Map;return e.fields.filter(i=>i.access_type===Te.READ_ONLY||i.access_type===Te.READ_AND_WRITE?!0:i.name==="ACTIONS"||i.name===e?.id_field_name||i.name==="NAME").forEach(i=>{if(r.has(i.name))return;let m=(o?.[i.name]??Lt(i,e))(i,t,e);r.set(i.name,m);}),Array.from(r.values())},[o,e,t]);var Ot=e=>e?.groups?.[0]?.conditionals?e.groups[0].conditionals.map(t=>({id:a$5(),operator:e.groups[0].operator,fieldName:t.fieldName,conditional:t.conditional,value:t.value})):[],kt=({fields:e,initialFilter:t})=>{let[o,r]=useState(!1),[n,i]=useState(()=>Ot(t)),[a,m]=useState(t),[s,p]=useState(()=>Ot(t)),f=useRef([]),d=useCallback(()=>{f.current=n.map(C=>({...C})),p(n.map(C=>({...C}))),r(!0);},[n]),c=()=>r(!1),l=useCallback(()=>{let C=e.filter(R=>R.available_filter_conditions?.length>0);if(C.length===0)return;let S=s.map(R=>R.fieldName),h=C.filter(R=>!S.includes(R.filter_field_name??R.name));if(h.length===0)return;let E=s.length>0?s[0].operator:"AND",b=h[0],x={id:a$5(),operator:E,fieldName:b.filter_field_name??b.name,conditional:et(b),value:[]};p(R=>[...R,x]);},[e,s]),u=useCallback((C,S)=>{p(h=>{let E=h.find(b=>b.id===C);if(!E)return h;if(S.operator&&S.operator!==E.operator){let b=S.operator;return h.map(x=>x.id===C?{...x,...S}:{...x,operator:b})}return h.map(b=>b.id===C?{...b,...S}:b)});},[]),L=useCallback(C=>{p(S=>S.filter(h=>h.id!==C));},[]),A=()=>{p([]),i([]),m(void 0);},re=()=>{let C=tt(s);return i(s.map(S=>({...S}))),m(C),r(!1),C},ie=()=>{p(f.current.map(C=>({...C}))),r(!1);},ne=n.some(Y),ae=n.filter(Y).length;return {conditions:s,filter:a,isOpen:o,hasActiveFilters:ne,activeFiltersCount:ae,openDrawer:d,closeDrawer:c,addCondition:l,updateCondition:u,removeCondition:L,clearAllFilters:A,applyFilters:re,cancelChanges:ie}};var Vt=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):void 0}catch{return}},Ut=(e,t)=>{try{t===void 0?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t));}catch{}},Ht=(e,t,o)=>{let r=`${e}:filter`,[n,i]=useState(()=>Vt(r)||t);useEffect(()=>{t!==void 0&&i(t);},[t]);let a=useCallback(m=>{i(m),Ut(r,m),o?.(m);},[r,o]);return {filter:n,setFilter:a}},zt=(e,t,o)=>{let r=`${e}:sort`,[n,i]=useState(()=>Vt(r)||t);useEffect(()=>{t!==void 0&&i(t);},[t]);let a=useCallback(m=>{i(m),Ut(r,m),o?.(m);},[r,o]);return {sort:n,setSort:a}};var Hr=(e,t)=>e?e.find(r=>r.name===t)?.filter_field_name??t:t,zr=(e,t)=>e?e.find(r=>r.filter_field_name===t||r.name===t)?.name??t:t,Yt=({sort:e,onSortChange:t,fields:o})=>{let r=useMemo(()=>e?[{field:zr(o,e.fieldName),sort:e.sortType.toLowerCase()}]:[],[e,o]),n=useCallback(i=>{if(!t)return;let a=i[0];if(!a||!a.sort){t(void 0);return}let m={fieldName:Hr(o,a.field),sortType:a.sort.toUpperCase()};t(m);},[t,o]);return {sortModel:r,handleSortModelChange:n}};var qt=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),Re=e=>e.fields.some(o=>o.name==="ACTIONS")?e:{...e,fields:[...e.fields,qt()]};var qr=({value:e,format:t})=>e==null?"-":d(e,t),De=memo(qr);var Kr=({value:e,format:t})=>e==null?"-":c(e,t),xe=memo(Kr);var jr=({value:e,field:t})=>{if(!t.metadata||typeof e!="object"||e===null)return e?String(e):"-";let o=e[t.metadata.description_field_name];return o?jsx(Qr,{label:String(o),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},_e=memo(jr);var ei=({value:e,trueIcon:t="STAR_02",falseIcon:o="STAR",color:r="primary.main",width:n=18})=>jsx(a,{icon:e?t:o,color:r,width:n}),ti=memo(ei);var Kt=styled("span")(({theme:e,isActive:t})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",padding:e.spacing(.2,1),borderRadius:e.shape.borderRadius,fontSize:"0.75rem",fontWeight:600,width:"fit-content",height:"auto",lineHeight:"1.25rem",whiteSpace:"nowrap",margin:"auto",backgroundColor:t?e.palette.success.lighter||"#00A76F29":e.palette.warning.lighter||"#FF563029",color:t?e.palette.success.darker||"#007867":e.palette.warning.darker||"#B71D18"})),Xt=styled(X,{shouldForwardProp:e=>!["size","noImage","clickable"].includes(e)})(({theme:e,size:t,noImage:o,clickable:r})=>({width:t,height:t,minWidth:t,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",cursor:r?"pointer":"default",transition:"opacity 0.2s ease-in-out",color:e.palette.text.disabled,...o&&{border:`1px dashed ${e.palette.divider}`,backgroundColor:e.palette.grey[100]},...r&&{"&:hover":{opacity:.8}},"& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"},[e.breakpoints.down("sm")]:{justifyContent:"flex-start",alignItems:"flex-start"}}));var ni=({imageResourceId:e,getImageUrl:t,size:o=48,alt:r="Imagem",onClick:n,sx:i})=>{let a$1=!!e,m=a$1&&t?t(e):void 0;return jsx(Xt,{size:o,noImage:!a$1,clickable:!!n,onClick:n,sx:i,children:m?jsx("img",{src:m,alt:r}):jsx(a,{icon:"SEARCH_IMAGE",width:Math.round(o/2),color:"text.disabled"})})},ai=memo(ni);var si=({id:e,displayName:t,copyMessage:o="ID copiado!"})=>jsxs(Nt,{height:1,justifyContent:"center",children:[jsx(Se,{variant:"subtitle2",noWrap:!0,title:t,children:t}),jsxs(Nt,{direction:"row",gap:1,alignItems:"center",children:[jsxs(Se,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:o})]})]}),mi=memo(si);var ui=({value:e,isCurrency:t=!1})=>e==null?"-":jsx(Nt,{direction:"row",alignItems:"center",height:"100%",children:jsx(Se,{variant:"body2",noWrap:!0,width:"fit-content",children:t?h(Number(e)):a$3(Number(e))})}),Ee=memo(ui);var Ci=({active:e,activeLabel:t="Ativo",inactiveLabel:o="Inativo"})=>jsx(Kt,{isActive:e,children:e?t:o}),ve=memo(Ci);var Fi=e=>e.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim(),hi=({value:e,showCopyButton:t=!1,copyMessage:o="Copiado",copyLabel:r,mask:n})=>{if(!e)return "-";let i=String(e),a=n?n(i):Fi(i);return t?jsxs(Nt,{direction:"row",gap:1,alignItems:"center",children:[jsx(Se,{variant:"body2",noWrap:!0,children:a}),jsx(a$2,{toCopy:i,message:o,label:r})]}):a},Me=memo(hi);function Ti(e){return wt.includes(e)}var to=e=>{let{onRowAction:t}=e,o=(r,n)=>{let i=n[r.name];if(r.name==="ACTIONS")return t?.(n.id,n);switch(r.type){case"BOOLEAN":return jsx(ve,{active:!!i,activeLabel:"Ativo",inactiveLabel:"Inativo"});case"DATE":return jsx(De,{value:i});case"DATETIME":return jsx(xe,{value:i});case"DECIMAL":case"INTEGER":return jsx(Ee,{value:i,isCurrency:Ti(r.name)});case"FILE":case"ENTITY":return jsx(_e,{value:i,field:r});case"TEXT":default:return jsx(Me,{value:i})}};return o.displayName="CellRendererComponent",o};var xi=({title:e,metadata:t,data:o,isLoading:r,isFetching:n,page:i,perPage:a,searchValue:m,onSearchChange:s,onSearch:p,onPaginationChange:f,onAdd:d,onRowAction:c,onRowDoubleClick:l,actions:u,moreActions:L,bulkActions:A,rowSelectionModel:re,onRowSelectionModelChange:ie,slots:ne,mobileRender:ae,containerHeight:C=600,showColumnButton:S=!1,showFilterButton:h=!1,filter:E,onFilterChange:b$1,sort:x,onSortChange:R,defaultVisibleFieldNames:no,preferredFieldOrder:ao,columnStrategies:lo,onColumnVisibilityModelChange:so,storageKey:le})=>{let{items:B=[],total:mo=0}=o||{},W=useMemo(()=>{if(t)return t;if(B.length>0){let _=B[0],H=Object.keys(_).map(Ge=>({name:Ge,type:"TEXT",description:Ge,filter_field_name:null,metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}));return {name:"loading",description:"Loading...",id_field_name:"id",description_field_name:H[0]?.name||"id",access_type:"READ_ONLY",fields:H}}},[t,B]),P=useMemo(()=>W&&c?Re(W):W,[W,c]),G=useMemo(()=>P?.fields||[],[P]),po=useMemo(()=>to({onRowAction:c}),[c]),co=Pt({metadata:P,renderCell:po,columnStrategies:lo}),{orderedColumns:uo,columnsByFieldId:fo}=vt({columns:co,fields:P?.fields,preferredFieldOrder:ao}),{initialState:Co,handleColumnVisibilityModelChange:go}=Mt({fields:P?.fields,columnsByFieldId:fo,defaultVisibleFieldNames:no,columnVisibilityStorageKey:`${le}:columns`,onColumnVisibilityModelChange:so}),yo=useCallback(_=>{if(!l)return;let H=_.id?.toString()||"";l(H,_.row);},[l]),V=b("down","md"),[So,se]=useState(null),{filter:bo,setFilter:U}=Ht(le,E,b$1),{sort:Fo,setSort:we}=zt(le,x,R),ho=E??bo,me=x??Fo,{sortModel:Io,handleSortModelChange:To}=Yt({sort:me,onSortChange:we,fields:G}),{conditions:Ro,isOpen:Do,openDrawer:de,closeDrawer:Le,addCondition:xo,updateCondition:_o,removeCondition:No,clearAllFilters:Pe,applyFilters:Oe,cancelChanges:ke,hasActiveFilters:Ao,activeFiltersCount:Eo}=kt({fields:G,initialFilter:ho}),vo=useCallback(()=>{let _=Oe();U(_);},[Oe,U]),Mo=useCallback(()=>{Pe(),U(void 0);},[Pe,U]),wo=useCallback(_=>{V?de():(de(),se(_.currentTarget));},[V,de]),Lo=useCallback(()=>{ke(),se(null);},[ke]),[Po,Be]=useState(!1),Oo=useCallback(()=>{se(null),Le();},[Le]),We=!!A?.length;return jsxs(Fragment,{children:[jsx(d$1,{title:e,columns:uo,rows:B,mobileRender:ae,rowCount:mo,loading:r||!t,fetching:n,searchValue:m,onSearch:p,onSearchChange:s,paginationModel:{page:i,pageSize:a},onPaginationChange:f,actions:u,moreActions:L,onAdd:d,onRowDoubleClick:l?yo:void 0,bulkActions:A,checkboxSelection:We,rowSelectionModel:re,onRowSelectionModelChange:ie,keepNonExistentRowsSelected:We,disableRowSelectionOnClick:!0,slots:ne,initialState:Co,showColumnButton:S,containerProps:{height:C,maxHeight:C},onColumnVisibilityModelChange:go,filterButton:jsx(Je,{showFilterButton:h,isMobile:V,hasActiveFilters:Ao,activeFiltersCount:Eo,sort:me,onFilterClick:wo,onSortClick:()=>Be(!0)}),sortingMode:"server",sortModel:Io,onSortModelChange:To,disableColumnFilter:!0}),t&&jsxs(Fragment,{children:[jsx(Ct,{showFilterButton:h,isOpen:Do,filterAnchorEl:So,fields:G,conditions:Ro,isMobile:V,onClose:Oo,onAddCondition:xo,onUpdateCondition:_o,onRemoveCondition:No,onApply:vo,onClear:Mo,onCancel:Lo}),jsx(Et,{open:Po,onClose:()=>Be(!1),fields:G,sort:me,onSortChange:we})]})]})},_i=memo(xi,Go);var Ni=({metadata:e,columnVisibilityModel:t,defaultVisibleFields:o})=>{if(!e?.fields)return;let n=e.fields.map(i=>i.name).filter(i=>i==="ACTIONS"?!1:t?t[i]!==!1:o?.includes(i)??!0);return o?n.sort((i,a)=>{let m=o.indexOf(i),s=o.indexOf(a);return m-s||0}):n};
|
|
57
57
|
|
|
58
|
-
export { De as DateRenderer, xe as DateTimeRenderer, _e as EntityRenderer,
|
|
58
|
+
export { De as DateRenderer, xe as DateTimeRenderer, _e as EntityRenderer, ti as IconRenderer, ai as ImageRenderer, mi as NameRenderer, Ee as NumberRenderer, ve as StatusRenderer, Me as TextRenderer, Re as addActionsFieldToMetadata, Ni as buildVisibleFields, qt as createActionsField, _i as default };
|
|
59
59
|
//# sourceMappingURL=index.js.map
|