var e=Object.defineProperty,t=(t,s,i)=>(((t,s,i)=>{s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i})(t,"symbol"!=typeof s?s+"":s,i),i);import{r as s,_ as i,j as a,h as n,K as o,U as r}from"./react-B_SyE9nW.js";import{s as l,ah as c,b as d,c as u,e as h,o as p,n as m,G as g,br as x,m as f,w as v,p as b,aN as C,au as y,q as I,r as S,O as j,N as w,B as O,aW as P,b4 as M}from"./index-Flm6m8Wj.js";import{B as N}from"./BtnGeneric-hJRP5-Ca.js";import{B}from"./BtnAccept-DdOkP2kl.js";import{B as k}from"./BtnCancel-DeAAqoQH.js";import{B as L,j as R,g as E,y as T,I as D,f as F,a as $}from"./index-C6Ujt1Uk.js";import{G}from"./Grid-DM22V-x0.js";import{D as A}from"./DownIco-uXp5N5Ip.js";import{A as W}from"./Autocomplete-BQWOUXOt.js";import{f as _,T as q}from"./styles-BKX5ijFq.js";import{C as z}from"./ItemLoading-wir9MCjq.js";import{C as V}from"./Checkbox-BITrmcY_.js";import{_ as K}from"./history-CBi_mSPs.js";import{l as H,g as X}from"./listItemButtonClasses-BXluDTKZ.js";import{B as J}from"./BusinessReviewStore-DfTzlAZI.js";const U=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected","className"],Y=l(L,{shouldForwardProp:e=>c(e)||"classes"===e,name:"MuiListItemButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:s}=e;return[t.root,s.dense&&t.dense,"flex-start"===s.alignItems&&t.alignItemsFlexStart,s.divider&&t.divider,!s.disableGutters&&t.gutters]}})((({theme:e,ownerState:t})=>K({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${H.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:d(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${H.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:d(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${H.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:d(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:d(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${H.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${H.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},"flex-start"===t.alignItems&&{alignItems:"flex-start"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.dense&&{paddingTop:4,paddingBottom:4}))),Q=s.forwardRef((function(e,t){const o=u({props:e,name:"MuiListItemButton"}),{alignItems:r="center",autoFocus:l=!1,component:c="div",children:d,dense:p=!1,disableGutters:m=!1,divider:g=!1,focusVisibleClassName:x,selected:f=!1,className:v}=o,b=i(o,U),C=s.useContext(_),y=s.useMemo((()=>({dense:p||C.dense||!1,alignItems:r,disableGutters:m})),[r,C.dense,p,m]),I=s.useRef(null);R((()=>{l&&I.current&&I.current.focus()}),[l]);const S=K({},o,{alignItems:r,dense:y.dense,disableGutters:m,divider:g,selected:f}),j=(e=>{const{alignItems:t,classes:s,dense:i,disabled:a,disableGutters:n,divider:o,selected:r}=e,l=h({root:["root",i&&"dense",!n&&"gutters",o&&"divider",a&&"disabled","flex-start"===t&&"alignItemsFlexStart",r&&"selected"]},X,s);return K({},s,l)})(S),w=E(I,t);return a.jsx(_.Provider,{value:y,children:a.jsx(Y,K({ref:w,href:b.href||b.to,component:(b.href||b.to)&&"div"===c?"button":c,focusVisibleClassName:n(j.focusVisible,x),ownerState:S,className:n(j.root,v)},b,{classes:j,children:d}))})}));const Z=p((function(e){return a.jsx(N,{...e,children:m("add")})})),ee={"& .MuiPaper-root":{maxWidth:"100%",width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"column",p:"15px","@media(min-width:768px)":{maxWidth:"500px",minHeight:"200px","& .enj-full-actions":{m:"20px 0 10px",justifyContent:"center",alignItems:"center",width:"fit-content","& .MuiButtonBase-root:first-of-type":{mr:"15px"}}}}};const te=p((function({open:e,onAccept:t,onCancel:i,children:n,wildcard:o=!0}){const r=s.useMemo((()=>g.isMobile),[g.device]);return a.jsxs(T,{fullScreen:r,fullWidth:r,open:e,sx:ee,children:[n,o?a.jsx(G,{sx:{height:"100%",width:"100%"}}):a.jsx(a.Fragment,{}),a.jsxs(G,{container:!0,width:"100%",className:"enj-full-actions",children:[a.jsx(B,{size:"small",onClick:t}),a.jsx(k,{size:"small",onClick:i})]})]})}));const se=p((function({required:e,options:t,fieldState:s,label:i,id:n,maxSelectable:o,onMaxItemsReached:r,onClick:l,placeholder:c,readOnly:d=!1,open:u,hidePopupIcon:h,inputSxProps:p,inputMargin:g,inputRef:b}){return a.jsx(W,{multiple:!0,fullWidth:!0,id:n||s.id,disableClearable:!0,noOptionsText:m("noOptions"),ListboxProps:{style:{maxHeight:"30vh"}},ChipProps:{variant:"outlined",sx:{"&.MuiChip-root > svg.MuiSvgIcon-root.MuiChip-deleteIcon":{color:"#d64300b3!important"}}},clearOnBlur:!0,openOnFocus:!u,options:t,placeholder:c,open:u,getOptionLabel:e=>e.label,value:s.value,isOptionEqualToValue:e=>s.value.some((({value:t})=>t===e.value)),renderInput:t=>a.jsx(x,{render:()=>a.jsx(q,{...t,required:e&&!(null==s?void 0:s.value.length),helperText:s.error,error:s.hasError||!!s.error,label:i,variant:"outlined",sx:{"&.MuiFormControl-root":{m:g??"27px auto 7px"},...p??{}},InputLabelProps:{shrink:!0,hidden:!1},onClick:l,InputProps:{...t.InputProps,readOnly:d},placeholder:(null==s?void 0:s.value.length)?"":c,inputRef:b})}),onChange:(e,t)=>{if(o&&t.length>o)return null==r||r(),f.setError("errMaxOptions"),"NONE"!==f.current&&f.setPrevious(f.current),void v("GENERIC_ERROR");s.onChange(t.sort((({label:e},{label:t})=>e>t?1:-1)))},popupIcon:a.jsx(A,{sx:{display:h?"none":void 0}})})})),ie={order_by:"name",page:1,page_size:20};class ae{constructor(){t(this,"isNextPageLoading",!1),t(this,"_count",0),t(this,"orgCount",0),t(this,"elements",new Map),t(this,"index",new Map),t(this,"search",""),t(this,"limit",0),t(this,"selected",new Set),t(this,"ref",s.createRef()),t(this,"setSearch",((e="")=>{this.search=e,this.filterItems()})),t(this,"setIndex",((e=new Map)=>{this.index=e})),t(this,"setCount",(e=>{this._count=e,setTimeout((()=>{e>this.orgCount&&this.setOrgCount(e)}),0)})),t(this,"setOrgCount",(e=>{this.orgCount=e})),t(this,"setIsNextPageLoading",((e=!1)=>{this.isNextPageLoading=e})),t(this,"isSelected",(e=>this.selected.has(e))),t(this,"isItemLoaded",(e=>!this.hasNextPage||e<this.getItems.length)),t(this,"getItemByIndex",(e=>this.index.get(e)||{label:"",value:""})),t(this,"clear",(()=>{})),t(this,"filterItems",C((()=>{this.setCount(0),this.setIndex(),this.loadMoreItems(0)}),300,{trailing:!0})),t(this,"fillElementsData",((e,t)=>{const s=this.elements;y((()=>{null==e||e.results.forEach((({slug:e,name:i},a)=>{const n={label:i,value:e};s.get(e)||s.set(e,n),this.index.set(Number(20*(t-1)+a),n)})),e.count>this.count&&this.setCount(e.count)}))})),t(this,"fillElementsFromState",((e,t)=>{this.limit=t,y((()=>{const t=this.elements;e.forEach((e=>{const{value:s}=e;t.get(s)||t.set(s,e)}))}))})),t(this,"loadInitData",(async()=>{await this.loadMoreItems(0)})),t(this,"loadMoreItems",(async(...e)=>(this.isNextPageLoading||(this.setIsNextPageLoading(!0),await this.loadNextPage(e[0]),this.setIsNextPageLoading()),null))),t(this,"loadNextPage",(async e=>{const t=this.getRequestFilter(e),s=this.total;if(s&&s===this.orgCount){const e=this.search?this.getElements.filter((({label:e})=>e.toLowerCase().startsWith(this.search.toLowerCase()))):this.getElements;return void y((()=>{e.forEach(((e,t)=>{this.index.set(Number(t),e)})),this.count!==e.length&&this.setCount(e.length)}))}const{success:i,data:a}=await this.loadDataByFilter(t);i&&this.fillElementsData(a,Number(t.page||0))})),t(this,"loadDataByFilter",(async e=>{throw await new Promise((e=>e(void 0))),new Error(`Most implement loadDataByFilter this in child classes with filters ${JSON.stringify(e,null,2)}`)})),t(this,"getRequestFilter",(e=>{const t=(parseInt(String(e))+20)/20,s={...ie};return this.search&&(s.name_starts=this.search),s.page=parseInt(String(t)),s})),t(this,"handleToggle",(e=>{this.ref.current._listRef.state.instance.scrollToItem(e)})),t(this,"onChangeFilter",(e=>this.setSearch(e.target.value))),t(this,"handleKeyDown",(e=>{"Backspace"===e.key&&this.selected.size&&""===this.search&&g.isDesktop&&(e.preventDefault(),e.stopPropagation(),y((()=>{const e=Array.from(this.selected);e.pop(),this.selected=new Set(e)})))})),t(this,"onClearSearch",(()=>this.setSearch())),t(this,"onToggleSelection",((e,t=!1)=>{y((()=>{let s=!1;if(this.selected.has(e)?this.selected.delete(e):(s=!0,this.selected.add(e),this.search&&this.onClearSearch()),t){this.elements.get(e).data=s}}))})),t(this,"onClearSelection",((e=!0)=>{y((()=>{e?(this.selected.forEach((e=>{const t=this.elements.get(e);(null==t?void 0:t.data)&&(t.data=!1)})),this.selected.clear()):this.selected.forEach((e=>{var t;(null==(t=this.elements.get(e))?void 0:t.data)||this.selected.delete(e)}))}))})),b(this,{search:I,elements:I,selected:I,isNextPageLoading:I,orgCount:I,_count:I,index:I,setSearch:S,setIsNextPageLoading:S,setCount:S,setOrgCount:S,setIndex:S,getItems:j,getItemsCount:j,getSelectedItems:j,hasNextPage:j})}get getElements(){return Array.from(this.elements.values()).sort((({label:e},{label:t})=>e.toLowerCase().localeCompare(t.toLowerCase())))}get total(){return this.elements.size}get getItems(){return Array.from(this.index.values()).sort((({label:e},{label:t})=>e.toLowerCase().localeCompare(t.toLowerCase())))}get getSelectedItems(){const e=[];return this.selected.forEach((t=>{const s=this.elements.get(t);s&&e.push(s)})),e}get count(){return this._count}get getItemsCount(){return this.count+(this.hasNextPage?1:0)}get hasNextPage(){return this.index.size<this.count}}const ne=s.createContext(new ae),oe=l(D)`
  --visible: 'hidden';

  & {
    visibility: var(--visible);
    padding: 6px 8px;
  }
`;const re=p((function(){const e=s.useContext(ne);return a.jsx(oe,{"aria-label":"clear",onClick:e.onClearSearch,style:{"--visible":e.search?"visible":"hidden"},children:a.jsx(F,{color:"secondary"})})})),le=p((function({children:e}){const t=s.useContext(ne),i=j((()=>!!t.getSelectedItems.length)).get();return a.jsx(G,{sx:{display:"flex",justifyContent:"start",flexWrap:"wrap",listStyle:"none",maxWidth:"100%",pt:i?"4px":"2px",m:0},children:e})})),ce=p((function({label:e,value:t}){const{onToggleSelection:i}=s.useContext(ne);return a.jsx(z,{label:e,onDelete:()=>i(String(t),!0),variant:"outlined",sx:{maxWidth:"100%",m:"2px"}})})),de=p((function(){const e=s.useContext(ne);return a.jsx(a.Fragment,{children:e.getSelectedItems.map((e=>a.jsx(ce,{...e},e.value)))})}));const ue=p((function(){return a.jsx(le,{children:a.jsx(de,{})})}));const he=p((function(){const e=s.useContext(ne);return a.jsx(q,{id:"search-text-field",onChange:e.onChangeFilter,placeholder:m("filter"),autoFocus:g.isDesktop,sx:{"& fieldset":{top:0},"& input":{"&::placeholder":{fontStyle:"italic",opacity:.6},display:"inline-block",maxWidth:"calc(100% - 46px)",marginLeft:"6px",p:"0"},"& .MuiInputBase-root":{p:"0 8px",display:"inline-block",borderRadius:"24px"}},value:e.search,onKeyDown:e.handleKeyDown,InputProps:{endAdornment:a.jsx(re,{}),startAdornment:a.jsx(ue,{})}})}));const pe=p((function({value:e,disabled:t}){const{isSelected:i}=s.useContext(ne),n=j((()=>i(String(e)))).get();return a.jsx(V,{tabIndex:-1,disabled:t,checked:n,disableRipple:!0,inputProps:{"aria-labelledby":`list-item-${String(e)}`}})})),me=l(w)`
  & {
    margin: 0 auto 0 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
`;const ge=p((function({index:e,style:t}){const[i,n]=s.useState(!1),[o,r]=s.useState(!1),l=s.useContext(ne),{onToggleSelection:c,getItemByIndex:d}=l,{label:u,value:h}=j((()=>d(e))).get()||{label:"",value:""};return h||l.loadMoreItems(e),s.useEffect((()=>{l.getSelectedItems.length>=l.limit?n(!0):(n(!1),r(!1))}),[l.getSelectedItems]),a.jsxs(Q,{style:t,onClick:()=>{var e;l.limit?l.getSelectedItems.length<l.limit||l.isSelected(String(h))?c(String(h),!0):(r(!0),setTimeout((()=>{r(!1)}),3e3)):c(String(h),!0),g.isDesktop&&(null==(e=document.getElementById("search-text-field"))||e.focus())},sx:{px:0,py:.25,display:"flex",flexDirection:"column",alignItems:"flex-start","& .MuiCheckbox-root":{px:1,py:0}},children:[a.jsxs(O,{sx:{display:"flex",alignItems:"center"},children:[a.jsx(pe,{value:String(h),disabled:!h||i&&!l.isSelected(String(h))}),a.jsx(me,{align:"start",children:h?String(u):"..."})]}),o&&!l.isSelected(String(h))&&a.jsx($,{margin:"0px 0px 0px 10px",color:"redError",align:"start",text:m("maxNumTags"),size:"minim"})]})}));const xe=p((function({onItemsRendered:e,listRef:t}){const i=s.useContext(ne);return a.jsx(o,{className:"List",height:g.isMobile?g.height-105:462,itemCount:i.getItemsCount,itemSize:42,ref:t,onItemsRendered:e,width:"100%",children:ge})}));const fe=p((function(){const e=s.useContext(ne),{isItemLoaded:t,loadMoreItems:i}=e;return a.jsx(r,{ref:e.ref,isItemLoaded:t,loadMoreItems:i,itemCount:e.getItemsCount,children:({onItemsRendered:e,ref:t})=>a.jsx(xe,{onItemsRendered:e,listRef:t})})})),ve={width:"100%",maxHeight:"calc(100% - 35px)",overflow:"hidden",overflowY:"auto"};const be=p((function(){return a.jsxs(O,{width:"100%",sx:ve,children:[a.jsx(he,{}),a.jsx(fe,{})]})}));const Ce=p((function({fieldState:e,limit:t,required:i,label:n,placeholder:o}){const r=s.useRef(),l=s.useContext(ne),c=s.useMemo((()=>I({open:!1,get isOpen(){return this.open},setOpen(s=!1){l.onClearSelection(),l.fillElementsFromState(e.value,t??0),e.value.forEach((({value:e})=>{l.onToggleSelection(e)})),this.open=s}})),[e.value]);return a.jsxs(a.Fragment,{children:[a.jsx(se,{options:[],maxSelectable:l.limit,onMaxItemsReached:()=>console.log("end reached"),placeholder:o,fieldState:e,label:n,required:i,inputSxProps:e.value.length?{"& input":{padding:"0!important",height:"0!important"}}:void 0,open:!1,onClick:()=>c.setOpen(!0),readOnly:!0,hidePopupIcon:!0,inputRef:r}),a.jsx(te,{open:c.open,onAccept:()=>{e.onChange(P(l.getSelectedItems)),c.setOpen(),setTimeout((()=>{l.onClearSelection(),l.setSearch()}),700),e.validate(),setTimeout((()=>{var e;return null==(e=r.current)?void 0:e.blur()}))},onCancel:()=>{c.setOpen(),setTimeout((()=>{l.onClearSelection(),l.setSearch()}),700),e.validate(),setTimeout((()=>{var e;return null==(e=r.current)?void 0:e.blur()}))},wildcard:!1,children:a.jsx(be,{})})]})}));const ye=s.createContext(new class extends ae{constructor(){super(),t(this,"type","product"),t(this,"setType",(e=>{this.type=e})),t(this,"loadDataByFilter",(async e=>"product"===this.type?M.loadTagsByCategory({...e,category:"tipo-de-cocina"}):J.loadTagsByCategory({...e,category:"tipo-de-cocina"})))}});const Ie=p((function({fieldState:e,required:t=!0,labelId:i="kitchenType",placeholderId:n="selectOneOrMoreCuisine",limit:o,type:r="product"}){const l=s.useContext(ye);return s.useLayoutEffect((()=>{l.setType(r),l.loadInitData()}),[]),a.jsx(ne.Provider,{value:l,children:a.jsx(Ce,{limit:o,label:m(i),placeholder:m(n),required:t,fieldState:e})})}));export{Z as B,Ie as F,Q as L,ae as M,ne as a,Ce as b,te as c};