@zydon/common 2.9.39 → 2.9.40

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.
Files changed (38) hide show
  1. package/dist/chunk-BBLPAVHA.js +8 -0
  2. package/dist/chunk-BBLPAVHA.js.map +1 -0
  3. package/dist/chunk-FCKDOHEL.js +16 -0
  4. package/dist/chunk-FCKDOHEL.js.map +1 -0
  5. package/dist/chunk-JYHO7CDG.js +9 -0
  6. package/dist/chunk-JYHO7CDG.js.map +1 -0
  7. package/dist/components/Analytics/Carts/index.d.ts +2 -1
  8. package/dist/components/Analytics/Carts/index.js +23 -23
  9. package/dist/components/Analytics/Carts/index.js.map +1 -1
  10. package/dist/components/Analytics/OrderProjection/index.d.ts +2 -1
  11. package/dist/components/Analytics/OrderProjection/index.js +29 -28
  12. package/dist/components/Analytics/OrderProjection/index.js.map +1 -1
  13. package/dist/components/Analytics/PartnerAnalysis/index.d.ts +2 -1
  14. package/dist/components/Analytics/index.d.ts +1 -0
  15. package/dist/components/Analytics/index.js +3 -3
  16. package/dist/components/Avatar/index.d.ts +1 -1
  17. package/dist/components/DataView/index.d.ts +1 -1
  18. package/dist/hooks/useCartsFilters.d.ts +2 -1
  19. package/dist/hooks/useCartsFilters.js +1 -1
  20. package/dist/hooks/useOrderProjectionFilters.d.ts +2 -1
  21. package/dist/hooks/useOrderProjectionFilters.js +1 -1
  22. package/dist/hooks/useSnackbar.d.ts +1 -1
  23. package/dist/index.d.ts +2 -2
  24. package/dist/theme/core/index.d.ts +1 -1
  25. package/dist/theme/styles/index.d.ts +13 -13
  26. package/dist/types/carts.d.ts +2 -1
  27. package/dist/types/orderProjection.d.ts +2 -1
  28. package/dist/types/partnerAnalysis.d.ts +2 -1
  29. package/dist/types-15e95556.d.ts +15 -0
  30. package/dist/{useCartsFilters-9eb738ab.d.ts → useCartsFilters-44ddc83e.d.ts} +8 -20
  31. package/dist/{useOrderProjectionFilters-5c1162d5.d.ts → useOrderProjectionFilters-3722b749.d.ts} +13 -24
  32. package/dist/utils/orderProjection.d.ts +2 -1
  33. package/package.json +1 -1
  34. package/dist/chunk-5GXRPVV5.js +0 -9
  35. package/dist/chunk-5GXRPVV5.js.map +0 -1
  36. package/dist/chunk-KJJDGCL4.js +0 -8
  37. package/dist/chunk-KJJDGCL4.js.map +0 -1
  38. package/dist/{index-c8f1e6e7.d.ts → index-5a5e5dc8.d.ts} +12 -12
