2 lines
34 KiB
JavaScript
2 lines
34 KiB
JavaScript
import{b as x,F as Wt,G as ct,H as Qe,J as Ht,v as P,p as kt,q as wt,s as Dt,_ as De,j as r,w as Te,K as ot,x as Nt,y as K,P as zt,L as Mt,N as Vt,O as fe,I as mt,Q as pt,r as Bt,i as _t,u as Gt,a as Kt,T as dt,M as Ze,D as Pt,C as Tt,R as Ut,V as qt}from"./index-B539dxxT.js";import{D as Jt,a as Qt,e as Zt,b as Yt,c as Xt}from"./Close-DfGDV2pn.js";import{S as eo}from"./Snackbar-CovgXSVI.js";import{a as to,C as oo,A as ro,G as h}from"./PageHeader-vd12s20e.js";import{A as no,f as Pe,o as Ot,i as ft,T as C}from"./TextField-Cl3T8i0P.js";import{B as gt}from"./Button-D7QX3_Jz.js";const ao=o=>{const a=x.useRef({});return x.useEffect(()=>{a.current=o}),a.current};function jt(o){return typeof o.normalize<"u"?o.normalize("NFD").replace(/[\u0300-\u036f]/g,""):o}function so(o={}){const{ignoreAccents:a=!0,ignoreCase:d=!0,limit:y,matchFrom:D="any",stringify:T,trim:L=!1}=o;return(v,{inputValue:s,getOptionLabel:A})=>{let O=L?s.trim():s;d&&(O=O.toLowerCase()),a&&(O=jt(O));const W=O?v.filter(Z=>{let $=(T||A)(Z);return d&&($=$.toLowerCase()),a&&($=jt($)),D==="start"?$.indexOf(O)===0:$.indexOf(O)>-1}):v;return typeof y=="number"?W.slice(0,y):W}}function Ye(o,a){for(let d=0;d<o.length;d+=1)if(a(o[d]))return d;return-1}const lo=so(),Lt=5,io=o=>{var a;return o.current!==null&&((a=o.current.parentElement)==null?void 0:a.contains(document.activeElement))},uo=[];function co(o){const{unstable_isActiveElementInListbox:a=io,unstable_classNamePrefix:d="Mui",autoComplete:y=!1,autoHighlight:D=!1,autoSelect:T=!1,blurOnSelect:L=!1,clearOnBlur:v=!o.freeSolo,clearOnEscape:s=!1,componentName:A="useAutocomplete",defaultValue:O=o.multiple?uo:null,disableClearable:W=!1,disableCloseOnSelect:Z=!1,disabled:$,disabledItemsFocusable:ge=!1,disableListWrap:ie=!1,filterOptions:Ne=lo,filterSelectedOptions:b=!1,freeSolo:Y=!1,getOptionDisabled:i,getOptionKey:R,getOptionLabel:j=t=>{var e;return(e=t.label)!=null?e:t},groupBy:_,handleHomeEndKeys:H=!o.freeSolo,id:oe,includeInputInList:Oe=!1,inputValue:he,isOptionEqualToValue:se=(t,e)=>t===e,multiple:g=!1,onChange:U,onClose:ze,onHighlightChange:Me,onInputChange:re,onOpen:Ee,open:xt,openOnFocus:vt=!1,options:je,readOnly:ue=!1,selectOnFocus:Le=!o.freeSolo,value:Fe}=o,V=Wt(oe);let M=j;M=t=>{const e=j(t);return typeof e!="string"?String(e):e};const Ae=x.useRef(!1),We=x.useRef(!0),k=x.useRef(null),B=x.useRef(null),[me,rt]=x.useState(null),[E,$e]=x.useState(-1),He=D?0:-1,N=x.useRef(He),[u,yt]=ct({controlled:Fe,default:O,name:A}),[f,ne]=ct({controlled:he,default:"",name:A,state:"inputValue"}),[be,Ve]=x.useState(!1),ce=x.useCallback((t,e)=>{if(!(g?u.length<e.length:e!==null)&&!v)return;let l;if(g)l="";else if(e==null)l="";else{const p=M(e);l=typeof p=="string"?p:""}f!==l&&(ne(l),re&&re(t,l,"reset"))},[M,f,g,re,ne,v,u]),[le,Be]=ct({controlled:xt,default:!1,name:A,state:"open"}),[nt,_e]=x.useState(!0),Ge=!g&&u!=null&&f===M(u),F=le&&!ue,m=F?Ne(je.filter(t=>!(b&&(g?u:[u]).some(e=>e!==null&&se(t,e)))),{inputValue:Ge&&nt?"":f,getOptionLabel:M}):[],q=ao({filteredOptions:m,value:u,inputValue:f});x.useEffect(()=>{const t=u!==q.value;be&&!t||Y&&!t||ce(null,u)},[u,ce,be,q.value,Y]);const Re=le&&m.length>0&&!ue,xe=Qe(t=>{t===-1?k.current.focus():me.querySelector(`[data-tag-index="${t}"]`).focus()});x.useEffect(()=>{g&&E>u.length-1&&($e(-1),xe(-1))},[u,g,E,xe]);function ve(t,e){if(!B.current||t<0||t>=m.length)return-1;let n=t;for(;;){const l=B.current.querySelector(`[data-option-index="${n}"]`),p=ge?!1:!l||l.disabled||l.getAttribute("aria-disabled")==="true";if(l&&l.hasAttribute("tabindex")&&!p)return n;if(e==="next"?n=(n+1)%m.length:n=(n-1+m.length)%m.length,n===t)return-1}}const X=Qe(({event:t,index:e,reason:n="auto"})=>{if(N.current=e,e===-1?k.current.removeAttribute("aria-activedescendant"):k.current.setAttribute("aria-activedescendant",`${V}-option-${e}`),Me&&Me(t,e===-1?null:m[e],n),!B.current)return;const l=B.current.querySelector(`[role="option"].${d}-focused`);l&&(l.classList.remove(`${d}-focused`),l.classList.remove(`${d}-focusVisible`));let p=B.current;if(B.current.getAttribute("role")!=="listbox"&&(p=B.current.parentElement.querySelector('[role="listbox"]')),!p)return;if(e===-1){p.scrollTop=0;return}const S=B.current.querySelector(`[data-option-index="${e}"]`);if(S&&(S.classList.add(`${d}-focused`),n==="keyboard"&&S.classList.add(`${d}-focusVisible`),p.scrollHeight>p.clientHeight&&n!=="mouse"&&n!=="touch")){const I=S,te=p.clientHeight+p.scrollTop,It=I.offsetTop+I.offsetHeight;It>te?p.scrollTop=It-p.clientHeight:I.offsetTop-I.offsetHeight*(_?1.3:0)<p.scrollTop&&(p.scrollTop=I.offsetTop-I.offsetHeight*(_?1.3:0))}}),J=Qe(({event:t,diff:e,direction:n="next",reason:l="auto"})=>{if(!F)return;const S=ve((()=>{const I=m.length-1;if(e==="reset")return He;if(e==="start")return 0;if(e==="end")return I;const te=N.current+e;return te<0?te===-1&&Oe?-1:ie&&N.current!==-1||Math.abs(e)>1?0:I:te>I?te===I+1&&Oe?-1:ie||Math.abs(e)>1?I:0:te})(),n);if(X({index:S,reason:l,event:t}),y&&e!=="reset")if(S===-1)k.current.value=f;else{const I=M(m[S]);k.current.value=I,I.toLowerCase().indexOf(f.toLowerCase())===0&&f.length>0&&k.current.setSelectionRange(f.length,I.length)}}),ye=()=>{const t=(e,n)=>{const l=e?M(e):"",p=n?M(n):"";return l===p};if(N.current!==-1&&q.filteredOptions&&q.filteredOptions.length!==m.length&&q.inputValue===f&&(g?u.length===q.value.length&&q.value.every((e,n)=>M(u[n])===M(e)):t(q.value,u))){const e=q.filteredOptions[N.current];if(e)return Ye(m,n=>M(n)===M(e))}return-1},ke=x.useCallback(()=>{if(!F)return;const t=ye();if(t!==-1){N.current=t;return}const e=g?u[0]:u;if(m.length===0||e==null){J({diff:"reset"});return}if(B.current){if(e!=null){const n=m[N.current];if(g&&n&&Ye(u,p=>se(n,p))!==-1)return;const l=Ye(m,p=>se(p,e));l===-1?J({diff:"reset"}):X({index:l});return}if(N.current>=m.length-1){X({index:m.length-1});return}X({index:N.current})}},[m.length,g?!1:u,b,J,X,F,f,g]),at=Qe(t=>{Ht(B,t),t&&ke()});x.useEffect(()=>{ke()},[ke]);const G=t=>{le||(Be(!0),_e(!0),Ee&&Ee(t))},ae=(t,e)=>{le&&(Be(!1),ze&&ze(t,e))},ee=(t,e,n,l)=>{if(g){if(u.length===e.length&&u.every((p,S)=>p===e[S]))return}else if(u===e)return;U&&U(t,e,n,l),yt(e)},Ce=x.useRef(!1),pe=(t,e,n="selectOption",l="options")=>{let p=n,S=e;if(g){S=Array.isArray(u)?u.slice():[];const I=Ye(S,te=>se(e,te));I===-1?S.push(e):l!=="freeSolo"&&(S.splice(I,1),p="removeOption")}ce(t,S),ee(t,S,p,{option:e}),!Z&&(!t||!t.ctrlKey&&!t.metaKey)&&ae(t,p),(L===!0||L==="touch"&&Ce.current||L==="mouse"&&!Ce.current)&&k.current.blur()};function Ke(t,e){if(t===-1)return-1;let n=t;for(;;){if(e==="next"&&n===u.length||e==="previous"&&n===-1)return-1;const l=me.querySelector(`[data-tag-index="${n}"]`);if(!l||!l.hasAttribute("tabindex")||l.disabled||l.getAttribute("aria-disabled")==="true")n+=e==="next"?1:-1;else return n}}const Ue=(t,e)=>{if(!g)return;f===""&&ae(t,"toggleInput");let n=E;E===-1?f===""&&e==="previous"&&(n=u.length-1):(n+=e==="next"?1:-1,n<0&&(n=0),n===u.length&&(n=-1)),n=Ke(n,e),$e(n),xe(n)},qe=t=>{Ae.current=!0,ne(""),re&&re(t,"","clear"),ee(t,g?[]:null,"clear")},st=t=>e=>{if(t.onKeyDown&&t.onKeyDown(e),!e.defaultMuiPrevented&&(E!==-1&&["ArrowLeft","ArrowRight"].indexOf(e.key)===-1&&($e(-1),xe(-1)),e.which!==229))switch(e.key){case"Home":F&&H&&(e.preventDefault(),J({diff:"start",direction:"next",reason:"keyboard",event:e}));break;case"End":F&&H&&(e.preventDefault(),J({diff:"end",direction:"previous",reason:"keyboard",event:e}));break;case"PageUp":e.preventDefault(),J({diff:-Lt,direction:"previous",reason:"keyboard",event:e}),G(e);break;case"PageDown":e.preventDefault(),J({diff:Lt,direction:"next",reason:"keyboard",event:e}),G(e);break;case"ArrowDown":e.preventDefault(),J({diff:1,direction:"next",reason:"keyboard",event:e}),G(e);break;case"ArrowUp":e.preventDefault(),J({diff:-1,direction:"previous",reason:"keyboard",event:e}),G(e);break;case"ArrowLeft":Ue(e,"previous");break;case"ArrowRight":Ue(e,"next");break;case"Enter":if(N.current!==-1&&F){const n=m[N.current],l=i?i(n):!1;if(e.preventDefault(),l)return;pe(e,n,"selectOption"),y&&k.current.setSelectionRange(k.current.value.length,k.current.value.length)}else Y&&f!==""&&Ge===!1&&(g&&e.preventDefault(),pe(e,f,"createOption","freeSolo"));break;case"Escape":F?(e.preventDefault(),e.stopPropagation(),ae(e,"escape")):s&&(f!==""||g&&u.length>0)&&(e.preventDefault(),e.stopPropagation(),qe(e));break;case"Backspace":if(g&&!ue&&f===""&&u.length>0){const n=E===-1?u.length-1:E,l=u.slice();l.splice(n,1),ee(e,l,"removeOption",{option:u[n]})}break;case"Delete":if(g&&!ue&&f===""&&u.length>0&&E!==-1){const n=E,l=u.slice();l.splice(n,1),ee(e,l,"removeOption",{option:u[n]})}break}},Ct=t=>{Ve(!0),vt&&!Ae.current&&G(t)},Se=t=>{if(a(B)){k.current.focus();return}Ve(!1),We.current=!0,Ae.current=!1,T&&N.current!==-1&&F?pe(t,m[N.current],"blur"):T&&Y&&f!==""?pe(t,f,"blur","freeSolo"):v&&ce(t,u),ae(t,"blur")},z=t=>{const e=t.target.value;f!==e&&(ne(e),_e(!1),re&&re(t,e,"input")),e===""?!W&&!g&&ee(t,null,"clear"):G(t)},w=t=>{const e=Number(t.currentTarget.getAttribute("data-option-index"));N.current!==e&&X({event:t,index:e,reason:"mouse"})},Q=t=>{X({event:t,index:Number(t.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Ce.current=!0},St=t=>{const e=Number(t.currentTarget.getAttribute("data-option-index"));pe(t,m[e],"selectOption"),Ce.current=!1},lt=t=>e=>{const n=u.slice();n.splice(t,1),ee(e,n,"removeOption",{option:u[t]})},it=t=>{le?ae(t,"toggleInput"):G(t)},ut=t=>{t.currentTarget.contains(t.target)&&t.target.getAttribute("id")!==V&&t.preventDefault()},Je=t=>{t.currentTarget.contains(t.target)&&(k.current.focus(),Le&&We.current&&k.current.selectionEnd-k.current.selectionStart===0&&k.current.select(),We.current=!1)},we=t=>{!$&&(f===""||!le)&&it(t)};let de=Y&&f.length>0;de=de||(g?u.length>0:u!==null);let Ie=m;return _&&(Ie=m.reduce((t,e,n)=>{const l=_(e);return t.length>0&&t[t.length-1].group===l?t[t.length-1].options.push(e):t.push({key:n,index:n,group:l,options:[e]}),t},[])),$&&be&&Se(),{getRootProps:(t={})=>P({"aria-owns":Re?`${V}-listbox`:null},t,{onKeyDown:st(t),onMouseDown:ut,onClick:Je}),getInputLabelProps:()=>({id:`${V}-label`,htmlFor:V}),getInputProps:()=>({id:V,value:f,onBlur:Se,onFocus:Ct,onChange:z,onMouseDown:we,"aria-activedescendant":F?"":null,"aria-autocomplete":y?"both":"list","aria-controls":Re?`${V}-listbox`:void 0,"aria-expanded":Re,autoComplete:"off",ref:k,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:$}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:qe}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:it}),getTagProps:({index:t})=>P({key:t,"data-tag-index":t,tabIndex:-1},!ue&&{onDelete:lt(t)}),getListboxProps:()=>({role:"listbox",id:`${V}-listbox`,"aria-labelledby":`${V}-label`,ref:at,onMouseDown:t=>{t.preventDefault()}}),getOptionProps:({index:t,option:e})=>{var n;const l=(g?u:[u]).some(S=>S!=null&&se(e,S)),p=i?i(e):!1;return{key:(n=R==null?void 0:R(e))!=null?n:M(e),tabIndex:-1,role:"option",id:`${V}-option-${t}`,onMouseMove:w,onClick:St,onTouchStart:Q,"data-option-index":t,"aria-disabled":p,"aria-selected":l}},id:V,inputValue:f,value:u,dirty:de,expanded:F&&me,popupOpen:F,focused:be||E!==-1,anchorEl:me,setAnchorEl:rt,focusedTag:E,groupedOptions:Ie}}function po(o){return kt("MuiListSubheader",o)}wt("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const fo=["className","color","component","disableGutters","disableSticky","inset"],go=o=>{const{classes:a,color:d,disableGutters:y,inset:D,disableSticky:T}=o,L={root:["root",d!=="default"&&`color${ot(d)}`,!y&&"gutters",D&&"inset",!T&&"sticky"]};return Nt(L,po,a)},ho=K("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(o,a)=>{const{ownerState:d}=o;return[a.root,d.color!=="default"&&a[`color${ot(d.color)}`],!d.disableGutters&&a.gutters,d.inset&&a.inset,!d.disableSticky&&a.sticky]}})(({theme:o,ownerState:a})=>P({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(o.vars||o).palette.text.secondary,fontFamily:o.typography.fontFamily,fontWeight:o.typography.fontWeightMedium,fontSize:o.typography.pxToRem(14)},a.color==="primary"&&{color:(o.vars||o).palette.primary.main},a.color==="inherit"&&{color:"inherit"},!a.disableGutters&&{paddingLeft:16,paddingRight:16},a.inset&&{paddingLeft:72},!a.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(o.vars||o).palette.background.paper})),Et=x.forwardRef(function(a,d){const y=Dt({props:a,name:"MuiListSubheader"}),{className:D,color:T="default",component:L="li",disableGutters:v=!1,disableSticky:s=!1,inset:A=!1}=y,O=De(y,fo),W=P({},y,{color:T,component:L,disableGutters:v,disableSticky:s,inset:A}),Z=go(W);return r.jsx(ho,P({as:L,className:Te(Z.root,D),ref:d,ownerState:W},O))});Et.muiSkipListHighlight=!0;function mo(o){return kt("MuiAutocomplete",o)}const c=wt("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var At,$t;const bo=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],xo=["ref"],vo=["key"],yo=["key"],Co=o=>{const{classes:a,disablePortal:d,expanded:y,focused:D,fullWidth:T,hasClearIcon:L,hasPopupIcon:v,inputFocused:s,popupOpen:A,size:O}=o,W={root:["root",y&&"expanded",D&&"focused",T&&"fullWidth",L&&"hasClearIcon",v&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",s&&"inputFocused"],tag:["tag",`tagSize${ot(O)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",A&&"popupIndicatorOpen"],popper:["popper",d&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return Nt(W,mo,a)},So=K("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(o,a)=>{const{ownerState:d}=o,{fullWidth:y,hasClearIcon:D,hasPopupIcon:T,inputFocused:L,size:v}=d;return[{[`& .${c.tag}`]:a.tag},{[`& .${c.tag}`]:a[`tagSize${ot(v)}`]},{[`& .${c.inputRoot}`]:a.inputRoot},{[`& .${c.input}`]:a.input},{[`& .${c.input}`]:L&&a.inputFocused},a.root,y&&a.fullWidth,T&&a.hasPopupIcon,D&&a.hasClearIcon]}})({[`&.${c.focused} .${c.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${c.clearIndicator}`]:{visibility:"visible"}},[`& .${c.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${c.inputRoot}`]:{[`.${c.hasPopupIcon}&, .${c.hasClearIcon}&`]:{paddingRight:30},[`.${c.hasPopupIcon}.${c.hasClearIcon}&`]:{paddingRight:56},[`& .${c.input}`]:{width:0,minWidth:30}},[`& .${ft.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${ft.root}.${fe.sizeSmall}`]:{[`& .${ft.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Ot.root}`]:{padding:9,[`.${c.hasPopupIcon}&, .${c.hasClearIcon}&`]:{paddingRight:39},[`.${c.hasPopupIcon}.${c.hasClearIcon}&`]:{paddingRight:65},[`& .${c.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${c.endAdornment}`]:{right:9}},[`& .${Ot.root}.${fe.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${c.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Pe.root}`]:{paddingTop:19,paddingLeft:8,[`.${c.hasPopupIcon}&, .${c.hasClearIcon}&`]:{paddingRight:39},[`.${c.hasPopupIcon}.${c.hasClearIcon}&`]:{paddingRight:65},[`& .${Pe.input}`]:{padding:"7px 4px"},[`& .${c.endAdornment}`]:{right:9}},[`& .${Pe.root}.${fe.sizeSmall}`]:{paddingBottom:1,[`& .${Pe.input}`]:{padding:"2.5px 4px"}},[`& .${fe.hiddenLabel}`]:{paddingTop:8},[`& .${Pe.root}.${fe.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${c.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Pe.root}.${fe.hiddenLabel}.${fe.sizeSmall}`]:{[`& .${c.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${c.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${c.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${c.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${c.inputRoot}`]:{flexWrap:"wrap"}}}]}),Io=K("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(o,a)=>a.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),Po=K(mt,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(o,a)=>a.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),To=K(mt,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:o},a)=>P({},a.popupIndicator,o.popupOpen&&a.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),Oo=K(Mt,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(o,a)=>{const{ownerState:d}=o;return[{[`& .${c.option}`]:a.option},a.popper,d.disablePortal&&a.popperDisablePortal]}})(({theme:o})=>({zIndex:(o.vars||o).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),jo=K(zt,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(o,a)=>a.paper})(({theme:o})=>P({},o.typography.body1,{overflow:"auto"})),Lo=K("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(o,a)=>a.loading})(({theme:o})=>({color:(o.vars||o).palette.text.secondary,padding:"14px 16px"})),Ao=K("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(o,a)=>a.noOptions})(({theme:o})=>({color:(o.vars||o).palette.text.secondary,padding:"14px 16px"})),$o=K("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(o,a)=>a.listbox})(({theme:o})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${c.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[o.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${c.focused}`]:{backgroundColor:(o.vars||o).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(o.vars||o).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${c.focusVisible}`]:{backgroundColor:(o.vars||o).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:o.vars?`rgba(${o.vars.palette.primary.mainChannel} / ${o.vars.palette.action.selectedOpacity})`:pt(o.palette.primary.main,o.palette.action.selectedOpacity),[`&.${c.focused}`]:{backgroundColor:o.vars?`rgba(${o.vars.palette.primary.mainChannel} / calc(${o.vars.palette.action.selectedOpacity} + ${o.vars.palette.action.hoverOpacity}))`:pt(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(o.vars||o).palette.action.selected}},[`&.${c.focusVisible}`]:{backgroundColor:o.vars?`rgba(${o.vars.palette.primary.mainChannel} / calc(${o.vars.palette.action.selectedOpacity} + ${o.vars.palette.action.focusOpacity}))`:pt(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)}}}})),Ro=K(Et,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(o,a)=>a.groupLabel})(({theme:o})=>({backgroundColor:(o.vars||o).palette.background.paper,top:-8})),ko=K("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(o,a)=>a.groupUl})({padding:0,[`& .${c.option}`]:{paddingLeft:24}}),Xe=x.forwardRef(function(a,d){var y,D,T,L;const v=Dt({props:a,name:"MuiAutocomplete"}),{autoComplete:s=!1,autoHighlight:A=!1,autoSelect:O=!1,blurOnSelect:W=!1,ChipProps:Z,className:$,clearIcon:ge=At||(At=r.jsx(to,{fontSize:"small"})),clearOnBlur:ie=!v.freeSolo,clearOnEscape:Ne=!1,clearText:b="Clear",closeText:Y="Close",componentsProps:i={},defaultValue:R=v.multiple?[]:null,disableClearable:j=!1,disableCloseOnSelect:_=!1,disabled:H=!1,disabledItemsFocusable:oe=!1,disableListWrap:Oe=!1,disablePortal:he=!1,filterSelectedOptions:se=!1,forcePopupIcon:g="auto",freeSolo:U=!1,fullWidth:ze=!1,getLimitTagsText:Me=e=>`+${e}`,getOptionLabel:re,groupBy:Ee,handleHomeEndKeys:xt=!v.freeSolo,includeInputInList:vt=!1,limitTags:je=-1,ListboxComponent:ue="ul",ListboxProps:Le,loading:Fe=!1,loadingText:V="Loading…",multiple:M=!1,noOptionsText:Ae="No options",openOnFocus:We=!1,openText:k="Open",PaperComponent:B=zt,PopperComponent:me=Mt,popupIcon:rt=$t||($t=r.jsx(no,{})),readOnly:E=!1,renderGroup:$e,renderInput:He,renderOption:N,renderTags:u,selectOnFocus:yt=!v.freeSolo,size:f="medium",slotProps:ne={}}=v,be=De(v,bo),{getRootProps:Ve,getInputProps:ce,getInputLabelProps:le,getPopupIndicatorProps:Be,getClearProps:nt,getTagProps:_e,getListboxProps:Ge,getOptionProps:F,value:m,dirty:q,expanded:Re,id:xe,popupOpen:ve,focused:X,focusedTag:J,anchorEl:ye,setAnchorEl:ke,inputValue:at,groupedOptions:G}=co(P({},v,{componentName:"Autocomplete"})),ae=!j&&!H&&q&&!E,ee=(!U||g===!0)&&g!==!1,{onMouseDown:Ce}=ce(),{ref:pe}=Le??{},Ke=Ge(),{ref:Ue}=Ke,qe=De(Ke,xo),st=Vt(Ue,pe),Se=re||(e=>{var n;return(n=e.label)!=null?n:e}),z=P({},v,{disablePortal:he,expanded:Re,focused:X,fullWidth:ze,getOptionLabel:Se,hasClearIcon:ae,hasPopupIcon:ee,inputFocused:J===-1,popupOpen:ve,size:f}),w=Co(z);let Q;if(M&&m.length>0){const e=n=>P({className:w.tag,disabled:H},_e(n));u?Q=u(m,e,z):Q=m.map((n,l)=>{const p=e({index:l}),{key:S}=p,I=De(p,vo);return r.jsx(oo,P({label:Se(n),size:f},I,Z),S)})}if(je>-1&&Array.isArray(Q)){const e=Q.length-je;!X&&e>0&&(Q=Q.splice(0,je),Q.push(r.jsx("span",{className:w.tag,children:Me(e)},Q.length)))}const lt=$e||(e=>r.jsxs("li",{children:[r.jsx(Ro,{className:w.groupLabel,ownerState:z,component:"div",children:e.group}),r.jsx(ko,{className:w.groupUl,ownerState:z,children:e.children})]},e.key)),ut=N||((e,n)=>{const{key:l}=e,p=De(e,yo);return r.jsx("li",P({},p,{children:Se(n)}),l)}),Je=(e,n)=>{const l=F({option:e,index:n});return ut(P({},l,{className:w.option}),e,{selected:l["aria-selected"],index:n,inputValue:at},z)},we=(y=ne.clearIndicator)!=null?y:i.clearIndicator,de=(D=ne.paper)!=null?D:i.paper,Ie=(T=ne.popper)!=null?T:i.popper,t=(L=ne.popupIndicator)!=null?L:i.popupIndicator;return r.jsxs(x.Fragment,{children:[r.jsx(So,P({ref:d,className:Te(w.root,$),ownerState:z},Ve(be),{children:He({id:xe,disabled:H,fullWidth:!0,size:f==="small"?"small":void 0,InputLabelProps:le(),InputProps:P({ref:ke,className:w.inputRoot,startAdornment:Q,onClick:e=>{e.target===e.currentTarget&&Ce(e)}},(ae||ee)&&{endAdornment:r.jsxs(Io,{className:w.endAdornment,ownerState:z,children:[ae?r.jsx(Po,P({},nt(),{"aria-label":b,title:b,ownerState:z},we,{className:Te(w.clearIndicator,we==null?void 0:we.className),children:ge})):null,ee?r.jsx(To,P({},Be(),{disabled:H,"aria-label":ve?Y:k,title:ve?Y:k,ownerState:z},t,{className:Te(w.popupIndicator,t==null?void 0:t.className),children:rt})):null]})}),inputProps:P({className:w.input,disabled:H,readOnly:E},ce())})})),ye?r.jsx(Oo,P({as:me,disablePortal:he,style:{width:ye?ye.clientWidth:null},ownerState:z,role:"presentation",anchorEl:ye,open:ve},Ie,{className:Te(w.popper,Ie==null?void 0:Ie.className),children:r.jsxs(jo,P({ownerState:z,as:B},de,{className:Te(w.paper,de==null?void 0:de.className),children:[Fe&&G.length===0?r.jsx(Lo,{className:w.loading,ownerState:z,children:V}):null,G.length===0&&!U&&!Fe?r.jsx(Ao,{className:w.noOptions,ownerState:z,role:"presentation",onMouseDown:e=>{e.preventDefault()},children:Ae}):null,G.length>0?r.jsx($o,P({as:ue,className:w.listbox,ownerState:z},qe,Le,{ref:st,children:G.map((e,n)=>Ee?lt({key:e.key,group:e.group,children:e.options.map((l,p)=>Je(l,e.index+p))}):Je(e,n))})):null]}))})):null]})});var bt={},wo=_t;Object.defineProperty(bt,"__esModule",{value:!0});var Ft=bt.default=void 0,Do=wo(Bt()),No=r;Ft=bt.default=(0,Do.default)((0,No.jsx)("path",{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7"}),"MyLocation");const zo=["retail","wholesale","manufacturer","distributor","services","ecommerce","other"],Mo=["newClient","contacted","onboarded","lost"],Eo=["Daily","Weekly","Bi-weekly","Monthly","On-demand"],Fo=["basicOnly","full","none"],Wo=["Blue Dart","Delhivery","DTDC","India Post / Speed Post","The Professional Couriers","XpressBees","Ecom Express","Shadowfax","Safexpress","VRL Logistics","TCI (Transport Corporation of India)","Om Logistics","Best Roadways","MSS (Mettur Super Services)","ABT Travels & Logistics","Navata Road Transport","KRS (Kerala Roadways)","Parveen Travels / Parveen Express","SRM Transports","KPN Travels & KPN Speed Parcel","SRS Travels","Hindusthan Travels","City Travels","Essaar Travels","No. 1 Air Travels","A1 Travels","Krish Travels","Hebron Transports","Horma Travels","Vivegam Travels","PSS Transport","SRT (Renugambal Travels)","Thamarai Bus Transports","Rathimeena Travels","Ganesh Travels","John Kennedy Bus Service","Arun Travel","Saaji Meera Roadways","ARC Parcel Service","Chakra Travels & Parcel Service","MVA Parcel And Bus Service","Shrinath Travels & Cargo","Hans Travels","Zingbus","Kalpana Travels / City Land Travels","Trackon Couriers","North India Transways","RSRTC Cargo","UPSRTC Cargo"],ht=["Chennai","Coimbatore","Madurai","Tiruchirappalli","Salem","Tuticorin","Tirupur","Erode","Vellore","Tirunelveli","Thanjavur","Dindigul","Hosur","Nagercoil","Karur","Namakkal","Kanchipuram","Cuddalore","Thoothukudi","Bengaluru","Mysuru","Mangaluru","Hubli","Belagavi","Kalaburagi","Davangere","Ballari","Kochi","Thiruvananthapuram","Kozhikode","Kannur","Thrissur","Kollam","Hyderabad","Warangal","Visakhapatnam","Vijayawada","Tirupati","Guntur","Rajahmundry","Nellore","Mumbai","Pune","Nagpur","Nashik","Aurangabad","Kolhapur","Solapur","New Delhi","Gurugram","Noida","Faridabad","Chandigarh","Amritsar","Ludhiana","Jalandhar","Ahmedabad","Surat","Vadodara","Rajkot","Bhavnagar","Jamnagar","Jaipur","Jodhpur","Udaipur","Kota","Bikaner","Lucknow","Kanpur","Varanasi","Agra","Prayagraj","Gorakhpur","Bhopal","Indore","Gwalior","Jabalpur","Raipur","Kolkata","Siliguri","Durgapur","Patna","Gaya","Ranchi","Jamshedpur","Bhubaneswar","Cuttack","Guwahati","Dibrugarh","Agartala","Imphal","Shillong","Aizawl","Dimapur","Dehradun","Haridwar","Shimla","Srinagar","Jammu","Leh","Panaji","Puducherry","Port Blair"],Rt={name:"",email:"",password:"",phone:"",city:"",businessState:"",businessType:"retail",status:"newClient",frequency:"Daily",parcelVolume:0,activeContracts:0,provider:"",efficiency:"",logisticsSegment:"",transitFrom:"",transitTo:"",neighbourhood:"",surveyAddress:"",surveyLat:"",surveyLng:"",dataConsent:"full",notes:"",pincode:""},et=o=>typeof o=="string"?o.charAt(0).toUpperCase()+o.slice(1).replace(/([A-Z])/g," $1").trim():o,tt=(o,a)=>a&&!o.includes(a)?[a,...o]:o;function Uo({open:o,mode:a,initial:d,onClose:y,onSaved:D}){const T=a==="edit",L=Gt(),v=Kt(L.breakpoints.down("sm")),[s,A]=x.useState(Rt),[O,W]=x.useState(!1),[Z,$]=x.useState(null),[ge,ie]=x.useState(!1),Ne=()=>{if(!navigator.geolocation){alert("Geolocation is not supported by your browser");return}ie(!0),navigator.geolocation.getCurrentPosition(async i=>{const R=i.coords.latitude,j=i.coords.longitude;A(_=>({..._,surveyLat:R,surveyLng:j}));try{const H=await(await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${R}&lon=${j}`)).json();if(H&&H.address){const oe=H.address,Oe=oe.city||oe.town||oe.village||oe.county||"",he=oe.state||"",se=oe.postcode||"",g=H.display_name||"";A(U=>({...U,city:Oe||U.city,businessState:he||U.businessState,pincode:se||U.pincode,surveyAddress:g||U.surveyAddress}))}}catch(_){console.error("Reverse geocoding failed",_)}finally{ie(!1)}},i=>{alert("Unable to retrieve your location"),ie(!1)})};x.useEffect(()=>{o&&(A({...Rt,...d||{}}),$(null))},[o,d]);const b=i=>R=>A(j=>({...j,[i]:R.target.value})),Y=async()=>{if(!s.name.trim()){$("Client name is required.");return}W(!0),$(null);const i=s.surveyLat===""?void 0:Number(s.surveyLat),R=s.surveyLng===""?void 0:Number(s.surveyLng),j={first_name:s.name.trim(),phone:s.phone,city:s.city,businessState:s.businessState,businessType:s.businessType,status:s.status,frequency:s.frequency,parcelVolume:Number(s.parcelVolume)||0,activeContracts:Number(s.activeContracts)||0,provider:s.provider,efficiency:s.efficiency,logisticsSegment:s.logisticsSegment,transitFrom:s.transitFrom,transitTo:s.transitTo,neighbourhood:s.neighbourhood,pincode:s.pincode,surveyAddress:s.surveyAddress,dataConsent:s.dataConsent,notes:s.notes,lastUpdated:new Date().toISOString().slice(0,10),registration_source:"web",...s.email.trim()?{email:s.email.trim()}:{},...i!=null?{survey_lat:i}:{},...R!=null?{survey_long:R}:{}};try{T?await Ut(d.id,j):await qt({...j,...s.password?{password:s.password}:{}}),D()}catch(_){$(_.message||"Failed to save client")}finally{W(!1)}};return r.jsxs(r.Fragment,{children:[r.jsx(eo,{open:!!Z,autoHideDuration:6e3,onClose:()=>$(null),anchorOrigin:{vertical:"top",horizontal:"right"},sx:{zIndex:9999},children:r.jsx(ro,{onClose:()=>$(null),severity:"error",variant:"filled",sx:{width:"100%",boxShadow:3},children:Z})}),r.jsxs(Jt,{open:o,onClose:O?void 0:y,maxWidth:"md",fullWidth:!0,fullScreen:typeof v<"u"?v:!1,children:[r.jsxs(Qt,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[T?"Edit Client":"Add Client",r.jsx(mt,{onClick:y,size:"small",disabled:O,children:r.jsx(Zt,{})})]}),r.jsxs(Yt,{dividers:!0,children:[r.jsx(dt,{variant:"overline",color:"text.secondary",children:"Business"}),r.jsxs(h,{container:!0,spacing:2,sx:{mt:0,mb:1},children:[r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Client Name *",value:s.name,onChange:b("name")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Phone",value:s.phone,onChange:b("phone")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Email",value:s.email,onChange:b("email")})}),!T&&r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Password",type:"password",value:s.password,onChange:b("password")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{select:!0,fullWidth:!0,size:"small",label:"Business Type",value:s.businessType,onChange:b("businessType"),children:tt(zo,s.businessType).map(i=>r.jsx(Ze,{value:i,children:et(i)},i))})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{select:!0,fullWidth:!0,size:"small",label:"Status",value:s.status,onChange:b("status"),children:tt(Mo,s.status).map(i=>r.jsx(Ze,{value:i,children:et(i)},i))})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{select:!0,fullWidth:!0,size:"small",label:"Order Frequency",value:s.frequency,onChange:b("frequency"),children:tt(Eo,s.frequency).map(i=>r.jsx(Ze,{value:i,children:et(i)},i))})}),r.jsx(h,{item:!0,xs:12,sm:3,children:r.jsx(C,{fullWidth:!0,size:"small",type:"number",label:"Parcel Volume",value:s.parcelVolume,onChange:b("parcelVolume")})}),r.jsx(h,{item:!0,xs:12,sm:3,children:r.jsx(C,{fullWidth:!0,size:"small",type:"number",label:"Active Contracts",value:s.activeContracts,onChange:b("activeContracts")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(Xe,{autoHighlight:!0,options:Wo,value:s.provider||null,onChange:(i,R)=>A(j=>({...j,provider:R||""})),renderInput:i=>r.jsx(C,{...i,fullWidth:!0,size:"small",label:"Current Provider"})})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Efficiency",value:s.efficiency,onChange:b("efficiency")})}),r.jsx(h,{item:!0,xs:12,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Logistics Segment",value:s.logisticsSegment,onChange:b("logisticsSegment"),placeholder:"First Mile, Last Mile"})})]}),r.jsx(Pt,{sx:{my:1.5}}),r.jsx(dt,{variant:"overline",color:"text.secondary",children:"Location & Transit"}),r.jsxs(h,{container:!0,spacing:2,sx:{mt:0,mb:1},children:[r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(Xe,{autoHighlight:!0,options:ht,value:s.city||null,onChange:(i,R)=>A(j=>({...j,city:R||""})),renderInput:i=>r.jsx(C,{...i,fullWidth:!0,size:"small",label:"City"})})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"State",value:s.businessState,onChange:b("businessState")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Pincode",value:s.pincode,onChange:b("pincode")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Neighbourhood / Zone",value:s.neighbourhood,onChange:b("neighbourhood")})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(Xe,{autoHighlight:!0,options:ht,value:s.transitFrom||null,onChange:(i,R)=>A(j=>({...j,transitFrom:R||""})),renderInput:i=>r.jsx(C,{...i,fullWidth:!0,size:"small",label:"Transit From"})})}),r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(Xe,{autoHighlight:!0,options:ht,value:s.transitTo||null,onChange:(i,R)=>A(j=>({...j,transitTo:R||""})),renderInput:i=>r.jsx(C,{...i,fullWidth:!0,size:"small",label:"Transit To"})})}),r.jsx(h,{item:!0,xs:12,sm:3,children:r.jsx(C,{fullWidth:!0,size:"small",type:"number",label:"Latitude",value:s.surveyLat,onChange:b("surveyLat")})}),r.jsx(h,{item:!0,xs:12,sm:3,children:r.jsx(C,{fullWidth:!0,size:"small",type:"number",label:"Longitude",value:s.surveyLng,onChange:b("surveyLng")})}),r.jsx(h,{item:!0,xs:12,sm:6,display:"flex",alignItems:"center",children:r.jsx(gt,{variant:"outlined",size:"small",onClick:Ne,disabled:ge,startIcon:ge?r.jsx(Tt,{size:16}):r.jsx(Ft,{}),fullWidth:!0,children:"Get GPS Location"})}),r.jsx(h,{item:!0,xs:12,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Survey Address",value:s.surveyAddress,onChange:b("surveyAddress"),multiline:!0,minRows:2})})]}),r.jsx(Pt,{sx:{my:1.5}}),r.jsx(dt,{variant:"overline",color:"text.secondary",children:"Other"}),r.jsxs(h,{container:!0,spacing:2,sx:{mt:0},children:[r.jsx(h,{item:!0,xs:12,sm:6,children:r.jsx(C,{select:!0,fullWidth:!0,size:"small",label:"Data Consent",value:s.dataConsent,onChange:b("dataConsent"),children:tt(Fo,s.dataConsent).map(i=>r.jsx(Ze,{value:i,children:et(i)},i))})}),r.jsx(h,{item:!0,xs:12,children:r.jsx(C,{fullWidth:!0,size:"small",label:"Notes",value:s.notes,onChange:b("notes"),multiline:!0,minRows:2})})]})]}),r.jsxs(Xt,{sx:{px:3,py:2},children:[r.jsx(gt,{onClick:y,disabled:O,children:"Cancel"}),r.jsx(gt,{variant:"contained",onClick:Y,disabled:O,startIcon:O?r.jsx(Tt,{size:16,color:"inherit"}):null,children:T?"Save Changes":"Create Client"})]})]})]})}export{Xe as A,Uo as C};
|