@@ -0,0 +1,8 @@
1
+ import { c } from './chunk-UWTX4JMW.js';
2
+ import { a } from './chunk-HFDGIEZC.js';
3
+ import { useState, useMemo, useCallback } from 'react';
4
+
5
+ var x=()=>{let{apiRef:i}=a(),[t,_]=useState(c),[a$1,F]=useState([]),[p,g]=useState([]),[u,y]=useState([]),[e,C]=useState([]),[r,h]=useState(null),l=useMemo(()=>p.map(s=>s.id),[p]),o=useMemo(()=>u.map(s=>s.id),[u]),D=useMemo(()=>({start_date:t.start_date,end_date:t.end_date,...l.length>0?{partner_ids:l}:{},...o.length>0?{seller_ids:o}:{},...e.length>0?{statuses:e}:{},...r?{profile_type:r}:{},...a$1.length>0&&a$1[0].sort?{sort_by:a$1[0].field,ascending:a$1[0].sort==="asc"}:{}}),[t.start_date,t.end_date,l,o,e,r,a$1]),M=useMemo(()=>({start_date:t.start_date,end_date:t.end_date,...l.length>0?{partner_ids:l}:{},...o.length>0?{seller_ids:o}:{},...e.length>0?{statuses:e}:{},...r?{profile_type:r}:{}}),[t.start_date,t.end_date,l,o,e,r]),d=useCallback(()=>{i.current&&i.current.scrollToIndexes({rowIndex:0,colIndex:0});},[i]),P=useCallback(s=>{_(s),d();},[d]),R=useCallback(s=>{F(s),d();},[d]);return {apiRef:i,dateFilter:t,handleDateFilterChange:P,selectedPartners:p,setSelectedPartners:g,selectedSellers:u,setSelectedSellers:y,selectedStatuses:e,setSelectedStatuses:C,selectedProfile:r,setSelectedProfile:h,sortModel:a$1,handleSortModelChange:R,params:D,summaryParams:M,scrollToTop:d}},A=x;
6
+
7
+ export { A as a };
8
+ //# sourceMappingURL=chunk-BBLPAVHA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/useCartsFilters.ts"],"names":["useCallback","useMemo","useState","useCartsFilters","apiRef","useDatagrid_default","dateFilter","setDateFilter","getDefaultFilterDateState","sortModel","setSortModel","selectedPartners","setSelectedPartners","selectedSellers","setSelectedSellers","selectedStatuses","setSelectedStatuses","selectedProfile","setSelectedProfile","partnerIds","partner","sellerIds","seller","params","summaryParams","scrollToTop","handleDateFilterChange","value","handleSortModelChange","model","useCartsFilters_default"],"mappings":"gFAAA,OAAS,eAAAA,EAAa,WAAAC,EAAS,YAAAC,MAAgB,QAU/C,IAAMC,EAAkB,IAAM,CAC5B,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAY,EAEzB,CAACC,EAAYC,CAAa,EAAIL,EAClCM,CACF,EACM,CAACC,EAAWC,CAAY,EAAIR,EAAwB,CAAC,CAAC,EACtD,CAACS,EAAkBC,CAAmB,EAAIV,EAE9C,CAAC,CAAC,EACE,CAACW,EAAiBC,CAAkB,EAAIZ,EAE5C,CAAC,CAAC,EACE,CAACa,EAAkBC,CAAmB,EAAId,EAAuB,CAAC,CAAC,EACnE,CAACe,EAAiBC,CAAkB,EAAIhB,EAAyB,IAAI,EAErEiB,EAAalB,EACjB,IAAMU,EAAiB,IAAIS,GAAWA,EAAQ,EAAE,EAChD,CAACT,CAAgB,CACnB,EAEMU,EAAYpB,EAChB,IAAMY,EAAgB,IAAIS,GAAUA,EAAO,EAAE,EAC7C,CAACT,CAAe,CAClB,EAEMU,EAAStB,EACb,KAAO,CACL,WAAYK,EAAW,WACvB,SAAUA,EAAW,SACrB,GAAIa,EAAW,OAAS,EAAI,CAAE,YAAaA,CAAW,EAAI,CAAC,EAC3D,GAAIE,EAAU,OAAS,EAAI,CAAE,WAAYA,CAAU,EAAI,CAAC,EACxD,GAAIN,EAAiB,OAAS,EAAI,CAAE,SAAUA,CAAiB,EAAI,CAAC,EACpE,GAAIE,EAAkB,CAAE,aAAcA,CAAgB,EAAI,CAAC,EAC3D,GAAIR,EAAU,OAAS,GAAKA,EAAU,CAAC,EAAE,KACrC,CACE,QAASA,EAAU,CAAC,EAAE,MACtB,UAAWA,EAAU,CAAC,EAAE,OAAS,KACnC,EACA,CAAC,CACP,GACA,CACEH,EAAW,WACXA,EAAW,SACXa,EACAE,EACAN,EACAE,EACAR,CACF,CACF,EAEMe,EAAgBvB,EACpB,KAAO,CACL,WAAYK,EAAW,WACvB,SAAUA,EAAW,SACrB,GAAIa,EAAW,OAAS,EAAI,CAAE,YAAaA,CAAW,EAAI,CAAC,EAC3D,GAAIE,EAAU,OAAS,EAAI,CAAE,WAAYA,CAAU,EAAI,CAAC,EACxD,GAAIN,EAAiB,OAAS,EAAI,CAAE,SAAUA,CAAiB,EAAI,CAAC,EACpE,GAAIE,EAAkB,CAAE,aAAcA,CAAgB,EAAI,CAAC,CAC7D,GACA,CACEX,EAAW,WACXA,EAAW,SACXa,EACAE,EACAN,EACAE,CACF,CACF,EAEMQ,EAAczB,EAAY,IAAM,CAChCI,EAAO,SACTA,EAAO,QAAQ,gBAAgB,CAAE,SAAU,EAAG,SAAU,CAAE,CAAC,CAE/D,EAAG,CAACA,CAAM,CAAC,EAELsB,EAAyB1B,EAC5B2B,GAA2B,CAC1BpB,EAAcoB,CAAK,EACnBF,EAAY,CACd,EACA,CAACA,CAAW,CACd,EAEMG,EAAwB5B,EAC3B6B,GAAyB,CACxBnB,EAAamB,CAAK,EAClBJ,EAAY,CACd,EACA,CAACA,CAAW,CACd,EAEA,MAAO,CACL,OAAArB,EAEA,WAAAE,EACA,uBAAAoB,EAEA,iBAAAf,EACA,oBAAAC,EAEA,gBAAAC,EACA,mBAAAC,EAEA,iBAAAC,EACA,oBAAAC,EAEA,gBAAAC,EACA,mBAAAC,EAEA,UAAAT,EACA,sBAAAmB,EAEA,OAAAL,EACA,cAAAC,EAEA,YAAAC,CACF,CACF,EAIOK,EAAQ3B","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { GridSortModel } from '@mui/x-data-grid-premium';\n\nimport { AnalyticsFilterOption } from 'components/Analytics/types';\nimport useDatagrid from 'hooks/useDatagrid';\nimport { FilterDateState } from 'types/analytics';\nimport { CartsRequest, CartsSummaryRequest } from 'types/carts';\nimport { CartStatus, Profile } from 'utils/carts';\nimport { getDefaultFilterDateState } from 'utils/periodDates';\n\nconst useCartsFilters = () => {\n const { apiRef } = useDatagrid();\n\n const [dateFilter, setDateFilter] = useState<FilterDateState>(\n getDefaultFilterDateState,\n );\n const [sortModel, setSortModel] = useState<GridSortModel>([]);\n const [selectedPartners, setSelectedPartners] = useState<\n AnalyticsFilterOption[]\n >([]);\n const [selectedSellers, setSelectedSellers] = useState<\n AnalyticsFilterOption[]\n >([]);\n const [selectedStatuses, setSelectedStatuses] = useState<CartStatus[]>([]);\n const [selectedProfile, setSelectedProfile] = useState<Profile | null>(null);\n\n const partnerIds = useMemo(\n () => selectedPartners.map(partner => partner.id),\n [selectedPartners],\n );\n\n const sellerIds = useMemo(\n () => selectedSellers.map(seller => seller.id),\n [selectedSellers],\n );\n\n const params = useMemo<CartsRequest>(\n () => ({\n start_date: dateFilter.start_date,\n end_date: dateFilter.end_date,\n ...(partnerIds.length > 0 ? { partner_ids: partnerIds } : {}),\n ...(sellerIds.length > 0 ? { seller_ids: sellerIds } : {}),\n ...(selectedStatuses.length > 0 ? { statuses: selectedStatuses } : {}),\n ...(selectedProfile ? { profile_type: selectedProfile } : {}),\n ...(sortModel.length > 0 && sortModel[0].sort\n ? {\n sort_by: sortModel[0].field,\n ascending: sortModel[0].sort === 'asc',\n }\n : {}),\n }),\n [\n dateFilter.start_date,\n dateFilter.end_date,\n partnerIds,\n sellerIds,\n selectedStatuses,\n selectedProfile,\n sortModel,\n ],\n );\n\n const summaryParams = useMemo<CartsSummaryRequest>(\n () => ({\n start_date: dateFilter.start_date,\n end_date: dateFilter.end_date,\n ...(partnerIds.length > 0 ? { partner_ids: partnerIds } : {}),\n ...(sellerIds.length > 0 ? { seller_ids: sellerIds } : {}),\n ...(selectedStatuses.length > 0 ? { statuses: selectedStatuses } : {}),\n ...(selectedProfile ? { profile_type: selectedProfile } : {}),\n }),\n [\n dateFilter.start_date,\n dateFilter.end_date,\n partnerIds,\n sellerIds,\n selectedStatuses,\n selectedProfile,\n ],\n );\n\n const scrollToTop = useCallback(() => {\n if (apiRef.current) {\n apiRef.current.scrollToIndexes({ rowIndex: 0, colIndex: 0 });\n }\n }, [apiRef]);\n\n const handleDateFilterChange = useCallback(\n (value: FilterDateState) => {\n setDateFilter(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleSortModelChange = useCallback(\n (model: GridSortModel) => {\n setSortModel(model);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n return {\n apiRef,\n\n dateFilter,\n handleDateFilterChange,\n\n selectedPartners,\n setSelectedPartners,\n\n selectedSellers,\n setSelectedSellers,\n\n selectedStatuses,\n setSelectedStatuses,\n\n selectedProfile,\n setSelectedProfile,\n\n sortModel,\n handleSortModelChange,\n\n params,\n summaryParams,\n\n scrollToTop,\n };\n};\n\nexport type UseCartsFiltersReturn = ReturnType<typeof useCartsFilters>;\n\nexport default useCartsFilters;\n"]}
@@ -0,0 +1,16 @@
1
+ import { a as a$2, b, c } from './chunk-EICUAMNN.js';
2
+ import { a as a$4 } from './chunk-DRGARBKB.js';
3
+ import { a as a$5 } from './chunk-4F2NKGF6.js';
4
+ import { a as a$3 } from './chunk-YHOVSR7P.js';
5
+ import { a } from './chunk-E3R7W7GK.js';
6
+ import { a as a$1 } from './chunk-GGJJ3II3.js';
7
+ import { useState, useMemo, useCallback } from 'react';
8
+ import G from '@mui/material/Chip';
9
+ import J from '@mui/material/Stack';
10
+ import F from '@mui/material/Typography';
11
+ import { jsxs, jsx } from 'react/jsx-runtime';
12
+
13
+ var K=({name:v,title:s,placeholder:C,emptyText:I,testIdPrefix:V,defaultExpanded:w,selected:n,onChange:i,useOptions:D})=>{let[m,E]=a(w),[L,c$1]=useState(""),{buildOptions:u,finishSearch:P,onSearch:W,onSelectValue:d,search:R,searching:l}=a$1(),{items:g,isFetching:r,isLoading:$}=D({search:R,skip:!m}),a$6=useMemo(()=>l||r?[]:u(g.map(({id:o,name:t})=>({value:o,label:t})),r),[u,r,g,l]),q=n.length>0,z=useCallback(o=>{d(a$6,o);let t=typeof o=="string"?o:String(o?.value||""),H=a$6.find(p=>String(p.value)===t)?.label||(typeof o=="string"?o:String(o?.label||""));t&&!n.some(p=>p.id===t)&&i([...n,{id:t,name:H}]),c$1("");},[i,d,a$6,n]),B=useCallback(o=>{i(n.filter(t=>t.id!==o.id));},[i,n]);return jsxs(a$2,{expanded:m,onChange:E,children:[jsx(b,{children:jsx(F,{variant:"body2",fontWeight:"bold",color:"text.primary",children:s})}),jsx(c,{children:jsxs(J,{gap:1,children:[jsx(a$3,{name:v,label:s,placeholder:C,size:"small",options:a$6,isOptionEqualToValue:(o,t)=>o.value===t.value,loading:$,inputValue:L,onInputChange:(o,t)=>c$1(t),onSearch:W,onBlur:P,onChange:z,filterOptions:o=>o,noOptionsText:l||r?"Carregando...":void 0,InputLabelProps:{shrink:!0},fullWidth:!0}),jsx(a$4,{direction:"row",alignItems:"center",flexWrap:"wrap",overflow:"auto",maxHeight:148,p:1.5,sx:{bgcolor:"grey.50"},children:jsx(a$5,{isEmpty:!q,empty:jsx(F,{variant:"body2",color:"text.secondary",children:I}),children:n.map((o,t)=>jsx(G,{variant:"outlined",label:o.name,color:"default",onDelete:()=>B(o),"data-testid":`${V}-${t}`},t))})})]})})]})},io=K;
14
+
15
+ export { io as a };
16
+ //# sourceMappingURL=chunk-FCKDOHEL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Analytics/OptionsFilter/index.tsx"],"names":["useCallback","useMemo","useState","Chip","Stack","Typography","jsx","jsxs","OptionsFilter","name","title","placeholder","emptyText","testIdPrefix","defaultExpanded","selected","onChange","useOptions","expanded","toggleExpanded","useToggle_default","inputValue","setInputValue","buildOptions","finishSearch","onSearch","onSelectValue","search","searching","useAutocomplete_default","items","isFetching","isLoading","options","id","itemName","hasSelected","handleSelectOption","value","optionId","optionLabel","option","item","handleDeleteOption","Accordion","AccordionSummary","AccordionDetails","Autocomplete_default","_","newValue","filtered","SimpleCard_default","Result_default","index","OptionsFilter_default"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport Chip from '@mui/material/Chip';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n} from 'components/Accordion';\nimport { AnalyticsFilterOption } from 'components/Analytics/types';\nimport Autocomplete from 'components/Autocomplete';\nimport Result from 'components/Result';\nimport SimpleCard from 'components/SimpleCard';\nimport useAutocomplete from 'hooks/useAutocomplete';\nimport useToggle from 'hooks/useToggle';\n\nimport { OptionsFilterProps } from './props';\n\nconst OptionsFilter = ({\n name,\n title,\n placeholder,\n emptyText,\n testIdPrefix,\n defaultExpanded,\n selected,\n onChange,\n useOptions,\n}: OptionsFilterProps) => {\n const [expanded, toggleExpanded] = useToggle(defaultExpanded);\n const [inputValue, setInputValue] = useState('');\n\n const {\n buildOptions,\n finishSearch,\n onSearch,\n onSelectValue,\n search,\n searching,\n } = useAutocomplete();\n\n const { items, isFetching, isLoading } = useOptions({\n search,\n skip: !expanded,\n });\n\n const options = useMemo(() => {\n if (searching || isFetching) return [];\n\n return buildOptions(\n items.map(({ id, name: itemName }) => ({\n value: id,\n label: itemName,\n })),\n isFetching,\n );\n }, [buildOptions, isFetching, items, searching]);\n\n const hasSelected = selected.length > 0;\n\n const handleSelectOption = useCallback(\n (value: unknown) => {\n onSelectValue(options, value);\n\n const optionId =\n typeof value === 'string'\n ? value\n : String((value as { value?: string | number } | null)?.value || '');\n\n const selectedOption = options.find(\n (option: { value?: string | number; label?: string }) =>\n String(option.value) === optionId,\n );\n\n const optionLabel =\n selectedOption?.label ||\n (typeof value === 'string'\n ? value\n : String((value as { label?: string } | null)?.label || ''));\n\n if (optionId && !selected.some(item => item.id === optionId)) {\n onChange([...selected, { id: optionId, name: optionLabel }]);\n }\n\n setInputValue('');\n },\n [onChange, onSelectValue, options, selected],\n );\n\n const handleDeleteOption = useCallback(\n (option: AnalyticsFilterOption) => {\n onChange(selected.filter(item => item.id !== option.id));\n },\n [onChange, selected],\n );\n\n return (\n <Accordion expanded={expanded} onChange={toggleExpanded}>\n <AccordionSummary>\n <Typography variant=\"body2\" fontWeight=\"bold\" color=\"text.primary\">\n {title}\n </Typography>\n </AccordionSummary>\n\n <AccordionDetails>\n <Stack gap={1}>\n <Autocomplete\n name={name}\n label={title}\n placeholder={placeholder}\n size=\"small\"\n options={options}\n isOptionEqualToValue={(option, value) =>\n option.value === value.value\n }\n loading={isLoading}\n inputValue={inputValue}\n onInputChange={(_, newValue) => setInputValue(newValue)}\n onSearch={onSearch}\n onBlur={finishSearch}\n onChange={handleSelectOption}\n filterOptions={filtered => filtered}\n noOptionsText={\n searching || isFetching ? 'Carregando...' : undefined\n }\n InputLabelProps={{ shrink: true }}\n fullWidth\n />\n\n <SimpleCard\n direction=\"row\"\n alignItems=\"center\"\n flexWrap=\"wrap\"\n overflow=\"auto\"\n maxHeight={148}\n p={1.5}\n sx={{ bgcolor: 'grey.50' }}\n >\n <Result\n isEmpty={!hasSelected}\n empty={\n <Typography variant=\"body2\" color=\"text.secondary\">\n {emptyText}\n </Typography>\n }\n >\n {selected.map((option, index) => (\n <Chip\n key={index}\n variant=\"outlined\"\n label={option.name}\n color=\"default\"\n onDelete={() => handleDeleteOption(option)}\n data-testid={`${testIdPrefix}-${index}`}\n />\n ))}\n </Result>\n </SimpleCard>\n </Stack>\n </AccordionDetails>\n </Accordion>\n );\n};\n\nexport default OptionsFilter;\n"]}
@@ -0,0 +1,9 @@
1
+ import { r } from './chunk-UYYDORSQ.js';
2
+ import { b } from './chunk-TXJ45CNA.js';
3
+ import { useRef, useState, useMemo, useCallback } from 'react';
4
+ import R from 'dayjs';
5
+
6
+ var G=()=>{let g=b("down","sm"),v=b("down","md"),A=b("down","lg"),C=b("down","xl"),u=useRef(null),[h,m]=useState(()=>R()),[y,T]=useState([]),[S,j]=useState([]),[_,w]=useState([]),[o,F]=useState([]),[l,M]=useState([]),[P,b$1]=useState(!0),[E,k]=useState("WEEK"),d=useMemo(()=>y.map(e=>e.id),[y]),c=useMemo(()=>S.map(e=>e.id),[S]),p=useMemo(()=>_.map(e=>e.id),[_]),O=g?"DAY":E,i=useMemo(()=>g||O==="DAY"?1:v?3:A?4:C?5:7,[g,v,A,C,O]),n=useMemo(()=>r(h,i),[h,i]),q=useMemo(()=>({start_date:n.start_date,end_date:n.end_date,...d.length>0?{partner_ids:d}:{},...p.length>0?{seller_ids:p}:{},...o.length>0?{event_types:o}:{},...c.length>0?{profile_ids:c}:{},...l.length>0?{classifications:l}:{},ascending:P}),[n.start_date,n.end_date,d,p,o,c,l,P]),x=useMemo(()=>({start_date:n.start_date,end_date:n.end_date,...d.length>0?{partner_ids:d}:{},...p.length>0?{seller_ids:p}:{},...c.length>0?{profile_ids:c}:{},...o.length>0?{event_types:o}:{},...l.length>0?{classifications:l}:{}}),[n.start_date,n.end_date,d,p,c,o,l]),t=useCallback(()=>{u.current&&(u.current.scrollTop=0);},[]),V=useCallback(e=>{m(e),t();},[t]),I=useCallback(()=>{m(e=>e.subtract(i,"day")),t();},[t,i]),W=useCallback(()=>{m(e=>e.add(i,"day")),t();},[t,i]),B=useCallback(()=>{m(R()),t();},[t]),Y=useCallback(e=>{T(e),t();},[t]),H=useCallback(e=>{F(e),t();},[t]),K=useCallback(e=>{j(e),t();},[t]),L=useCallback(e=>{w(e),t();},[t]),N=useCallback(e=>{M(e),t();},[t]),U=useCallback(e=>{b$1(e),t();},[t]);return {scrollRef:u,baseDate:h,dateRange:n,visibleDays:i,handleBaseDateChange:V,handlePreviousWeek:I,handleNextWeek:W,handleToday:B,selectedPartners:y,setSelectedPartners:Y,selectedEventTypes:o,setSelectedEventTypes:H,selectedProfiles:S,setSelectedProfiles:K,selectedSellers:_,setSelectedSellers:L,selectedClassifications:l,setSelectedClassifications:N,ascending:P,setAscending:U,viewMode:O,setViewMode:k,params:q,summaryParams:x,scrollToTop:t}},$=G;
7
+
8
+ export { $ as a };
9
+ //# sourceMappingURL=chunk-JYHO7CDG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hooks/useOrderProjectionFilters.ts"],"names":["useCallback","useMemo","useRef","useState","dayjs","useOrderProjectionFilters","isMobile","useResponsive_default","isTablet","isSmallDesktop","isDesktop","scrollRef","baseDate","setBaseDate","selectedPartners","setSelectedPartners","selectedProfiles","setSelectedProfiles","selectedSellers","setSelectedSellers","selectedEventTypes","setSelectedEventTypes","selectedClassifications","setSelectedClassifications","ascending","setAscending","viewMode","setViewMode","partnerIds","p","profileIds","sellerIds","seller","effectiveViewMode","visibleDays","dateRange","getDateRange","params","summaryParams","scrollToTop","handleBaseDateChange","date","handlePreviousWeek","prev","handleNextWeek","handleToday","handleSelectedPartnersChange","value","handleSelectedEventTypesChange","handleSelectedProfilesChange","handleSelectedSellersChange","handleSelectedClassificationsChange","handleAscendingChange","useOrderProjectionFilters_default"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\nimport dayjs from 'dayjs';\n\nimport { AnalyticsFilterOption } from 'components/Analytics/types';\nimport {\n OrderProjectionRequest,\n OrderProjectionSummaryRequest,\n} from 'hooks/useOrderProjectionFilters.types';\nimport useResponsive from 'hooks/useResponsive';\nimport { ViewMode } from 'utils/orderProjection';\nimport { getDateRange } from 'utils/orderProjection';\n\nconst useOrderProjectionFilters = () => {\n const isMobile = useResponsive('down', 'sm');\n const isTablet = useResponsive('down', 'md');\n const isSmallDesktop = useResponsive('down', 'lg');\n const isDesktop = useResponsive('down', 'xl');\n const scrollRef = useRef<HTMLDivElement>(null);\n\n const [baseDate, setBaseDate] = useState(() => dayjs());\n const [selectedPartners, setSelectedPartners] = useState<\n AnalyticsFilterOption[]\n >([]);\n const [selectedProfiles, setSelectedProfiles] = useState<\n AnalyticsFilterOption[]\n >([]);\n const [selectedSellers, setSelectedSellers] = useState<\n AnalyticsFilterOption[]\n >([]);\n const [selectedEventTypes, setSelectedEventTypes] = useState<string[]>([]);\n const [selectedClassifications, setSelectedClassifications] = useState<\n string[]\n >([]);\n\n const [ascending, setAscending] = useState<boolean>(true);\n const [viewMode, setViewMode] = useState<ViewMode>(ViewMode.WEEK);\n\n const partnerIds = useMemo(\n () => selectedPartners.map(p => p.id),\n [selectedPartners],\n );\n\n const profileIds = useMemo(\n () => selectedProfiles.map(p => p.id),\n [selectedProfiles],\n );\n\n const sellerIds = useMemo(\n () => selectedSellers.map(seller => seller.id),\n [selectedSellers],\n );\n\n const effectiveViewMode = isMobile ? ViewMode.DAY : viewMode;\n\n const visibleDays = useMemo(() => {\n if (isMobile || effectiveViewMode === ViewMode.DAY) return 1;\n if (isTablet) return 3;\n if (isSmallDesktop) return 4;\n if (isDesktop) return 5;\n return 7;\n }, [isMobile, isTablet, isSmallDesktop, isDesktop, effectiveViewMode]);\n\n const dateRange = useMemo(\n () => getDateRange(baseDate, visibleDays),\n [baseDate, visibleDays],\n );\n\n const params = useMemo<OrderProjectionRequest>(\n () => ({\n start_date: dateRange.start_date,\n end_date: dateRange.end_date,\n ...(partnerIds.length > 0 ? { partner_ids: partnerIds } : {}),\n ...(sellerIds.length > 0 ? { seller_ids: sellerIds } : {}),\n ...(selectedEventTypes.length > 0\n ? { event_types: selectedEventTypes }\n : {}),\n ...(profileIds.length > 0 ? { profile_ids: profileIds } : {}),\n ...(selectedClassifications.length > 0\n ? { classifications: selectedClassifications }\n : {}),\n ascending,\n }),\n [\n dateRange.start_date,\n dateRange.end_date,\n partnerIds,\n sellerIds,\n selectedEventTypes,\n profileIds,\n selectedClassifications,\n ascending,\n ],\n );\n\n const summaryParams = useMemo<OrderProjectionSummaryRequest>(\n () => ({\n start_date: dateRange.start_date,\n end_date: dateRange.end_date,\n ...(partnerIds.length > 0 ? { partner_ids: partnerIds } : {}),\n ...(sellerIds.length > 0 ? { seller_ids: sellerIds } : {}),\n ...(profileIds.length > 0 ? { profile_ids: profileIds } : {}),\n ...(selectedEventTypes.length > 0\n ? { event_types: selectedEventTypes }\n : {}),\n ...(selectedClassifications.length > 0\n ? { classifications: selectedClassifications }\n : {}),\n }),\n [\n dateRange.start_date,\n dateRange.end_date,\n partnerIds,\n sellerIds,\n profileIds,\n selectedEventTypes,\n selectedClassifications,\n ],\n );\n\n const scrollToTop = useCallback(() => {\n if (scrollRef.current) {\n scrollRef.current.scrollTop = 0;\n }\n }, []);\n\n const handleBaseDateChange = useCallback(\n (date: dayjs.Dayjs) => {\n setBaseDate(date);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handlePreviousWeek = useCallback(() => {\n setBaseDate(prev => prev.subtract(visibleDays, 'day'));\n scrollToTop();\n }, [scrollToTop, visibleDays]);\n\n const handleNextWeek = useCallback(() => {\n setBaseDate(prev => prev.add(visibleDays, 'day'));\n scrollToTop();\n }, [scrollToTop, visibleDays]);\n\n const handleToday = useCallback(() => {\n setBaseDate(dayjs());\n scrollToTop();\n }, [scrollToTop]);\n\n const handleSelectedPartnersChange = useCallback(\n (value: AnalyticsFilterOption[]) => {\n setSelectedPartners(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleSelectedEventTypesChange = useCallback(\n (value: string[]) => {\n setSelectedEventTypes(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleSelectedProfilesChange = useCallback(\n (value: AnalyticsFilterOption[]) => {\n setSelectedProfiles(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleSelectedSellersChange = useCallback(\n (value: AnalyticsFilterOption[]) => {\n setSelectedSellers(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleSelectedClassificationsChange = useCallback(\n (value: string[]) => {\n setSelectedClassifications(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n const handleAscendingChange = useCallback(\n (value: boolean) => {\n setAscending(value);\n scrollToTop();\n },\n [scrollToTop],\n );\n\n return {\n scrollRef,\n\n baseDate,\n dateRange,\n visibleDays,\n handleBaseDateChange,\n handlePreviousWeek,\n handleNextWeek,\n handleToday,\n\n selectedPartners,\n setSelectedPartners: handleSelectedPartnersChange,\n\n selectedEventTypes,\n setSelectedEventTypes: handleSelectedEventTypesChange,\n\n selectedProfiles,\n setSelectedProfiles: handleSelectedProfilesChange,\n\n selectedSellers,\n setSelectedSellers: handleSelectedSellersChange,\n\n selectedClassifications,\n setSelectedClassifications: handleSelectedClassificationsChange,\n\n ascending,\n setAscending: handleAscendingChange,\n\n viewMode: effectiveViewMode,\n setViewMode,\n\n params,\n summaryParams,\n\n scrollToTop,\n };\n};\n\nexport type UseOrderProjectionFiltersReturn = ReturnType<\n typeof useOrderProjectionFilters\n>;\n\nexport default useOrderProjectionFilters;\n"]}
@@ -1,9 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { C as CartsProviderProps, a as CartsValue, U as UseCartsFiltersReturn, b as CartDetailProps, c as CartsListProps, d as CartsSummaryProps } from '../../../useCartsFilters-9eb738ab.js';
2
+ import { C as CartsProviderProps, a as CartsValue, U as UseCartsFiltersReturn, b as CartDetailProps, c as CartsListProps, d as CartsSummaryProps } from '../../../useCartsFilters-44ddc83e.js';
3
3
  import * as react from 'react';
4
4
  import { CartStatus } from '../../../utils/carts.js';
5
5
  import '@mui/x-data-grid-premium/models/gridApiPremium';
6
6
  import '@mui/x-data-grid-premium';
7
+ import '../../../types-15e95556.js';
7
8
  import '../../../types/analytics.js';
8
9
  import '../../../utils/analytics.js';
9
10
  import '../../../types/pagination.js';
@@ -1,19 +1,20 @@
1
- import { e, c as c$1, f, a as a$c, d as d$2 } from '../../../chunk-Z3HTIXB2.js';
1
+ import { e, c as c$1, f, a as a$d, d as d$3 } from '../../../chunk-Z3HTIXB2.js';
2
+ import { a as a$b } from '../../../chunk-FCKDOHEL.js';
2
3
  import { i, h as h$2 } from '../../../chunk-BBVOF2BY.js';
3
- import { a as a$b, b as b$1, c as c$3 } from '../../../chunk-EICUAMNN.js';
4
+ import { a as a$c, b as b$1, c as c$3 } from '../../../chunk-EICUAMNN.js';
4
5
  import { a as a$2 } from '../../../chunk-Q2R3X4EB.js';
5
- import { a as a$f } from '../../../chunk-DRGARBKB.js';
6
+ import '../../../chunk-DRGARBKB.js';
6
7
  import '../../../chunk-55XSPNSX.js';
7
8
  import { a as a$5 } from '../../../chunk-YJYS2LQQ.js';
8
9
  import { a as a$4 } from '../../../chunk-PUMCHXCD.js';
9
10
  import { a as a$6 } from '../../../chunk-H762KDPN.js';
10
11
  import { a as a$a } from '../../../chunk-CZ5Y53WA.js';
11
- import { d as d$1, h as h$1, m } from '../../../chunk-2W5FGLTC.js';
12
+ import { d as d$2, h as h$1, m } from '../../../chunk-2W5FGLTC.js';
12
13
  import { h, c as c$2 } from '../../../chunk-OF6623HG.js';
13
14
  import { a as a$7 } from '../../../chunk-MTJT2RGA.js';
14
- import { d } from '../../../chunk-W27CC2AQ.js';
15
+ import { d as d$1 } from '../../../chunk-W27CC2AQ.js';
15
16
  import '../../../chunk-R7BNGTUT.js';
16
- import { a as a$g } from '../../../chunk-4F2NKGF6.js';
17
+ import '../../../chunk-4F2NKGF6.js';
17
18
  import '../../../chunk-PRWQQJDL.js';
18
19
  import '../../../chunk-SB7J43ND.js';
19
20
  import '../../../chunk-6U5LS7MP.js';
@@ -23,39 +24,38 @@ import '../../../chunk-XUDTPZHF.js';
23
24
  import '../../../chunk-UVPQR2Q2.js';
24
25
  import '../../../chunk-RBTYTONM.js';
25
26
  import '../../../chunk-I4PPSW36.js';
26
- import { a as a$e } from '../../../chunk-YHOVSR7P.js';
27
+ import '../../../chunk-YHOVSR7P.js';
27
28
  import { a } from '../../../chunk-CO2KQFUN.js';
28
29
  import { a as a$3 } from '../../../chunk-5ZMA4N4W.js';
29
30
  import '../../../chunk-Z6YXPKWP.js';
30
31
  import '../../../chunk-F65ZXAGV.js';
31
32
  import { a as a$9 } from '../../../chunk-E3R7W7GK.js';
32
- import { a as a$1 } from '../../../chunk-KJJDGCL4.js';
33
+ import { a as a$1 } from '../../../chunk-BBLPAVHA.js';
33
34
  import '../../../chunk-UWTX4JMW.js';
34
35
  import { b } from '../../../chunk-TXJ45CNA.js';
35
36
  import { e as e$1 } from '../../../chunk-ERLI5GAP.js';
36
37
  import { a as a$8 } from '../../../chunk-LQRRMVFN.js';
37
38
  import '../../../chunk-Y66XXBB3.js';
38
- import { a as a$d } from '../../../chunk-GGJJ3II3.js';
39
+ import '../../../chunk-GGJJ3II3.js';
39
40
  import '../../../chunk-HFDGIEZC.js';
40
41
  import { createContext, memo, useMemo, useContext, useState, useCallback } from 'react';
41
42
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
42
- import ie from '@mui/material/CardContent';
43
- import le from '@mui/material/CardHeader';
44
- import u from '@mui/material/Stack';
43
+ import Ht from '@mui/material/CardContent';
44
+ import Yt from '@mui/material/CardHeader';
45
+ import c from '@mui/material/Stack';
45
46
  import p from '@mui/material/Typography';
46
- import Tt from '@mui/material/Divider';
47
+ import yt from '@mui/material/Divider';
47
48
  import { styled } from '@mui/material/styles';
48
- import Ee from '@mui/material/Button';
49
- import mo from '@mui/material/Card';
50
- import go from '@mui/material/Link';
51
- import Ce from '@mui/material/Checkbox';
52
- import be from '@mui/material/FormControlLabel';
49
+ import xe from '@mui/material/Button';
50
+ import qe from '@mui/material/Card';
51
+ import Xe from '@mui/material/Link';
52
+ import ae from '@mui/material/Checkbox';
53
+ import ne from '@mui/material/FormControlLabel';
53
54
  import { ResponsiveContainer, BarChart, XAxis, YAxis, Bar } from 'recharts';
54
- import Ar from '@mui/material/Badge';
55
- import jo from '@mui/material/Chip';
56
- import nr from '@mui/material/Radio';
55
+ import or from '@mui/material/Badge';
56
+ import Wo from '@mui/material/Radio';
57
57
 
58
- var Zt=createContext(null),Qe=({adapters:t,slots:e,children:o})=>{let r=a$1(),i=useMemo(()=>({adapters:t,slots:e,filters:r}),[t,e,r]);return jsx(Zt.Provider,{value:i,children:o})},c=()=>{let t=useContext(Zt);if(!t)throw new Error("useCartsContext must be used within a CartsProvider");return t},A=()=>c().filters;var Je=({label:t,value:e})=>jsxs(u,{direction:"row",justifyContent:"space-between",gap:1.5,overflow:"hidden",children:[jsxs(p,{variant:"body2",color:"text.secondary",flexShrink:0,children:[t,":"]}),jsx(p,{component:"div",variant:"body2",fontWeight:500,color:"text.primary",noWrap:!0,children:e})]}),w=memo(Je);var eo=({cart:t})=>{let{slots:e}=c();return jsxs(u,{gap:3,children:[jsxs(u,{gap:.5,children:[jsx(w,{label:"Criado em",value:t.created_at?d$1(t.created_at,"DD/MM/YYYY [\xE0s] HH:mm"):"-"}),jsx(w,{label:"Usu\xE1rio",value:e.renderDetailUserName(t)}),jsx(w,{label:"Tipo de usu\xE1rio",value:f(t.user?.profile)||"-"}),jsx(w,{label:"\xDAltima atualiza\xE7\xE3o",value:h$1(t.updated_at,"instant")??"-"})]}),jsx(Tt,{sx:{borderStyle:"dashed"}}),jsxs(u,{gap:.5,children:[jsx(w,{label:"Cliente",value:jsxs(u,{alignItems:"flex-end",minWidth:0,children:[e.renderDetailPartnerName(t),t.partner?.tax_id&&jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",maxWidth:"100%",noWrap:!0,children:i(t.partner.tax_id)})]})}),jsx(w,{label:"E-mail",value:t.partner?.email||"-"}),jsx(w,{label:"Contato",value:t.partner?.phone?h$2(t.partner.phone):"-"})]}),jsx(Tt,{sx:{borderStyle:"dashed"}}),jsxs(u,{gap:.5,children:[jsx(w,{label:"Forma de pagamento",value:t.payment_method?.name||"-"}),jsx(w,{label:"Subtotal",value:t.total!=null?h(t.total):"-"})]})]})},ee=eo;var oe=styled(u)(({theme:t})=>({position:"sticky",borderBottom:`1px solid ${t.palette.divider}`}));var no=t=>!t.product_name&&!t.product_sku&&!t.unit_name?jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:"-"}):jsxs(u,{justifyContent:"center",height:1,children:[t.product_name&&jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:t.product_name}),jsxs(u,{direction:"row",alignItems:"center",gap:1,children:[jsxs(p,{variant:"caption",color:"text.secondary",noWrap:!0,children:["C\xF3d.: ",t.product_sku||"-"]}),jsx(Tt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed"}}),jsxs(p,{variant:"caption",color:"text.secondary",noWrap:!0,children:["Unidade: ",t.unit_name||"-"]})]})]}),io=(t,e$1)=>jsx(a$7,{children:jsxs(u,{gap:1,children:[e$1.renderProductImage(t),t.product_name&&jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t.product_name||"-"}),jsxs(u,{children:[jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["C\xF3d.: ",t.product_sku||"-"]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Unidade: ",t.unit_name||"-"]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Valor:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",noWrap:!0,children:e(t.price)})]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Qtd. de itens:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",noWrap:!0,children:t.quantity})]})]}),jsx(u,{children:jsxs(p,{variant:"body2",color:"text.secondary",children:["Subtotal:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",children:e(t.total)})]})})]})},t.id),lo=({cart:t})=>{let{slots:e$1}=c();return jsx(d,{title:"Itens",header:jsxs(u,{direction:"row",alignItems:"center",gap:1,children:[jsx(p,{variant:"subtitle2",color:"text.primary",children:"Itens"}),jsx(a$4,{variant:"soft",color:"primary",children:t.items.length||0})]}),headerProps:{p:{xs:3,md:0},pb:{md:1.5}},columns:[{field:"image",headerName:"Imagem",flex:1,sortable:!1,align:"center",headerAlign:"center",renderCell:({row:o})=>jsx(Fragment,{children:e$1.renderProductImage(o)})},{field:"product_name",headerName:"Produtos",flex:3,sortable:!1,renderCell:({row:o})=>no(o)},{field:"price",headerName:"Valor",flex:1,sortable:!1,renderCell:({row:o})=>e(o.price)},{field:"quantity",headerName:"Qtd. de itens",flex:1,sortable:!1},{field:"total",headerName:"Subtotal",flex:1,sortable:!1,renderCell:({row:o})=>e(o.total)}],rows:t.items,mobileSlots:jsx(oe,{}),mobileRender:o=>io(o,e$1),hideFooter:!0,disableRowSelectionOnClick:!0,disableColumnFilter:!0,disableColumnMenu:!0,disableColumnSorting:!0,disableColumnResize:!0,disableColumnPinning:!0,containerProps:{height:"100%",sx:{p:{xs:0,md:3}}}})},re=lo;var kt=styled(mo)({width:"100%",height:"fit-content",boxShadow:"none"}),ne=styled(Ee)(({theme:t})=>({background:t.palette.success.main,color:t.palette.success.contrastText,"&:hover":{background:t.palette.success.dark}}));var uo=({cart:t})=>{let{slots:e}=c(),o=t?.partner?.phone?.replace(/\D/g,""),r=useCallback(()=>{let i=e.buildRecoveryMessage(t),m=o?`https://wa.me/${o}?text=${encodeURIComponent(i)}`:`https://wa.me/?text=${encodeURIComponent(i)}`;window.open(m,"_blank","noopener,noreferrer");},[t,o,e]);return jsxs(u,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"2fr 1fr"},gap:3,children:[jsx(u,{position:{md:"relative"},sx:{order:{xs:2,md:1}},overflow:"hidden",children:jsx(u,{position:{md:"absolute"},minHeight:{md:0},sx:{inset:{md:0}},children:jsx(re,{cart:t})})}),jsxs(u,{gap:3,sx:{order:{xs:1,md:2}},overflow:"hidden",children:[jsxs(kt,{variant:"outlined",children:[jsx(le,{title:jsx(p,{variant:"subtitle2",color:"text.primary",children:"Informa\xE7\xF5es"})}),jsx(ie,{children:jsx(ee,{cart:t})})]}),jsxs(kt,{variant:"outlined",sx:{order:{xs:1,md:2}},children:[jsx(le,{title:jsx(p,{variant:"subtitle2",color:"text.primary",children:"Recuperar carrinho abandonado"})}),jsx(ie,{children:jsxs(u,{gap:3,children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Envie uma mensagem pelo WhatsApp para o cliente com o link deste carrinho abandonado e incentive a finaliza\xE7\xE3o da compra."}),jsxs(u,{gap:1.5,children:[jsx(ne,{variant:"contained",startIcon:jsx(a$3,{icon:"WHATSAPP"}),size:"small",onClick:r,children:"Enviar carrinho por WhatsApp"}),e.renderRecoveryActions?.(t)]})]})})]})]})]})},fo=uo;var yo=({status:t})=>{let e=c$1[t];return jsx(a$4,{color:e?.color,sx:{width:"fit-content"},children:e?.label})},ct=yo;styled(go)(({theme:t})=>({fontWeight:600,color:t.palette.primary.main,cursor:"pointer","&:hover":{textDecoration:"underline"}}));var pe=styled(u)(({theme:t})=>({position:"sticky",padding:t.spacing(1.5),background:t.palette.background.neutral}));var xo=(t,e)=>jsx(u,{justifyContent:"center",height:1,children:t?.partner?.name?jsxs(Fragment,{children:[e.renderPartnerName(t),jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",children:t?.partner?.tax_id?i(t?.partner?.tax_id):"-"})]}):"-"}),So=(t,e)=>jsx(u,{justifyContent:"center",height:1,children:t?.user?.name?jsxs(Fragment,{children:[e.renderUserName(t),jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",children:t?.user?.profile==="PARTNER"?"Cliente":"Vendedor"})]}):"-"}),vo=t=>jsx(u,{justifyContent:"center",height:1,children:t?.created_at?jsxs(Fragment,{children:[jsx(p,{variant:"body2",color:"text.primary",children:d$1(t?.created_at,"DD/MM/YYYY")}),jsx(p,{variant:"body2",color:"text.secondary",children:d$1(t?.created_at,"[\xE0s] HH:mm")})]}):"-"}),ko=t=>jsx(u,{justifyContent:"center",height:1,children:t?.updated_at?jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:h$1(t?.updated_at,"instant")}):"-"}),Po=t=>jsx(u,{justifyContent:"center",height:1,children:jsx(ct,{status:t?.status})}),me=t=>{let e=()=>{let r=t?.partner?.phone?.replace(/\D/g,"");window.open(`https://wa.me/${r}`,"_blank");},o=()=>{window.location.href=`mailto:${t?.partner?.email}`;};return jsx(a$5,{actions:jsxs(Fragment,{children:[jsx(a$6,{onClick:e,disabled:!t?.partner?.phone,children:"Enviar mensagem por WhatsApp"}),jsx(a$6,{onClick:o,disabled:!t?.partner?.email,children:"Enviar e-mail"})]})},t.id)},To=(t,e$1)=>jsxs(a$7,{children:[e$1.renderCartLink(t,jsxs(u,{gap:1,children:[jsxs(u,{children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Nome do cliente"}),jsx(p,{variant:"subtitle2",color:"text.primary",children:t?.partner?.name||"-"})]}),jsxs(u,{direction:"row",alignItems:"center",gap:1,children:[jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Usu\xE1rio"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.user?.name||"-"})]}),jsx(Tt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Tipo de usu\xE1rio"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:f(t.user?.profile)||"-"})]})]}),jsxs(u,{direction:"row",alignItems:"center",gap:1,children:[jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Valor"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:e(t?.amount_value)})]}),jsx(Tt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Qtd. de itens"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.item_quantity??0})]})]}),jsxs(u,{direction:"row",alignItems:"center",gap:1,children:[jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Criado em"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.created_at?d$1(t?.created_at,"DD/MM/YYYY"):"-"})]}),jsx(Tt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(u,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"\xDAltima atualiza\xE7\xE3o"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:h$1(t?.updated_at,"instant")??"-"})]})]}),jsxs(u,{gap:.5,children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Status"}),t?.status?jsx(ct,{status:t.status}):jsx(p,{variant:"subtitle2",color:"text.primary",children:"-"})]})]})),jsx(u,{position:"absolute",top:10,right:10,children:me(t)})]},t.id),wo=({apiRef:t,carts:e$1,isLoading:o,isFetching:r,isFetchingNextPage:i,onRowsScrollEnd:m})=>{let{slots:n,filters:l}=c(),{sortModel:f,handleSortModelChange:y}=l;return jsx(d,{apiRef:t,title:"Lista de carrinhos",header:jsx(p,{variant:"h6",color:"text.primary",children:"Lista de carrinhos"}),columns:[{field:"partner_name",headerName:"Nome do cliente",flex:1,renderCell:({row:s})=>xo(s,n)},{field:"user_name",headerName:"Usu\xE1rio",flex:1,renderCell:({row:s})=>So(s,n)},{field:"amount_value",headerName:"Valor",flex:1,renderCell:({row:s})=>e(s.amount_value)},{field:"item_quantity",headerName:"Qtd. de itens",flex:1,renderCell:({row:s})=>s.item_quantity},{field:"created_at",headerName:"Criado em",flex:1,renderCell:({row:s})=>vo(s)},{field:"status",headerName:"Status",flex:1,renderCell:({row:s})=>Po(s)},{field:"updated_at",headerName:"\xDAltima atualiza\xE7\xE3o",flex:1,renderCell:({row:s})=>ko(s)},{field:"actions",type:"actions",headerName:"A\xE7\xF5es",maxWidth:80,getActions:s=>[me(s.row)]}],rows:e$1,mobileSlots:jsx(pe,{children:jsx(p,{variant:"body2",fontWeight:600,color:"text.secondary",children:"Carrinhos"})}),mobileRender:s=>To(s,n),loading:o,fetching:r&&!i,fetchingNextPage:i,onRowsScrollEnd:m,scrollEndThreshold:600,onRowDoubleClick:({row:s})=>{n.onOpenCart(s);},disableRowSelectionOnClick:!0,disableColumnMenu:!0,sortingMode:"server",sortModel:f,onSortModelChange:y,slots:{noRowsOverlay:()=>jsx(Fragment,{children:n.renderEmptyState()})}})},_o=memo(wo);var M=3,de=(t,e)=>{let o=t===e.findIndex(i=>i.data[0]>0),r=t===e.map(i=>i.data[0]>0).lastIndexOf(!0);return o&&r?[M,M,M,M]:o?[M,0,0,M]:r?[0,M,M,0]:[0,0,0,0]};var Ao=["#22C55E","#FF5630"],Io="#E5E7EB",Ro=({series:t,isZero:e})=>e?jsx(Bar,{dataKey:"empty",stackId:"stack",fill:Io,stroke:"none",radius:3,isAnimationActive:!1,"data-testid":"bar-empty"}):jsx(Fragment,{children:t.map((o,r)=>jsx(Bar,{dataKey:o.name,stackId:"stack",fill:Ao[r],stroke:"none",radius:de(r,t),isAnimationActive:!1,"data-testid":`bar-${r}`},r))}),ue=Ro;var fe=styled(mo)(({theme:t})=>({width:"100%",height:"auto",border:`1px solid ${t.palette.divider}`,boxShadow:"none",overflow:"visible"}));var $o=({title:t,subtitle:e,legend:o,series:r,isFetching:i})=>{let m=useMemo(()=>r.every(l=>l.data.every(f=>f===0)),[r]),n=useMemo(()=>{if(m)return [{empty:100}];let l=r.reduce((y,g)=>y+(g.data[0]??0),0),f={};return r.forEach(y=>{f[y.name]=l>0?y.data[0]/l*100:0;}),[f]},[r,m]);return jsxs(fe,{variant:"outlined",children:[jsx(le,{title:t}),jsx(ie,{children:jsxs(u,{gap:2,children:[jsxs(u,{gap:1,children:[e,jsx(a$2,{active:i,children:jsx(ResponsiveContainer,{width:"100%",height:24,style:{pointerEvents:"none"},children:jsxs(BarChart,{data:n,layout:"vertical",stackOffset:"none",margin:{top:0,right:0,bottom:0,left:0},barCategoryGap:0,children:[jsx(XAxis,{type:"number",hide:!0,domain:[0,100]}),jsx(YAxis,{type:"category",hide:!0}),jsx(ue,{series:r,isZero:m})]})})})]}),o]})})]})},ft=memo($o);var _=t=>c$2(t,{maximumFractionDigits:2,...t>0&&t<100?{minimumFractionDigits:2}:{}});var qo=({active:t,abandoned:e,isFetching:o})=>{let[r,i]=useState(!0),[m,n]=useState(!0),l=r?t?.amount_value??0:0,f=m?e?.amount_value??0:0,y=l+f,g=[{name:"Ativos",data:[l]},{name:"Abandonados",data:[f]}];return jsx(ft,{title:"Valor em carrinhos",subtitle:jsx(p,{variant:"subtitle2",fontSize:20,fontWeight:700,children:h(y)}),legend:jsxs(u,{children:[jsxs(u,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(be,{label:"Ativos",control:jsx(Ce,{name:"active",size:"small",checked:r,onChange:(s,k)=>i(k),sx:{"&.Mui-checked":{color:"#22C55E"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${_(t?.amount_percentage??0)} | ${h(t?.amount_value??0)}`,children:[_(t?.amount_percentage??0),"\u2002",jsx(p,{component:"span",variant:"body2",color:"text.primary",children:h(t?.amount_value??0)})]})]}),jsxs(u,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(be,{label:"Abandonados",control:jsx(Ce,{name:"abandoned",size:"small",checked:m,onChange:(s,k)=>n(k),sx:{"&.Mui-checked":{color:"#FF5630"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${_(e?.amount_percentage??0)} | ${h(e?.amount_value??0)}`,children:[_(e?.amount_percentage??0),"\u2002",jsx(p,{component:"span",variant:"body2",color:"text.primary",children:h(e?.amount_value??0)})]})]})]}),series:g,isFetching:o})},xe=memo(qo);var Uo=({active:t,abandoned:e,isFetching:o})=>{let[r,i]=useState(!0),[m,n]=useState(!0),l=r?t?.quantity_value??0:0,f=m?e?.quantity_value??0:0,y=l+f,g=[{name:"Ativos",data:[l]},{name:"Abandonados",data:[f]}];return jsx(ft,{title:"Quantidade de carrinhos",subtitle:jsxs(p,{variant:"subtitle2",fontSize:20,fontWeight:700,children:[y," ",jsxs(p,{component:"span",variant:"body2",fontSize:13,color:"text.secondary",children:["carrinho",y!==1&&"s"]})]}),legend:jsxs(u,{children:[jsxs(u,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(be,{label:"Ativos",control:jsx(Ce,{name:"active",size:"small",checked:r,onChange:(s,k)=>i(k),sx:{"&.Mui-checked":{color:"#22C55E"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${_(t?.quantity_percentage??0)} ${t?.quantity_value??0} | carrinho${t?.quantity_value!==1?"s":""}`,children:[_(t?.quantity_percentage??0),"\u2002",jsxs(p,{component:"span",variant:"body2",color:"text.primary",children:[t?.quantity_value??0," carrinho",t?.quantity_value!==1?"s":""]})]})]}),jsxs(u,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(be,{label:"Abandonados",control:jsx(Ce,{name:"abandoned",size:"small",checked:m,onChange:(s,k)=>n(k),sx:{"&.Mui-checked":{color:"#FF5630"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${_(e?.quantity_percentage??0)} ${e?.quantity_value} | carrinho${e?.quantity_value!==1?"s":""}`,children:[_(e?.quantity_percentage??0),"\u2002",jsxs(p,{component:"span",variant:"body2",color:"text.primary",children:[e?.quantity_value," carrinho",e?.quantity_value!==1?"s":""]})]})]})]}),series:g,isFetching:o})},Pe=memo(Uo);var Qo=({summary:t,isFetching:e})=>jsxs(u,{direction:{xs:"column",md:"row"},justifyContent:"space-between",gap:3,children:[jsx(Pe,{active:t?.active,abandoned:t?.abandoned,isFetching:e}),jsx(xe,{active:t?.active,abandoned:t?.abandoned,isFetching:e})]}),Xo=memo(Qo);var er=({name:t,title:e,placeholder:o,emptyText:r,testIdPrefix:i,defaultExpanded:m,selected:n,onChange:l,useOptions:f})=>{let[y,g]=a$9(m),[s,k]=useState(""),{buildOptions:X,finishSearch:Ct,onSearch:bt,onSelectValue:N,search:Ne,searching:xt}=a$d(),{items:Wt,isFetching:nt,isLoading:Ve}=f({search:Ne,skip:!y}),it=useMemo(()=>xt||nt?[]:X(Wt.map(({id:d,name:C})=>({value:d,label:C})),nt),[X,nt,Wt,xt]),$e=n.length>0,ze=useCallback(d=>{N(it,d);let C=typeof d=="string"?d:String(d?.value||""),Ge=it.find(St=>String(St.value)===C)?.label||(typeof d=="string"?d:String(d?.label||""));C&&!n.some(St=>St.id===C)&&l([...n,{id:C,name:Ge}]),k("");},[l,N,it,n]),qe=useCallback(d=>{l(n.filter(C=>C.id!==d.id));},[l,n]);return jsxs(a$b,{expanded:y,onChange:g,children:[jsx(b$1,{children:jsx(p,{variant:"body2",fontWeight:"bold",color:"text.primary",children:e})}),jsx(c$3,{children:jsxs(u,{gap:1,children:[jsx(a$e,{name:t,label:e,placeholder:o,size:"small",options:it,isOptionEqualToValue:(d,C)=>d.value===C.value,loading:Ve,inputValue:s,onInputChange:(d,C)=>k(C),onSearch:bt,onBlur:Ct,onChange:ze,filterOptions:d=>d,noOptionsText:xt||nt?"Carregando...":void 0,InputLabelProps:{shrink:!0},fullWidth:!0}),jsx(a$f,{direction:"row",alignItems:"center",flexWrap:"wrap",overflow:"auto",maxHeight:148,p:1.5,sx:{bgcolor:"grey.50"},children:jsx(a$g,{isEmpty:!$e,empty:jsx(p,{variant:"body2",color:"text.secondary",children:r}),children:n.map((d,C)=>jsx(jo,{variant:"outlined",label:d.name,color:"default",onDelete:()=>qe(d),"data-testid":`${i}-${C}`},C))})})]})})]})},yt=er;var or=()=>{let{adapters:t}=c(),{selectedPartners:e,setSelectedPartners:o}=A();return jsx(yt,{name:"partners",title:"Clientes",placeholder:"Digite para buscar um cliente...",emptyText:"Nenhum cliente selecionado",testIdPrefix:"filter-partner",defaultExpanded:!0,selected:e,onChange:o,useOptions:t.usePartnerOptions})},Ie=or;var ir=({profile:t,checked:e,onToggle:o})=>{let{label:r}=d$2[t];return jsx(be,{control:jsx(nr,{name:`profile-${t}`,checked:e,onClick:o}),label:r})},Oe=ir;var mr=()=>{let{slots:t}=c(),{selectedProfile:e,setSelectedProfile:o}=A(),{profileOptions:r}=t,[i,m]=a$9(!!e),n=useCallback(l=>{o(e===l?null:l);},[o,e]);return jsxs(a$b,{expanded:i,onChange:m,children:[jsx(b$1,{children:jsx(p,{variant:"body2",fontWeight:"bold",color:"text.primary",children:"Perfis"})}),jsx(c$3,{children:jsx(u,{mt:-1,children:r.map(l=>jsx(Oe,{profile:l,checked:e===l,onToggle:()=>n(l)},l))})})]})},De=mr;var cr=({useOptions:t})=>{let{selectedSellers:e,setSelectedSellers:o}=A();return jsx(yt,{name:"sellers",title:"Vendedores",placeholder:"Digite para buscar um vendedor...",emptyText:"Nenhum vendedor selecionado",testIdPrefix:"filter-seller",defaultExpanded:!!e.length,selected:e,onChange:o,useOptions:t})},Me=cr;var hr=({status:t,checked:e,onToggle:o})=>{let{label:r,color:i}=c$1[t];return jsx(be,{control:jsx(Ce,{name:`status-${t}`,checked:e,onChange:o}),label:jsx(a$4,{color:i,sx:{cursor:"pointer"},children:r})})},We=hr;var Sr=()=>{let{selectedStatuses:t,setSelectedStatuses:e}=A(),[o,r]=a$9(!!t.length),i=useMemo(()=>Object.values(a$c).filter(n=>n!=="EXPIRED"),[]),m=useCallback(n=>{e(t.includes(n)?t.filter(l=>l!==n):[...t,n]);},[e,t]);return jsxs(a$b,{expanded:o,onChange:r,children:[jsx(b$1,{children:jsx(p,{variant:"body2",fontWeight:"bold",color:"text.primary",children:"Status"})}),jsx(c$3,{children:jsx(u,{mt:-1,children:i.map(n=>jsx(We,{status:n,checked:t.includes(n),onToggle:()=>m(n)},n))})})]})},Fe=Sr;var kr=()=>{let{adapters:t}=c(),{useSellerOptions:e}=t;return jsxs(Fragment,{children:[jsx(Ie,{}),!!e&&jsx(Me,{useOptions:e}),jsx(Fe,{}),jsx(De,{})]})},Le=kr;var Ot=styled(Ee)(({theme:t})=>({background:t.palette.common.white})),Dt=styled(Ee)(({theme:t})=>({color:t.palette.text.secondary,"&:hover":{background:t.palette.action.hover},[t.breakpoints.down("sm")]:{border:`1px solid ${t.palette.divider}`,textIndent:"-9999em",fontSize:0,minWidth:30,maxWidth:30,height:30,width:30,overflow:"hidden","& .MuiButton-icon":{margin:0}}})),Mt=styled(a)(({theme:t})=>({"& .MuiPopover-paper":{width:540,padding:t.spacing(3),backgroundColor:t.palette.background.paper,borderRadius:t.spacing(1),backgroundImage:"none",[t.breakpoints.down("sm")]:{width:"calc(100% - 48px)"}}}));var Ir=()=>{let t=b("down","sm"),{slots:e,adapters:o,filters:r}=c(),{dateFilter:i,handleDateFilterChange:m$1,selectedPartners:n,selectedSellers:l,selectedStatuses:f}=r,y=useMemo(()=>{let N=o.useSellerOptions?l.length:0;return n.length+N+f.length},[o.useSellerOptions,n.length,l.length,f.length]),g=a$8(),s=a$8(),[k,X]=a$9(),Ct=useCallback(N=>{m$1(N),g.onClose();},[m$1,g]),bt=i.period!=="OTHER"?e$1[i.period]:m(i.start_date,i.end_date);return jsxs(Fragment,{children:[jsxs(u,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1.5,children:[jsxs(u,{width:"100%",direction:"row",alignItems:"center",gap:1.5,children:[jsx(Ot,{variant:"outlined",endIcon:jsx(a$3,{icon:"ARROW_DOWN_SIMPLE"}),color:"inherit",size:"small",fullWidth:t,onClick:g.onOpen,children:t?"Per\xEDodo":bt}),jsx(Ar,{badgeContent:y,invisible:y===0,color:"primary",children:jsx(Ot,{variant:"outlined",startIcon:jsx(a$3,{icon:"FILTER_LIST"}),color:"inherit",size:"small",fullWidth:t,onClick:X,children:"Filtrar"})}),t&&jsx(Dt,{variant:"text",startIcon:jsx(a$3,{icon:"DOWNLOAD_EXPORT_04"}),size:"small",onClick:s.onOpen,sx:{display:"none"},children:"Exportar"})]}),!t&&jsx(Dt,{variant:"text",startIcon:jsx(a$3,{icon:"DOWNLOAD_EXPORT_04"}),size:"small",color:"inherit",onClick:s.onOpen,sx:{display:"none"},children:"Exportar"})]}),jsx(Mt,{open:g.open,onClose:g.onClose,arrow:t?"top-center":"top-left",TransitionProps:{timeout:0},disabledArrow:!0,children:e.renderDateFilter({value:i,onSave:Ct,onClose:g.onClose})}),jsxs(Mt,{open:s.open,onClose:s.onClose,arrow:"top-right",disabledArrow:!0,children:[jsx(a$6,{children:"Exportar XLSX"}),jsx(a$6,{children:"Exportar CSV"}),jsx(a$6,{children:"Exportar PDF"})]}),jsx(a$a,{open:k,onClose:X,headerTitle:"Filtros",headerProps:{direction:"row-reverse"},contentProps:{p:0},maxWidth:400,children:jsx(Le,{})})]})},Rr=Ir;
58
+ var Et=createContext(null),_e=({adapters:t,slots:e,children:o})=>{let a=a$1(),n=useMemo(()=>({adapters:t,slots:e,filters:a}),[t,e,a]);return jsx(Et.Provider,{value:n,children:o})},d=()=>{let t=useContext(Et);if(!t)throw new Error("useCartsContext must be used within a CartsProvider");return t},w=()=>d().filters;var Me=({label:t,value:e})=>jsxs(c,{direction:"row",justifyContent:"space-between",gap:1.5,overflow:"hidden",children:[jsxs(p,{variant:"body2",color:"text.secondary",flexShrink:0,children:[t,":"]}),jsx(p,{component:"div",variant:"body2",fontWeight:500,color:"text.primary",noWrap:!0,children:e})]}),k=memo(Me);var Oe=({cart:t})=>{let{slots:e}=d();return jsxs(c,{gap:3,children:[jsxs(c,{gap:.5,children:[jsx(k,{label:"Criado em",value:t.created_at?d$2(t.created_at,"DD/MM/YYYY [\xE0s] HH:mm"):"-"}),jsx(k,{label:"Usu\xE1rio",value:e.renderDetailUserName(t)}),jsx(k,{label:"Tipo de usu\xE1rio",value:f(t.user?.profile)||"-"}),jsx(k,{label:"\xDAltima atualiza\xE7\xE3o",value:h$1(t.updated_at,"instant")??"-"})]}),jsx(yt,{sx:{borderStyle:"dashed"}}),jsxs(c,{gap:.5,children:[jsx(k,{label:"Cliente",value:jsxs(c,{alignItems:"flex-end",minWidth:0,children:[e.renderDetailPartnerName(t),t.partner?.tax_id&&jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",maxWidth:"100%",noWrap:!0,children:i(t.partner.tax_id)})]})}),jsx(k,{label:"E-mail",value:t.partner?.email||"-"}),jsx(k,{label:"Contato",value:t.partner?.phone?h$2(t.partner.phone):"-"})]}),jsx(yt,{sx:{borderStyle:"dashed"}}),jsxs(c,{gap:.5,children:[jsx(k,{label:"Forma de pagamento",value:t.payment_method?.name||"-"}),jsx(k,{label:"Subtotal",value:t.total!=null?h(t.total):"-"})]})]})},zt=Oe;var $t=styled(c)(({theme:t})=>({position:"sticky",borderBottom:`1px solid ${t.palette.divider}`}));var Be=t=>!t.product_name&&!t.product_sku&&!t.unit_name?jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:"-"}):jsxs(c,{justifyContent:"center",height:1,children:[t.product_name&&jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:t.product_name}),jsxs(c,{direction:"row",alignItems:"center",gap:1,children:[jsxs(p,{variant:"caption",color:"text.secondary",noWrap:!0,children:["C\xF3d.: ",t.product_sku||"-"]}),jsx(yt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed"}}),jsxs(p,{variant:"caption",color:"text.secondary",noWrap:!0,children:["Unidade: ",t.unit_name||"-"]})]})]}),Ne=(t,e$1)=>jsx(a$7,{children:jsxs(c,{gap:1,children:[e$1.renderProductImage(t),t.product_name&&jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t.product_name||"-"}),jsxs(c,{children:[jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["C\xF3d.: ",t.product_sku||"-"]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Unidade: ",t.unit_name||"-"]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Valor:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",noWrap:!0,children:e(t.price)})]}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:["Qtd. de itens:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",noWrap:!0,children:t.quantity})]})]}),jsx(c,{children:jsxs(p,{variant:"body2",color:"text.secondary",children:["Subtotal:"," ",jsx(p,{component:"span",variant:"subtitle2",color:"text.primary",children:e(t.total)})]})})]})},t.id),Ve=({cart:t})=>{let{slots:e$1}=d();return jsx(d$1,{title:"Itens",header:jsxs(c,{direction:"row",alignItems:"center",gap:1,children:[jsx(p,{variant:"subtitle2",color:"text.primary",children:"Itens"}),jsx(a$4,{variant:"soft",color:"primary",children:t.items.length||0})]}),headerProps:{p:{xs:3,md:0},pb:{md:1.5}},columns:[{field:"image",headerName:"Imagem",flex:1,sortable:!1,align:"center",headerAlign:"center",renderCell:({row:o})=>jsx(Fragment,{children:e$1.renderProductImage(o)})},{field:"product_name",headerName:"Produtos",flex:3,sortable:!1,renderCell:({row:o})=>Be(o)},{field:"price",headerName:"Valor",flex:1,sortable:!1,renderCell:({row:o})=>e(o.price)},{field:"quantity",headerName:"Qtd. de itens",flex:1,sortable:!1},{field:"total",headerName:"Subtotal",flex:1,sortable:!1,renderCell:({row:o})=>e(o.total)}],rows:t.items,mobileSlots:jsx($t,{}),mobileRender:o=>Ne(o,e$1),hideFooter:!0,disableRowSelectionOnClick:!0,disableColumnFilter:!0,disableColumnMenu:!0,disableColumnSorting:!0,disableColumnResize:!0,disableColumnPinning:!0,containerProps:{height:"100%",sx:{p:{xs:0,md:3}}}})},qt=Ve;var ut=styled(qe)({width:"100%",height:"fit-content",boxShadow:"none"}),Ut=styled(xe)(({theme:t})=>({background:t.palette.success.main,color:t.palette.success.contrastText,"&:hover":{background:t.palette.success.dark}}));var Ue=({cart:t})=>{let{slots:e}=d(),o=t?.partner?.phone?.replace(/\D/g,""),a=useCallback(()=>{let n=e.buildRecoveryMessage(t),m=o?`https://wa.me/${o}?text=${encodeURIComponent(n)}`:`https://wa.me/?text=${encodeURIComponent(n)}`;window.open(m,"_blank","noopener,noreferrer");},[t,o,e]);return jsxs(c,{display:"grid",gridTemplateColumns:{xs:"1fr",md:"2fr 1fr"},gap:3,children:[jsx(c,{position:{md:"relative"},sx:{order:{xs:2,md:1}},overflow:"hidden",children:jsx(c,{position:{md:"absolute"},minHeight:{md:0},sx:{inset:{md:0}},children:jsx(qt,{cart:t})})}),jsxs(c,{gap:3,sx:{order:{xs:1,md:2}},overflow:"hidden",children:[jsxs(ut,{variant:"outlined",children:[jsx(Yt,{title:jsx(p,{variant:"subtitle2",color:"text.primary",children:"Informa\xE7\xF5es"})}),jsx(Ht,{children:jsx(zt,{cart:t})})]}),jsxs(ut,{variant:"outlined",sx:{order:{xs:1,md:2}},children:[jsx(Yt,{title:jsx(p,{variant:"subtitle2",color:"text.primary",children:"Recuperar carrinho abandonado"})}),jsx(Ht,{children:jsxs(c,{gap:3,children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Envie uma mensagem pelo WhatsApp para o cliente com o link deste carrinho abandonado e incentive a finaliza\xE7\xE3o da compra."}),jsxs(c,{gap:1.5,children:[jsx(Ut,{variant:"contained",startIcon:jsx(a$3,{icon:"WHATSAPP"}),size:"small",onClick:a,children:"Enviar carrinho por WhatsApp"}),e.renderRecoveryActions?.(t)]})]})})]})]})]})},He=Ue;var Ye=({status:t})=>{let e=c$1[t];return jsx(a$4,{color:e?.color,sx:{width:"fit-content"},children:e?.label})},it=Ye;styled(Xe)(({theme:t})=>({fontWeight:600,color:t.palette.primary.main,cursor:"pointer","&:hover":{textDecoration:"underline"}}));var Xt=styled(c)(({theme:t})=>({position:"sticky",padding:t.spacing(1.5),background:t.palette.background.neutral}));var Je=(t,e)=>jsx(c,{justifyContent:"center",height:1,children:t?.partner?.name?jsxs(Fragment,{children:[e.renderPartnerName(t),jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",children:t?.partner?.tax_id?i(t?.partner?.tax_id):"-"})]}):"-"}),je=(t,e)=>jsx(c,{justifyContent:"center",height:1,children:t?.user?.name?jsxs(Fragment,{children:[e.renderUserName(t),jsx(p,{variant:"body2",fontSize:13,color:"text.secondary",children:t?.user?.profile==="PARTNER"?"Cliente":"Vendedor"})]}):"-"}),to=t=>jsx(c,{justifyContent:"center",height:1,children:t?.created_at?jsxs(Fragment,{children:[jsx(p,{variant:"body2",color:"text.primary",children:d$2(t?.created_at,"DD/MM/YYYY")}),jsx(p,{variant:"body2",color:"text.secondary",children:d$2(t?.created_at,"[\xE0s] HH:mm")})]}):"-"}),eo=t=>jsx(c,{justifyContent:"center",height:1,children:t?.updated_at?jsx(p,{variant:"body2",color:"text.primary",noWrap:!0,children:h$1(t?.updated_at,"instant")}):"-"}),oo=t=>jsx(c,{justifyContent:"center",height:1,children:jsx(it,{status:t?.status})}),Kt=t=>{let e=()=>{let a=t?.partner?.phone?.replace(/\D/g,"");window.open(`https://wa.me/${a}`,"_blank");},o=()=>{window.location.href=`mailto:${t?.partner?.email}`;};return jsx(a$5,{actions:jsxs(Fragment,{children:[jsx(a$6,{onClick:e,disabled:!t?.partner?.phone,children:"Enviar mensagem por WhatsApp"}),jsx(a$6,{onClick:o,disabled:!t?.partner?.email,children:"Enviar e-mail"})]})},t.id)},ro=(t,e$1)=>jsxs(a$7,{children:[e$1.renderCartLink(t,jsxs(c,{gap:1,children:[jsxs(c,{children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Nome do cliente"}),jsx(p,{variant:"subtitle2",color:"text.primary",children:t?.partner?.name||"-"})]}),jsxs(c,{direction:"row",alignItems:"center",gap:1,children:[jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Usu\xE1rio"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.user?.name||"-"})]}),jsx(yt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Tipo de usu\xE1rio"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:f(t.user?.profile)||"-"})]})]}),jsxs(c,{direction:"row",alignItems:"center",gap:1,children:[jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Valor"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:e(t?.amount_value)})]}),jsx(yt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Qtd. de itens"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.item_quantity??0})]})]}),jsxs(c,{direction:"row",alignItems:"center",gap:1,children:[jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"Criado em"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:t?.created_at?d$2(t?.created_at,"DD/MM/YYYY"):"-"})]}),jsx(yt,{orientation:"vertical",flexItem:!0,sx:{borderStyle:"dashed",mx:3}}),jsxs(c,{flex:1,overflow:"hidden",children:[jsx(p,{variant:"body2",color:"text.secondary",noWrap:!0,children:"\xDAltima atualiza\xE7\xE3o"}),jsx(p,{variant:"subtitle2",color:"text.primary",noWrap:!0,children:h$1(t?.updated_at,"instant")??"-"})]})]}),jsxs(c,{gap:.5,children:[jsx(p,{variant:"body2",color:"text.secondary",children:"Status"}),t?.status?jsx(it,{status:t.status}):jsx(p,{variant:"subtitle2",color:"text.primary",children:"-"})]})]})),jsx(c,{position:"absolute",top:10,right:10,children:Kt(t)})]},t.id),ao=({apiRef:t,carts:e$1,isLoading:o,isFetching:a,isFetchingNextPage:n,onRowsScrollEnd:m})=>{let{slots:s,filters:l}=d(),{sortModel:f,handleSortModelChange:h}=l;return jsx(d$1,{apiRef:t,title:"Lista de carrinhos",header:jsx(p,{variant:"h6",color:"text.primary",children:"Lista de carrinhos"}),columns:[{field:"partner_name",headerName:"Nome do cliente",flex:1,renderCell:({row:i})=>Je(i,s)},{field:"user_name",headerName:"Usu\xE1rio",flex:1,renderCell:({row:i})=>je(i,s)},{field:"amount_value",headerName:"Valor",flex:1,renderCell:({row:i})=>e(i.amount_value)},{field:"item_quantity",headerName:"Qtd. de itens",flex:1,renderCell:({row:i})=>i.item_quantity},{field:"created_at",headerName:"Criado em",flex:1,renderCell:({row:i})=>to(i)},{field:"status",headerName:"Status",flex:1,renderCell:({row:i})=>oo(i)},{field:"updated_at",headerName:"\xDAltima atualiza\xE7\xE3o",flex:1,renderCell:({row:i})=>eo(i)},{field:"actions",type:"actions",headerName:"A\xE7\xF5es",maxWidth:80,getActions:i=>[Kt(i.row)]}],rows:e$1,mobileSlots:jsx(Xt,{children:jsx(p,{variant:"body2",fontWeight:600,color:"text.secondary",children:"Carrinhos"})}),mobileRender:i=>ro(i,s),loading:o,fetching:a&&!n,fetchingNextPage:n,onRowsScrollEnd:m,scrollEndThreshold:600,onRowDoubleClick:({row:i})=>{s.onOpenCart(i);},disableRowSelectionOnClick:!0,disableColumnMenu:!0,sortingMode:"server",sortModel:f,onSortModelChange:h,slots:{noRowsOverlay:()=>jsx(Fragment,{children:s.renderEmptyState()})}})},no=memo(ao);var R=3,Zt=(t,e)=>{let o=t===e.findIndex(n=>n.data[0]>0),a=t===e.map(n=>n.data[0]>0).lastIndexOf(!0);return o&&a?[R,R,R,R]:o?[R,0,0,R]:a?[0,R,R,0]:[0,0,0,0]};var io=["#22C55E","#FF5630"],so="#E5E7EB",lo=({series:t,isZero:e})=>e?jsx(Bar,{dataKey:"empty",stackId:"stack",fill:so,stroke:"none",radius:3,isAnimationActive:!1,"data-testid":"bar-empty"}):jsx(Fragment,{children:t.map((o,a)=>jsx(Bar,{dataKey:o.name,stackId:"stack",fill:io[a],stroke:"none",radius:Zt(a,t),isAnimationActive:!1,"data-testid":`bar-${a}`},a))}),jt=lo;var te=styled(qe)(({theme:t})=>({width:"100%",height:"auto",border:`1px solid ${t.palette.divider}`,boxShadow:"none",overflow:"visible"}));var xo=({title:t,subtitle:e,legend:o,series:a,isFetching:n})=>{let m=useMemo(()=>a.every(l=>l.data.every(f=>f===0)),[a]),s=useMemo(()=>{if(m)return [{empty:100}];let l=a.reduce((h,b)=>h+(b.data[0]??0),0),f={};return a.forEach(h=>{f[h.name]=l>0?h.data[0]/l*100:0;}),[f]},[a,m]);return jsxs(te,{variant:"outlined",children:[jsx(Yt,{title:t}),jsx(Ht,{children:jsxs(c,{gap:2,children:[jsxs(c,{gap:1,children:[e,jsx(a$2,{active:n,children:jsx(ResponsiveContainer,{width:"100%",height:24,style:{pointerEvents:"none"},children:jsxs(BarChart,{data:s,layout:"vertical",stackOffset:"none",margin:{top:0,right:0,bottom:0,left:0},barCategoryGap:0,children:[jsx(XAxis,{type:"number",hide:!0,domain:[0,100]}),jsx(YAxis,{type:"category",hide:!0}),jsx(jt,{series:a,isZero:m})]})})})]}),o]})})]})},lt=memo(xo);var P=t=>c$2(t,{maximumFractionDigits:2,...t>0&&t<100?{minimumFractionDigits:2}:{}});var vo=({active:t,abandoned:e,isFetching:o})=>{let[a,n]=useState(!0),[m,s]=useState(!0),l=a?t?.amount_value??0:0,f=m?e?.amount_value??0:0,h$1=l+f,b=[{name:"Ativos",data:[l]},{name:"Abandonados",data:[f]}];return jsx(lt,{title:"Valor em carrinhos",subtitle:jsx(p,{variant:"subtitle2",fontSize:20,fontWeight:700,children:h(h$1)}),legend:jsxs(c,{children:[jsxs(c,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(ne,{label:"Ativos",control:jsx(ae,{name:"active",size:"small",checked:a,onChange:(i,T)=>n(T),sx:{"&.Mui-checked":{color:"#22C55E"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${P(t?.amount_percentage??0)} | ${h(t?.amount_value??0)}`,children:[P(t?.amount_percentage??0),"\u2002",jsx(p,{component:"span",variant:"body2",color:"text.primary",children:h(t?.amount_value??0)})]})]}),jsxs(c,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(ne,{label:"Abandonados",control:jsx(ae,{name:"abandoned",size:"small",checked:m,onChange:(i,T)=>s(T),sx:{"&.Mui-checked":{color:"#FF5630"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${P(e?.amount_percentage??0)} | ${h(e?.amount_value??0)}`,children:[P(e?.amount_percentage??0),"\u2002",jsx(p,{component:"span",variant:"body2",color:"text.primary",children:h(e?.amount_value??0)})]})]})]}),series:b,isFetching:o})},ie=memo(vo);var Po=({active:t,abandoned:e,isFetching:o})=>{let[a,n]=useState(!0),[m,s]=useState(!0),l=a?t?.quantity_value??0:0,f=m?e?.quantity_value??0:0,h=l+f,b=[{name:"Ativos",data:[l]},{name:"Abandonados",data:[f]}];return jsx(lt,{title:"Quantidade de carrinhos",subtitle:jsxs(p,{variant:"subtitle2",fontSize:20,fontWeight:700,children:[h," ",jsxs(p,{component:"span",variant:"body2",fontSize:13,color:"text.secondary",children:["carrinho",h!==1&&"s"]})]}),legend:jsxs(c,{children:[jsxs(c,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(ne,{label:"Ativos",control:jsx(ae,{name:"active",size:"small",checked:a,onChange:(i,T)=>n(T),sx:{"&.Mui-checked":{color:"#22C55E"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${P(t?.quantity_percentage??0)} ${t?.quantity_value??0} | carrinho${t?.quantity_value!==1?"s":""}`,children:[P(t?.quantity_percentage??0),"\u2002",jsxs(p,{component:"span",variant:"body2",color:"text.primary",children:[t?.quantity_value??0," carrinho",t?.quantity_value!==1?"s":""]})]})]}),jsxs(c,{direction:"row",alignItems:"center",justifyContent:"space-between",gap:1.5,sx:{mt:-1},children:[jsx(ne,{label:"Abandonados",control:jsx(ae,{name:"abandoned",size:"small",checked:m,onChange:(i,T)=>s(T),sx:{"&.Mui-checked":{color:"#FF5630"}}})}),jsxs(p,{variant:"body2",color:"text.secondary",noWrap:!0,title:`${P(e?.quantity_percentage??0)} ${e?.quantity_value} | carrinho${e?.quantity_value!==1?"s":""}`,children:[P(e?.quantity_percentage??0),"\u2002",jsxs(p,{component:"span",variant:"body2",color:"text.primary",children:[e?.quantity_value," carrinho",e?.quantity_value!==1?"s":""]})]})]})]}),series:b,isFetching:o})},me=memo(Po);var _o=({summary:t,isFetching:e})=>jsxs(c,{direction:{xs:"column",md:"row"},justifyContent:"space-between",gap:3,children:[jsx(me,{active:t?.active,abandoned:t?.abandoned,isFetching:e}),jsx(ie,{active:t?.active,abandoned:t?.abandoned,isFetching:e})]}),Io=memo(_o);var Ro=()=>{let{adapters:t}=d(),{selectedPartners:e,setSelectedPartners:o}=w();return jsx(a$b,{name:"partners",title:"Clientes",placeholder:"Digite para buscar um cliente...",emptyText:"Nenhum cliente selecionado",testIdPrefix:"filter-partner",defaultExpanded:!0,selected:e,onChange:o,useOptions:t.usePartnerOptions})},ce=Ro;var Oo=({profile:t,checked:e,onToggle:o})=>{let{label:a}=d$3[t];return jsx(ne,{control:jsx(Wo,{name:`profile-${t}`,checked:e,onClick:o}),label:a})},fe=Oo;var Bo=()=>{let{slots:t}=d(),{selectedProfile:e,setSelectedProfile:o}=w(),{profileOptions:a}=t,[n,m]=a$9(!!e),s=useCallback(l=>{o(e===l?null:l);},[o,e]);return jsxs(a$c,{expanded:n,onChange:m,children:[jsx(b$1,{children:jsx(p,{variant:"body2",fontWeight:"bold",color:"text.primary",children:"Perfis"})}),jsx(c$3,{children:jsx(c,{mt:-1,children:a.map(l=>jsx(fe,{profile:l,checked:e===l,onToggle:()=>s(l)},l))})})]})},ye=Bo;var Vo=({useOptions:t})=>{let{selectedSellers:e,setSelectedSellers:o}=w();return jsx(a$b,{name:"sellers",title:"Vendedores",placeholder:"Digite para buscar um vendedor...",emptyText:"Nenhum vendedor selecionado",testIdPrefix:"filter-seller",defaultExpanded:!!e.length,selected:e,onChange:o,useOptions:t})},he=Vo;var Go=({status:t,checked:e,onToggle:o})=>{let{label:a,color:n}=c$1[t];return jsx(ne,{control:jsx(ae,{name:`status-${t}`,checked:e,onChange:o}),label:jsx(a$4,{color:n,sx:{cursor:"pointer"},children:a})})},Ce=Go;var Xo=()=>{let{selectedStatuses:t,setSelectedStatuses:e}=w(),[o,a]=a$9(!!t.length),n=useMemo(()=>Object.values(a$d).filter(s=>s!=="EXPIRED"),[]),m=useCallback(s=>{e(t.includes(s)?t.filter(l=>l!==s):[...t,s]);},[e,t]);return jsxs(a$c,{expanded:o,onChange:a,children:[jsx(b$1,{children:jsx(p,{variant:"body2",fontWeight:"bold",color:"text.primary",children:"Status"})}),jsx(c$3,{children:jsx(c,{mt:-1,children:n.map(s=>jsx(Ce,{status:s,checked:t.includes(s),onToggle:()=>m(s)},s))})})]})},ge=Xo;var Zo=()=>{let{adapters:t}=d(),{useSellerOptions:e}=t;return jsxs(Fragment,{children:[jsx(ce,{}),!!e&&jsx(he,{useOptions:e}),jsx(ge,{}),jsx(ye,{})]})},be=Zo;var St=styled(xe)(({theme:t})=>({background:t.palette.common.white})),vt=styled(xe)(({theme:t})=>({color:t.palette.text.secondary,"&:hover":{background:t.palette.action.hover},[t.breakpoints.down("sm")]:{border:`1px solid ${t.palette.divider}`,textIndent:"-9999em",fontSize:0,minWidth:30,maxWidth:30,height:30,width:30,overflow:"hidden","& .MuiButton-icon":{margin:0}}})),kt=styled(a)(({theme:t})=>({"& .MuiPopover-paper":{width:540,padding:t.spacing(3),backgroundColor:t.palette.background.paper,borderRadius:t.spacing(1),backgroundImage:"none",[t.breakpoints.down("sm")]:{width:"calc(100% - 48px)"}}}));var rr=()=>{let t=b("down","sm"),{slots:e,adapters:o,filters:a}=d(),{dateFilter:n,handleDateFilterChange:m$1,selectedPartners:s,selectedSellers:l,selectedStatuses:f}=a,h=useMemo(()=>{let dt=o.useSellerOptions?l.length:0;return s.length+dt+f.length},[o.useSellerOptions,s.length,l.length,f.length]),b$1=a$8(),i=a$8(),[T,Pt]=a$9(),ve=useCallback(dt=>{m$1(dt),b$1.onClose();},[m$1,b$1]),ke=n.period!=="OTHER"?e$1[n.period]:m(n.start_date,n.end_date);return jsxs(Fragment,{children:[jsxs(c,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1.5,children:[jsxs(c,{width:"100%",direction:"row",alignItems:"center",gap:1.5,children:[jsx(St,{variant:"outlined",endIcon:jsx(a$3,{icon:"ARROW_DOWN_SIMPLE"}),color:"inherit",size:"small",fullWidth:t,onClick:b$1.onOpen,children:t?"Per\xEDodo":ke}),jsx(or,{badgeContent:h,invisible:h===0,color:"primary",children:jsx(St,{variant:"outlined",startIcon:jsx(a$3,{icon:"FILTER_LIST"}),color:"inherit",size:"small",fullWidth:t,onClick:Pt,children:"Filtrar"})}),t&&jsx(vt,{variant:"text",startIcon:jsx(a$3,{icon:"DOWNLOAD_EXPORT_04"}),size:"small",onClick:i.onOpen,sx:{display:"none"},children:"Exportar"})]}),!t&&jsx(vt,{variant:"text",startIcon:jsx(a$3,{icon:"DOWNLOAD_EXPORT_04"}),size:"small",color:"inherit",onClick:i.onOpen,sx:{display:"none"},children:"Exportar"})]}),jsx(kt,{open:b$1.open,onClose:b$1.onClose,arrow:t?"top-center":"top-left",TransitionProps:{timeout:0},disabledArrow:!0,children:e.renderDateFilter({value:n,onSave:ve,onClose:b$1.onClose})}),jsxs(kt,{open:i.open,onClose:i.onClose,arrow:"top-right",disabledArrow:!0,children:[jsx(a$6,{children:"Exportar XLSX"}),jsx(a$6,{children:"Exportar CSV"}),jsx(a$6,{children:"Exportar PDF"})]}),jsx(a$a,{open:T,onClose:Pt,headerTitle:"Filtros",headerProps:{direction:"row-reverse"},contentProps:{p:0},maxWidth:400,children:jsx(be,{})})]})},ar=rr;
59
59
 
60
- export { fo as CartDetail, ct as CartStatusLabel, _o as CartsList, Qe as CartsProvider, Xo as CartsSummary, Rr as CartsToolbar, c as useCartsContext, A as useCartsFilterContext };
60
+ export { He as CartDetail, it as CartStatusLabel, no as CartsList, _e as CartsProvider, Io as CartsSummary, ar as CartsToolbar, d as useCartsContext, w as useCartsFilterContext };
61
61
  //# sourceMappingURL=index.js.map