bonuspluscomponents 0.0.172 → 0.0.173

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.
@@ -235,4 +235,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
235
235
  `)),"")}function QD(e,t,n,r){if(!e)return!1;const a=r.formatByString(r.date(pf),t).replace(n,Fo),i=r.formatByString(r.date(ff),t).replace(n,"_"),s=i===a&&e===i;return!s&&r.lib!=="luxon"&&process.env.NODE_ENV!=="production"&&(t.includes("MMM")?console.warn(["Mask does not support literals such as 'MMM'.","Either use numbers with fix length or disable mask feature with 'disableMaskedInput' prop","Falling down to uncontrolled no-mask input."].join(`
236
236
  `)):i&&i!==a?console.warn(["Mask does not support numbers with variable length such as 'M'.","Either use numbers with fix length or disable mask feature with 'disableMaskedInput' prop","Falling down to uncontrolled no-mask input."].join(`
237
237
  `)):e&&console.warn([`The mask "${e}" you passed is not valid for the format used ${t}.`,"Falling down to uncontrolled no-mask input."].join(`
238
- `))),s}const ZD=(e,t)=>n=>{let r=0;return n.split("").map((o,a)=>{if(t.lastIndex=0,r>e.length-1)return"";const i=e[r],s=e[r+1],c=t.test(o)?o:"",u=i===Fo?c:i+c;return r+=u.length,a===n.length-1&&s&&s!==Fo?u?u+s:"":u}).join("")},JD=({acceptRegex:e=/[\d]/gi,disabled:t,disableMaskedInput:n,ignoreInvalidInputs:r,inputFormat:o,inputProps:a,label:i,mask:s,onChange:c,rawValue:u,readOnly:d,rifmFormatter:p,TextFieldProps:h,validationError:g})=>{const v=et(),m=v.getFormatHelperText(o),{shouldUseMaskedInput:y,maskToUse:T}=w.useMemo(()=>{if(n)return{shouldUseMaskedInput:!1,maskToUse:""};const j=XD(s,o,e,v);return{shouldUseMaskedInput:QD(j,o,e,v),maskToUse:j}},[e,n,o,s,v]),k=w.useMemo(()=>y&&T?ZD(T,e):j=>j,[e,T,y]),x=u===null?null:v.date(u),[C,b]=w.useState(x),[E,O]=w.useState(Dc(v,u,o)),N=w.useRef(),L=w.useRef(v.locale),R=w.useRef(o);w.useEffect(()=>{const j=u!==N.current,$=v.locale!==L.current,I=o!==R.current;if(N.current=u,L.current=v.locale,R.current=o,!j&&!$&&!I)return;const F=u===null?null:v.date(u),H=u===null||v.isValid(F);let z=C===null&&F===null;if(C!==null&&F!==null){const B=v.isEqual(C,F);if(B)z=!0;else{const J=Math.abs(v.getDiff(C,F));z=J===0?B:J<1e3}}if(!$&&!I&&(!H||z))return;const _=Dc(v,u,o);b(F),O(_)},[v,u,o,C]);const W=j=>{const $=j===""||j===s?"":j;O($);const I=$===null?null:v.parse($,o);r&&!v.isValid(I)||(b(I),c(I,$||void 0))},X=KD({value:E,onChange:W,format:p||k});return D({label:i,disabled:t,error:g,inputProps:D({},y?X:{value:E,onChange:j=>{W(j.currentTarget.value)}},{disabled:t,placeholder:m,readOnly:d,type:y?"tel":"text"},a)},h)},eO=["className","components","disableOpenPicker","getOpenDialogAriaText","InputAdornmentProps","InputProps","inputRef","openPicker","OpenPickerButtonProps","renderInput"],hf=w.forwardRef(function(t,n){const{className:r,components:o={},disableOpenPicker:a,getOpenDialogAriaText:i,InputAdornmentProps:s,InputProps:c,inputRef:u,openPicker:d,OpenPickerButtonProps:p,renderInput:h}=t,g=de(t,eO),v=cr(),m=i??v.openDatePickerDialogue,y=et(),T=JD(g),k=(s==null?void 0:s.position)||"end",x=o.OpenPickerIcon||zd;return h(D({ref:n,inputRef:u,className:r},T,{InputProps:D({},c,{[`${k}Adornment`]:a?void 0:f.jsx(GD,D({position:k},s,{children:f.jsx(ur,D({edge:k,disabled:g.disabled||g.readOnly,"aria-label":m(g.rawValue,y)},p,{onClick:d,children:f.jsx(x,{})}))}))})}))});function Oc(){return typeof window>"u"?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?Math.abs(window.screen.orientation.angle)===90?"landscape":"portrait":window.orientation&&Math.abs(Number(window.orientation))===90?"landscape":"portrait"}const tO=(e,t)=>{const[n,r]=w.useState(Oc);return zt(()=>{const a=()=>{r(Oc())};return window.addEventListener("orientationchange",a),()=>{window.removeEventListener("orientationchange",a)}},[]),Sd(e,["hours","minutes","seconds"])?!1:(t||n)==="landscape"},nO=({autoFocus:e,openView:t})=>{const[n,r]=w.useState(e?t:null),o=w.useCallback(a=>i=>{r(i?a:s=>a===s?null:s)},[]);return{focusedView:n,setFocusedView:o}};function rO(e){return V.generateUtilityClass("MuiCalendarOrClockPicker",e)}V.generateUtilityClasses("MuiCalendarOrClockPicker",["root","mobileKeyboardInputView"]);const oO=["autoFocus","className","parsedValue","DateInputProps","isMobileKeyboardViewOpen","onDateChange","onViewChange","openTo","orientation","showToolbar","toggleMobileKeyboardView","ToolbarComponent","toolbarFormat","toolbarPlaceholder","toolbarTitle","views","dateRangeIcon","timeIcon","hideTabs","classes"],aO=e=>{const{classes:t}=e,n={root:["root"],mobileKeyboardInputView:["mobileKeyboardInputView"]};return V.unstable_composeClasses(n,rO,t)},iO=ce("div",{name:"MuiCalendarOrClockPicker",slot:"MobileKeyboardInputView",overridesResolver:(e,t)=>t.mobileKeyboardInputView})({padding:"16px 24px"}),sO=ce("div",{name:"MuiCalendarOrClockPicker",slot:"Root",overridesResolver:(e,t)=>t.root})(({ownerState:e})=>D({display:"flex",flexDirection:"column"},e.isLandscape&&{flexDirection:"row"})),lO={fullWidth:!0},Mc=e=>e==="year"||e==="month"||e==="day",kc=e=>e==="hours"||e==="minutes"||e==="seconds";let _c=!1;function cO(e){var t,n;const r=Se({props:e,name:"MuiCalendarOrClockPicker"}),{autoFocus:o,parsedValue:a,DateInputProps:i,isMobileKeyboardViewOpen:s,onDateChange:c,onViewChange:u,openTo:d,orientation:p,showToolbar:h,toggleMobileKeyboardView:g,ToolbarComponent:v=()=>null,toolbarFormat:m,toolbarPlaceholder:y,toolbarTitle:T,views:k,dateRangeIcon:x,timeIcon:C,hideTabs:b}=r,E=de(r,oO),O=(t=E.components)==null?void 0:t.Tabs,N=tO(k,p),L=w.useContext(dr),R=aO(r),W=h??L!=="desktop",X=!b&&typeof window<"u"&&window.innerHeight>667,Z=w.useCallback((_,B)=>{c(_,L,B)},[c,L]),j=w.useCallback(_=>{s&&g(),u&&u(_)},[s,u,g]);process.env.NODE_ENV!=="production"&&!_c&&!k.includes(d)&&(console.warn(`MUI: \`openTo="${d}"\` is not a valid prop.`,`It must be an element of \`views=["${k.join('", "')}"]\`.`),_c=!0);const{openView:$,setOpenView:I,handleChangeAndOpenNext:F}=Ps({view:void 0,views:k,openTo:d,onChange:Z,onViewChange:j}),{focusedView:H,setFocusedView:z}=nO({autoFocus:o,openView:$});return f.jsxs(sO,{ownerState:{isLandscape:N},className:R.root,children:[W&&f.jsx(v,D({},E,{views:k,isLandscape:N,parsedValue:a,onChange:Z,setOpenView:I,openView:$,toolbarTitle:T,toolbarFormat:m,toolbarPlaceholder:y,isMobileKeyboardViewOpen:s,toggleMobileKeyboardView:g})),X&&!!O&&f.jsx(O,D({dateRangeIcon:x,timeIcon:C,view:$,onChange:I},(n=E.componentsProps)==null?void 0:n.tabs)),f.jsx(Ds,{children:s?f.jsx(iO,{className:R.mobileKeyboardInputView,children:f.jsx(hf,D({},i,{ignoreInvalidInputs:!0,disableOpenPicker:!0,TextFieldProps:lO}))}):f.jsxs(w.Fragment,{children:[Mc($)&&f.jsx(Xd,D({autoFocus:o,date:a,onViewChange:I,onChange:F,view:$,views:k.filter(Mc),focusedView:H,onFocusedViewChange:z},E)),kc($)&&f.jsx(ef,D({},E,{autoFocus:o,date:a,view:$,views:k.filter(kc),onChange:F,onViewChange:I,showViewSwitcher:L==="desktop"}))]})})]})}const uO=({open:e,onOpen:t,onClose:n})=>{const r=w.useRef(typeof e=="boolean").current,[o,a]=w.useState(!1);w.useEffect(()=>{if(r){if(typeof e!="boolean")throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");a(e)}},[r,e]);const i=w.useCallback(s=>{r||a(s),s&&t&&t(),!s&&n&&n()},[r,t,n]);return{isOpen:o,setIsOpen:i}},dO=(e,t)=>{const{onAccept:n,onChange:r,value:o,closeOnSelect:a}=e,i=et(),{isOpen:s,setIsOpen:c}=uO(e),u=w.useMemo(()=>t.parseInput(i,o),[t,i,o]),[d,p]=w.useState(u),[h,g]=w.useState(()=>({committed:u,draft:u,resetFallback:u})),v=w.useCallback(E=>{g(O=>{switch(E.action){case"setAll":case"acceptAndClose":return{draft:E.value,committed:E.value,resetFallback:E.value};case"setCommitted":return D({},O,{draft:E.value,committed:E.value});case"setDraft":return D({},O,{draft:E.value});default:return O}}),(E.forceOnChangeCall||!E.skipOnChangeCall&&!t.areValuesEqual(i,h.committed,E.value))&&r(E.value),E.action==="acceptAndClose"&&(c(!1),n&&!t.areValuesEqual(i,h.resetFallback,E.value)&&n(E.value))},[n,r,c,h,i,t]);w.useEffect(()=>{i.isValid(u)&&p(u)},[i,u]),w.useEffect(()=>{s&&v({action:"setAll",value:u,skipOnChangeCall:!0})},[s]),t.areValuesEqual(i,h.committed,u)||v({action:"setCommitted",value:u,skipOnChangeCall:!0});const m=w.useMemo(()=>({open:s,onClear:()=>{v({value:t.emptyValue,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(i,o,t.emptyValue)})},onAccept:()=>{v({value:h.draft,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(i,o,u)})},onDismiss:()=>{v({value:h.committed,action:"acceptAndClose"})},onCancel:()=>{v({value:h.resetFallback,action:"acceptAndClose"})},onSetToday:()=>{v({value:t.getTodayValue(i),action:"acceptAndClose"})}}),[v,s,i,h,t,o,u]),[y,T]=w.useState(!1),k=w.useMemo(()=>({parsedValue:h.draft,isMobileKeyboardViewOpen:y,toggleMobileKeyboardView:()=>T(!y),onDateChange:(E,O,N="partial")=>{switch(N){case"shallow":return v({action:"setDraft",value:E,skipOnChangeCall:!0});case"partial":return v({action:"setDraft",value:E});case"finish":return v(a??O==="desktop"?{value:E,action:"acceptAndClose"}:{value:E,action:"setCommitted"});default:throw new Error("MUI: Invalid selectionState passed to `onDateChange`")}}}),[v,y,h.draft,a]),x=w.useCallback((E,O)=>{const N=t.valueReducer?t.valueReducer(i,d,E):E;r(N,O)},[r,t,d,i]),C=w.useMemo(()=>({onChange:x,open:s,rawValue:o,openPicker:()=>c(!0)}),[x,s,o,c]),b={pickerProps:k,inputProps:C,wrapperProps:m};return w.useDebugValue(b,()=>({MuiPickerState:{dateState:h,other:b}})),b},fO=["onChange","PopperProps","PaperProps","ToolbarComponent","TransitionComponent","value","components","componentsProps"],mf=w.forwardRef(function(t,n){const r=IP(t,"MuiDesktopDatePicker"),o=$E(r)!==null,{pickerProps:a,inputProps:i,wrapperProps:s}=dO(r,LP),{PopperProps:c,PaperProps:u,ToolbarComponent:d=pD,TransitionComponent:p,components:h,componentsProps:g}=r,v=de(r,fO),m=D({},i,v,{components:h,componentsProps:g,ref:n,validationError:o});return f.jsx(FD,D({},s,{DateInputProps:m,KeyboardDateInputComponent:hf,PopperProps:c,PaperProps:u,TransitionComponent:p,components:h,componentsProps:g,children:f.jsx(cO,D({},a,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:d,DateInputProps:m,components:h,componentsProps:g},v))}))});process.env.NODE_ENV!=="production"&&(mf.propTypes={acceptRegex:l.instanceOf(RegExp),autoFocus:l.bool,children:l.node,className:l.string,closeOnSelect:l.bool,components:l.object,componentsProps:l.object,dayOfWeekFormatter:l.func,defaultCalendarMonth:l.any,disabled:l.bool,disableFuture:l.bool,disableHighlightToday:l.bool,disableMaskedInput:l.bool,disableOpenPicker:l.bool,disablePast:l.bool,getOpenDialogAriaText:l.func,getViewSwitchingButtonText:l.func,ignoreInvalidInputs:l.bool,InputAdornmentProps:l.object,inputFormat:l.string,InputProps:l.object,inputRef:l.oneOfType([l.func,l.shape({current:l.object})]),label:l.node,leftArrowButtonText:l.string,loading:l.bool,mask:l.string,maxDate:l.any,minDate:l.any,onAccept:l.func,onChange:l.func.isRequired,onClose:l.func,onError:l.func,onMonthChange:l.func,onOpen:l.func,onViewChange:l.func,onYearChange:l.func,open:l.bool,OpenPickerButtonProps:l.object,openTo:l.oneOf(["day","month","year"]),orientation:l.oneOf(["landscape","portrait"]),PaperProps:l.object,PopperProps:l.object,readOnly:l.bool,reduceAnimations:l.bool,renderDay:l.func,renderInput:l.func.isRequired,renderLoading:l.func,rifmFormatter:l.func,rightArrowButtonText:l.string,shouldDisableDate:l.func,shouldDisableMonth:l.func,shouldDisableYear:l.func,showDaysOutsideCurrentMonth:l.bool,showToolbar:l.bool,ToolbarComponent:l.elementType,toolbarFormat:l.string,toolbarPlaceholder:l.node,toolbarTitle:l.node,TransitionComponent:l.elementType,value:l.any,views:l.arrayOf(l.oneOf(["day","month","year"]).isRequired)});const pi=({title:e,value:t,readonly:n,onChange:r,required:o,id:a,fullWidth:i=!0})=>f.jsx(mf,{disabled:n,label:e,value:t,onChange:s=>r(s),renderInput:s=>{var u,d,p;let c;return(u=s.inputProps)!=null&&u.placeholder&&(c=(p=(d=s.inputProps)==null?void 0:d.placeholder)==null?void 0:p.slice(),s.inputProps.placeholder=void 0),f.jsx(V.TextField,{...s,required:o,sx:{width:"100%"},placeholder:c,autoComplete:"off",variant:"standard",error:!1})}});var Ms={},pO=dt;Object.defineProperty(Ms,"__esModule",{value:!0});var hi=Ms.default=void 0,hO=pO(ft()),mO=f,vO=(0,hO.default)((0,mO.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");hi=Ms.default=vO;var ks={},gO=dt;Object.defineProperty(ks,"__esModule",{value:!0});var vf=ks.default=void 0,yO=gO(ft()),bO=f,xO=(0,yO.default)((0,bO.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");vf=ks.default=xO;const wO=({dates:e,readonly:t,onChange:n,title:r})=>{const[o,a]=S.useState(Math.random()),[i,s]=S.useState(e??[null]),{ToIsoWithoutTimeZone:c,ParseDataToRusLocale:u}=qr();S.useEffect(()=>{n(i.filter(h=>!!h&&Date.parse(h)).map(h=>c(h)).join(","))},[i]);const d=()=>{s(h=>[...h,null]),a(Math.random())},p=h=>{s(g=>[...g.filter((v,m)=>m!==h)]),a(Math.random())};return i.length<2?f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em"},children:[f.jsx(pi,{id:"",title:r??"День рождения родственника",value:i[i.length-1],required:!1,readonly:t,fullWidth:!1,onChange:h=>s(g=>(g[i.length-1]=h,[...g]))}),!!Date.parse(i[0]??"")&&!t&&f.jsx(V.IconButton,{sx:{marginTop:"12px"},color:"primary",onClick:()=>d(),children:f.jsx(hi,{})})]})}):f.jsxs("div",{children:[f.jsx("div",{style:{marginBottom:"1em"},children:"День рождения родственников"}),f.jsx("div",{style:{borderLeft:"solid 1px #cccccc50",paddingLeft:"1em"},children:f.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[f.jsx("div",{style:{display:"flex",gap:"1em",flexWrap:"wrap"},children:i.filter((h,g)=>g<i.length-1).map((h,g)=>f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em",backgroundColor:"rgba(204, 204, 204, 0.5)",padding:"0 .5em",borderRadius:"5px"},children:[f.jsx("div",{children:h&&u(h.toString())}),f.jsx("div",{children:!t&&f.jsx(V.IconButton,{size:"small",color:"primary",onClick:()=>p(g),children:f.jsx(vf,{})})})]},g))}),f.jsx("div",{children:f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em"},children:[f.jsx(pi,{id:"",title:"День рождения",value:i[i.length-1],required:!1,readonly:t,fullWidth:!1,onChange:h=>s(g=>(g[i.length-1]=h,[...g]))}),!t&&f.jsx(V.IconButton,{sx:{marginTop:"12px"},color:"primary",onClick:()=>d(),children:f.jsx(hi,{})})]})})})]})})]})},CO=({id:e,defaultChecked:t,title:n,readonly:r,required:o,onChange:a,value:i})=>{const s=V.useTheme(),c=(u,d=!1)=>{if(!o)return;const p=new CustomEvent(Ar,{detail:{id:e,empty:!u,label:n}});document.dispatchEvent(p)};return S.useEffect(()=>{setTimeout(()=>c(i),1)},[]),S.useEffect(()=>{c(i,!0)},[i]),f.jsxs("div",{style:{display:"flex",gap:"1em",alignItems:"center"},children:[f.jsx(V.Checkbox,{required:o,sx:{padding:0},readOnly:r,checked:i,onChange:()=>a(!i)}),f.jsx(V.Box,{sx:{fontSize:"1rem",a:{color:s.palette.info.main,textDecoration:"none"}},component:"div",dangerouslySetInnerHTML:{__html:n}})]})},EO=({control:e,isReg:t,readonlyControls:n,onChangeRadio:r})=>{var a,i,s,c,u,d;const o=(p,h=!1)=>{if(!e.validation.required)return;const g=new CustomEvent(Ar,{detail:{id:e.id,empty:!p,label:e.title}});document.dispatchEvent(g)};return S.useEffect(()=>{setTimeout(()=>{var p,h;return o((h=(p=e.values)==null?void 0:p.find(g=>g.selected))==null?void 0:h.id)},1)},[]),f.jsx(V.Box,{sx:{minWidth:120},children:f.jsxs(V.FormControl,{fullWidth:!0,variant:"standard",required:(a=e==null?void 0:e.validation)==null?void 0:a.required,children:[f.jsx(V.InputLabel,{id:`select-${e.id}`,children:e.title}),f.jsx(V.Select,{required:(i=e==null?void 0:e.validation)==null?void 0:i.required,readOnly:!t&&((s=e==null?void 0:e.validation)==null?void 0:s.readOnly)&&(n==null?void 0:n.includes(e.id)),labelId:`select-${e.id}`,value:((u=(c=e.values)==null?void 0:c.find(p=>p.selected))==null?void 0:u.id)||"",label:e.title,onChange:p=>{var g,v;(g=e.values)==null||g.filter(m=>m.id!==p.target.value).forEach(m=>m.selected=!1);let h=(v=e.values)==null?void 0:v.find(m=>m.id===p.target.value);h&&(o(!0,!0),h.selected=!0),r({...e,values:e.values})},children:(d=e.values)==null?void 0:d.map(p=>f.jsx(V.MenuItem,{value:p.id,children:p.text},p.id))})]})})},TO=({control:e,value:t,onChange:n,onChangeRadio:r,onChangeChecked:o,isReg:a,readonlyControls:i})=>{var s,c,u,d,p,h,g,v;switch(e.type){case Tn.Textbox:return f.jsx($o,{value:t,onChange:m=>n(m.target.value),required:(s=e==null?void 0:e.validation)==null?void 0:s.required,id:e.id,label:e.title,disabled:!a&&((c=e==null?void 0:e.validation)==null?void 0:c.readOnly)&&(i==null?void 0:i.includes(e.id)),autoComplete:"off",variant:"standard",fullWidth:!0});case Tn.RadiobuttonGroup:return f.jsx(EO,{control:e,isReg:a,readonlyControls:i,onChangeRadio:r});case Tn.Select:return f.jsx(V.Box,{sx:{minWidth:120,maxHeight:"400px"},children:f.jsxs(V.FormControl,{fullWidth:!0,variant:"standard",required:(u=e==null?void 0:e.validation)==null?void 0:u.required,children:[f.jsx(V.InputLabel,{id:`select-${e.id}`,children:e.title}),f.jsx(V.Select,{sx:{maxHeight:"300px"},readOnly:!a&&((d=e==null?void 0:e.validation)==null?void 0:d.readOnly)&&(i==null?void 0:i.includes(e.id)),labelId:`select-${e.id}`,value:e.text,label:e.title,onChange:m=>n(m.target.value),children:(p=e.values)==null?void 0:p.map(m=>f.jsx(V.MenuItem,{value:m.id,children:m.text},m.id))})]})});case Tn.Date:return f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsx(pi,{id:e.id,title:e.title,value:t,readonly:!a&&((h=e==null?void 0:e.validation)==null?void 0:h.readOnly)&&!!(i!=null&&i.includes(e.id)),onChange:m=>n(m),required:(g=e==null?void 0:e.validation)==null?void 0:g.required})});case Tn.ParentBirthday:return f.jsx(wO,{title:e.title,onChange:m=>n(m),readonly:!a,dates:e.dates??[null]});case Tn.Checkbox:return f.jsx(CO,{id:e.id,onChange:m=>o(m),required:(v=e==null?void 0:e.validation)==null?void 0:v.required,readonly:!a,value:e.checked,title:e.title,defaultChecked:e.defaultChecked})}return f.jsx("div",{})},PO=e=>{const t=()=>{const r=new RegExp(/^\.*/);return e.type!==null?e.type===wr.Email?new RegExp(/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/):e.type===wr.Url||e.type===wr.Date?r:e.type===wr.Phone?new RegExp(/^[+]?[\d]{10,11}$/):r:r},n=r=>{let o=!0;return e!=null&&e.minTextLength&&(o=o&&r.length>=(e==null?void 0:e.minTextLength)),e!=null&&e.maxTextLength&&(o=o&&r.length<=(e==null?void 0:e.maxTextLength)),o};return r=>t().test(r)?n(r)?{isError:!1}:{isError:!0,message:`Строка не удовлетворяет нужному размеру (${e.minTextLength??0}-${e.maxTextLength??255})`}:{isError:!0,message:"Строка введена неверно"}},gf=({onControlsGet:e,buttonSaveText:t,isReg:n=!1,previewControls:r})=>{const{apiAxios:o,additionalData:a,VKUserId:i,setCabinetSettings:s,setPhoneNumber:c,telegramInfo:u}=S.useContext(vt),{setIsLoading:d}=S.useContext(pn),{showErrorAlert:p}=S.useContext(sn),{setOpenedPage:h}=S.useContext(Br),[g,v]=S.useState(!1),[m,y]=S.useState(r??[]);S.useEffect(()=>{y(r??[])},[r]);const[T,k]=S.useState([]),[x,C]=S.useState(Math.random()),[b,E]=S.useState(!1),{validationPopup:O,formIsValid:N,setValidations:L}=hs({}),{ToIsoWithoutTimeZone:R}=qr();S.useEffect(()=>{L(m.map(F=>({id:F.id,label:F.title,validator:PO(F.validation)})))},[m]);const W=()=>{const F={};return m.map(H=>F[H.id]=H.text),F};S.useEffect(()=>{r||(async()=>{d("GetControls",!0);const H=await o().post("/externalCustomerCabinet/form/registration",{});e==null||e(H.data.controls),y(H.data.controls),k(H.data.controls.filter(z=>{var _;return((_=z.validation)==null?void 0:_.readOnly)&&!!z.text})),d("GetControls",!1)})()},[]);const X=()=>{N()&&!r&&(E(!0),o().patch("/externalCustomerCabinet/form/registration",{controls:m,...a,VKUserId:i,...u??{}}).then(F=>{s(H=>({...H,isReg:!1})),c(F.data.phoneNumber),v(!0),h("info"),k(m.filter(H=>{var z;return((z=H.validation)==null?void 0:z.readOnly)&&!!H.text}))}).catch(F=>{p(F.response.data.msg)}).finally(()=>{E(!1)}))},Z=(F,H)=>{Date.parse(H)&&(H=R(H)),y(z=>{const _=z.find(B=>B.id===F);return _&&(_.text=H),[...z]})},j=(F,H)=>{y(z=>{const _=z.find(B=>B.id===F);return _&&(_.checked=H),[...z]})},$=F=>{y(H=>{let z=H.find(_=>_.id===F.id);return z&&(z={...F},C(Math.random())),[...H]})};return{controlsForm:f.jsxs(V.Container,{maxWidth:"sm",children:[O,f.jsxs(V.Typography,{component:"div",style:{display:"flex",flexDirection:"column",gap:"1.5em",marginBottom:"1em"},children:[f.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:m==null?void 0:m.map((F,H)=>f.jsx("div",{children:f.jsx(TO,{isReg:n,control:F,onChange:z=>Z(F.id,z),onChangeChecked:z=>j(F.id,z),onChangeRadio:z=>$(z),value:F.text??"",readonlyControls:T.map(z=>z.id)})},H))}),f.jsx("div",{style:{display:"flex",justifyContent:"center"},children:f.jsx(ps,{isLoading:b,onClick:()=>X(),children:t||"Сохранить анкету"})})]})]}),setControls:y,saved:g,setSaved:v,GetObjectByControls:W}},DO=()=>{S.useContext(vt);const{controlsForm:e,saved:t,setSaved:n}=gf({buttonSaveText:"Регистрация",isReg:!0});return f.jsx("div",{children:f.jsxs("div",{children:[f.jsx(la,{style:{marginBottom:"1em"},children:"Для использования полного функционала бота необходимо зарегистрироваться"}),e]})})},OO={theme:null,toggleColorMode:null,setTheme:()=>{}},_s=S.createContext(OO),MO=()=>{const[e,t]=S.useState(yi);return{theme:e,setTheme:t,toggleColorMode:r=>{const o=V.createTheme({palette:{mode:r}});t(a=>({...o,palette:{...o.palette,primary:{...o.palette.primary,main:a.palette.primary.main}}}))}}},kO=({children:e})=>{const t=MO();return f.jsx(_s.Provider,{value:t,children:f.jsxs(V.ThemeProvider,{theme:t.theme,children:[f.jsx(V.CssBaseline,{}),e]})})},_O=()=>{const{controlsForm:e,saved:t,setSaved:n}=gf({buttonSaveText:"Редактирование анкеты",isReg:!0});return f.jsx("div",{children:e})},SO=({showHeader:e})=>{var g;const{cabinetSettings:t,cabinetUISettings:n}=S.useContext(vt),{setTheme:r,theme:o}=S.useContext(_s),{isLoading:a}=S.useContext(pn),{openedPage:i,setOpenedPage:s}=S.useContext(Br),c=(v,m)=>{s(m)};S.useEffect(()=>{r(v=>({...yi,palette:{...v.palette,primary:{...v.palette.primary,main:(n==null?void 0:n.themeColor)||"#6c97a9"}}}))},[n]);const{popups:u,closePopupById:d}=S.useContext(sn),h=[{icon:f.jsx(ku,{}),value:"info",label:"Карта",page:f.jsx(v1,{}),active:!0,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Ou,{}),value:"receipt",label:"История",page:f.jsx(zb,{}),active:!0,disabled:t==null?void 0:t.isReg},{icon:f.jsx(_u,{}),value:"appeals",label:"Обращения",page:f.jsx(M0,{}),active:t==null?void 0:t.canShowAppeals,disabled:t==null?void 0:t.isReg},{icon:f.jsx(ko,{}),value:"businessInfo",label:"Информация",page:f.jsx(qb,{}),active:t==null?void 0:t.canShowBusinessInfo,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Mu,{}),value:"personInfo",label:"Клиент",page:f.jsx(_O,{}),active:t==null?void 0:t.canEditPersonInfo,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Su,{}),value:"registration",label:"Регистрация",page:f.jsx(DO,{}),active:t==null?void 0:t.isReg,disabled:!1}].filter(v=>v.active&&!v.disabled);return f.jsxs(V.Box,{sx:{bgcolor:"background.default"},className:"page_view",children:[e&&f.jsx($c,{}),f.jsx(k0,{show:a}),u.map((v,m)=>f.jsx(zu,{title:v.title,opened:!0,setOpened:()=>d(v.id),children:f.jsx("div",{children:v.content})})),f.jsx("div",{className:"page_view__page scrollbar",children:(g=h.find(v=>v.value===i))==null?void 0:g.page}),f.jsx("div",{className:"page_view__navigation",children:f.jsx("div",{children:f.jsx(V.BottomNavigation,{sx:{borderTop:"solid 1px #cccccc50",bgcolor:"background.default"},value:i,onChange:c,children:h.map((v,m)=>f.jsx(V.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:v.label,value:v.value,icon:v.icon},m))})})})]})};exports.AppContext=vt;exports.AppProvider=Ff;exports.BonusPlusThemeContext=_s;exports.BonusPlusThemeProvider=kO;exports.ErrorBoundary=Vf;exports.Header=$c;exports.LoadingContext=pn;exports.LoadingProvider=Nf;exports.PageContext=Br;exports.PageProvider=If;exports.PopupContext=sn;exports.PopupProvider=Nb;exports.Router=SO;
238
+ `))),s}const ZD=(e,t)=>n=>{let r=0;return n.split("").map((o,a)=>{if(t.lastIndex=0,r>e.length-1)return"";const i=e[r],s=e[r+1],c=t.test(o)?o:"",u=i===Fo?c:i+c;return r+=u.length,a===n.length-1&&s&&s!==Fo?u?u+s:"":u}).join("")},JD=({acceptRegex:e=/[\d]/gi,disabled:t,disableMaskedInput:n,ignoreInvalidInputs:r,inputFormat:o,inputProps:a,label:i,mask:s,onChange:c,rawValue:u,readOnly:d,rifmFormatter:p,TextFieldProps:h,validationError:g})=>{const v=et(),m=v.getFormatHelperText(o),{shouldUseMaskedInput:y,maskToUse:T}=w.useMemo(()=>{if(n)return{shouldUseMaskedInput:!1,maskToUse:""};const j=XD(s,o,e,v);return{shouldUseMaskedInput:QD(j,o,e,v),maskToUse:j}},[e,n,o,s,v]),k=w.useMemo(()=>y&&T?ZD(T,e):j=>j,[e,T,y]),x=u===null?null:v.date(u),[C,b]=w.useState(x),[E,O]=w.useState(Dc(v,u,o)),N=w.useRef(),L=w.useRef(v.locale),R=w.useRef(o);w.useEffect(()=>{const j=u!==N.current,$=v.locale!==L.current,I=o!==R.current;if(N.current=u,L.current=v.locale,R.current=o,!j&&!$&&!I)return;const F=u===null?null:v.date(u),H=u===null||v.isValid(F);let z=C===null&&F===null;if(C!==null&&F!==null){const B=v.isEqual(C,F);if(B)z=!0;else{const J=Math.abs(v.getDiff(C,F));z=J===0?B:J<1e3}}if(!$&&!I&&(!H||z))return;const _=Dc(v,u,o);b(F),O(_)},[v,u,o,C]);const W=j=>{const $=j===""||j===s?"":j;O($);const I=$===null?null:v.parse($,o);r&&!v.isValid(I)||(b(I),c(I,$||void 0))},X=KD({value:E,onChange:W,format:p||k});return D({label:i,disabled:t,error:g,inputProps:D({},y?X:{value:E,onChange:j=>{W(j.currentTarget.value)}},{disabled:t,placeholder:m,readOnly:d,type:y?"tel":"text"},a)},h)},eO=["className","components","disableOpenPicker","getOpenDialogAriaText","InputAdornmentProps","InputProps","inputRef","openPicker","OpenPickerButtonProps","renderInput"],hf=w.forwardRef(function(t,n){const{className:r,components:o={},disableOpenPicker:a,getOpenDialogAriaText:i,InputAdornmentProps:s,InputProps:c,inputRef:u,openPicker:d,OpenPickerButtonProps:p,renderInput:h}=t,g=de(t,eO),v=cr(),m=i??v.openDatePickerDialogue,y=et(),T=JD(g),k=(s==null?void 0:s.position)||"end",x=o.OpenPickerIcon||zd;return h(D({ref:n,inputRef:u,className:r},T,{InputProps:D({},c,{[`${k}Adornment`]:a?void 0:f.jsx(GD,D({position:k},s,{children:f.jsx(ur,D({edge:k,disabled:g.disabled||g.readOnly,"aria-label":m(g.rawValue,y)},p,{onClick:d,children:f.jsx(x,{})}))}))})}))});function Oc(){return typeof window>"u"?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?Math.abs(window.screen.orientation.angle)===90?"landscape":"portrait":window.orientation&&Math.abs(Number(window.orientation))===90?"landscape":"portrait"}const tO=(e,t)=>{const[n,r]=w.useState(Oc);return zt(()=>{const a=()=>{r(Oc())};return window.addEventListener("orientationchange",a),()=>{window.removeEventListener("orientationchange",a)}},[]),Sd(e,["hours","minutes","seconds"])?!1:(t||n)==="landscape"},nO=({autoFocus:e,openView:t})=>{const[n,r]=w.useState(e?t:null),o=w.useCallback(a=>i=>{r(i?a:s=>a===s?null:s)},[]);return{focusedView:n,setFocusedView:o}};function rO(e){return V.generateUtilityClass("MuiCalendarOrClockPicker",e)}V.generateUtilityClasses("MuiCalendarOrClockPicker",["root","mobileKeyboardInputView"]);const oO=["autoFocus","className","parsedValue","DateInputProps","isMobileKeyboardViewOpen","onDateChange","onViewChange","openTo","orientation","showToolbar","toggleMobileKeyboardView","ToolbarComponent","toolbarFormat","toolbarPlaceholder","toolbarTitle","views","dateRangeIcon","timeIcon","hideTabs","classes"],aO=e=>{const{classes:t}=e,n={root:["root"],mobileKeyboardInputView:["mobileKeyboardInputView"]};return V.unstable_composeClasses(n,rO,t)},iO=ce("div",{name:"MuiCalendarOrClockPicker",slot:"MobileKeyboardInputView",overridesResolver:(e,t)=>t.mobileKeyboardInputView})({padding:"16px 24px"}),sO=ce("div",{name:"MuiCalendarOrClockPicker",slot:"Root",overridesResolver:(e,t)=>t.root})(({ownerState:e})=>D({display:"flex",flexDirection:"column"},e.isLandscape&&{flexDirection:"row"})),lO={fullWidth:!0},Mc=e=>e==="year"||e==="month"||e==="day",kc=e=>e==="hours"||e==="minutes"||e==="seconds";let _c=!1;function cO(e){var t,n;const r=Se({props:e,name:"MuiCalendarOrClockPicker"}),{autoFocus:o,parsedValue:a,DateInputProps:i,isMobileKeyboardViewOpen:s,onDateChange:c,onViewChange:u,openTo:d,orientation:p,showToolbar:h,toggleMobileKeyboardView:g,ToolbarComponent:v=()=>null,toolbarFormat:m,toolbarPlaceholder:y,toolbarTitle:T,views:k,dateRangeIcon:x,timeIcon:C,hideTabs:b}=r,E=de(r,oO),O=(t=E.components)==null?void 0:t.Tabs,N=tO(k,p),L=w.useContext(dr),R=aO(r),W=h??L!=="desktop",X=!b&&typeof window<"u"&&window.innerHeight>667,Z=w.useCallback((_,B)=>{c(_,L,B)},[c,L]),j=w.useCallback(_=>{s&&g(),u&&u(_)},[s,u,g]);process.env.NODE_ENV!=="production"&&!_c&&!k.includes(d)&&(console.warn(`MUI: \`openTo="${d}"\` is not a valid prop.`,`It must be an element of \`views=["${k.join('", "')}"]\`.`),_c=!0);const{openView:$,setOpenView:I,handleChangeAndOpenNext:F}=Ps({view:void 0,views:k,openTo:d,onChange:Z,onViewChange:j}),{focusedView:H,setFocusedView:z}=nO({autoFocus:o,openView:$});return f.jsxs(sO,{ownerState:{isLandscape:N},className:R.root,children:[W&&f.jsx(v,D({},E,{views:k,isLandscape:N,parsedValue:a,onChange:Z,setOpenView:I,openView:$,toolbarTitle:T,toolbarFormat:m,toolbarPlaceholder:y,isMobileKeyboardViewOpen:s,toggleMobileKeyboardView:g})),X&&!!O&&f.jsx(O,D({dateRangeIcon:x,timeIcon:C,view:$,onChange:I},(n=E.componentsProps)==null?void 0:n.tabs)),f.jsx(Ds,{children:s?f.jsx(iO,{className:R.mobileKeyboardInputView,children:f.jsx(hf,D({},i,{ignoreInvalidInputs:!0,disableOpenPicker:!0,TextFieldProps:lO}))}):f.jsxs(w.Fragment,{children:[Mc($)&&f.jsx(Xd,D({autoFocus:o,date:a,onViewChange:I,onChange:F,view:$,views:k.filter(Mc),focusedView:H,onFocusedViewChange:z},E)),kc($)&&f.jsx(ef,D({},E,{autoFocus:o,date:a,view:$,views:k.filter(kc),onChange:F,onViewChange:I,showViewSwitcher:L==="desktop"}))]})})]})}const uO=({open:e,onOpen:t,onClose:n})=>{const r=w.useRef(typeof e=="boolean").current,[o,a]=w.useState(!1);w.useEffect(()=>{if(r){if(typeof e!="boolean")throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");a(e)}},[r,e]);const i=w.useCallback(s=>{r||a(s),s&&t&&t(),!s&&n&&n()},[r,t,n]);return{isOpen:o,setIsOpen:i}},dO=(e,t)=>{const{onAccept:n,onChange:r,value:o,closeOnSelect:a}=e,i=et(),{isOpen:s,setIsOpen:c}=uO(e),u=w.useMemo(()=>t.parseInput(i,o),[t,i,o]),[d,p]=w.useState(u),[h,g]=w.useState(()=>({committed:u,draft:u,resetFallback:u})),v=w.useCallback(E=>{g(O=>{switch(E.action){case"setAll":case"acceptAndClose":return{draft:E.value,committed:E.value,resetFallback:E.value};case"setCommitted":return D({},O,{draft:E.value,committed:E.value});case"setDraft":return D({},O,{draft:E.value});default:return O}}),(E.forceOnChangeCall||!E.skipOnChangeCall&&!t.areValuesEqual(i,h.committed,E.value))&&r(E.value),E.action==="acceptAndClose"&&(c(!1),n&&!t.areValuesEqual(i,h.resetFallback,E.value)&&n(E.value))},[n,r,c,h,i,t]);w.useEffect(()=>{i.isValid(u)&&p(u)},[i,u]),w.useEffect(()=>{s&&v({action:"setAll",value:u,skipOnChangeCall:!0})},[s]),t.areValuesEqual(i,h.committed,u)||v({action:"setCommitted",value:u,skipOnChangeCall:!0});const m=w.useMemo(()=>({open:s,onClear:()=>{v({value:t.emptyValue,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(i,o,t.emptyValue)})},onAccept:()=>{v({value:h.draft,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(i,o,u)})},onDismiss:()=>{v({value:h.committed,action:"acceptAndClose"})},onCancel:()=>{v({value:h.resetFallback,action:"acceptAndClose"})},onSetToday:()=>{v({value:t.getTodayValue(i),action:"acceptAndClose"})}}),[v,s,i,h,t,o,u]),[y,T]=w.useState(!1),k=w.useMemo(()=>({parsedValue:h.draft,isMobileKeyboardViewOpen:y,toggleMobileKeyboardView:()=>T(!y),onDateChange:(E,O,N="partial")=>{switch(N){case"shallow":return v({action:"setDraft",value:E,skipOnChangeCall:!0});case"partial":return v({action:"setDraft",value:E});case"finish":return v(a??O==="desktop"?{value:E,action:"acceptAndClose"}:{value:E,action:"setCommitted"});default:throw new Error("MUI: Invalid selectionState passed to `onDateChange`")}}}),[v,y,h.draft,a]),x=w.useCallback((E,O)=>{const N=t.valueReducer?t.valueReducer(i,d,E):E;r(N,O)},[r,t,d,i]),C=w.useMemo(()=>({onChange:x,open:s,rawValue:o,openPicker:()=>c(!0)}),[x,s,o,c]),b={pickerProps:k,inputProps:C,wrapperProps:m};return w.useDebugValue(b,()=>({MuiPickerState:{dateState:h,other:b}})),b},fO=["onChange","PopperProps","PaperProps","ToolbarComponent","TransitionComponent","value","components","componentsProps"],mf=w.forwardRef(function(t,n){const r=IP(t,"MuiDesktopDatePicker"),o=$E(r)!==null,{pickerProps:a,inputProps:i,wrapperProps:s}=dO(r,LP),{PopperProps:c,PaperProps:u,ToolbarComponent:d=pD,TransitionComponent:p,components:h,componentsProps:g}=r,v=de(r,fO),m=D({},i,v,{components:h,componentsProps:g,ref:n,validationError:o});return f.jsx(FD,D({},s,{DateInputProps:m,KeyboardDateInputComponent:hf,PopperProps:c,PaperProps:u,TransitionComponent:p,components:h,componentsProps:g,children:f.jsx(cO,D({},a,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:d,DateInputProps:m,components:h,componentsProps:g},v))}))});process.env.NODE_ENV!=="production"&&(mf.propTypes={acceptRegex:l.instanceOf(RegExp),autoFocus:l.bool,children:l.node,className:l.string,closeOnSelect:l.bool,components:l.object,componentsProps:l.object,dayOfWeekFormatter:l.func,defaultCalendarMonth:l.any,disabled:l.bool,disableFuture:l.bool,disableHighlightToday:l.bool,disableMaskedInput:l.bool,disableOpenPicker:l.bool,disablePast:l.bool,getOpenDialogAriaText:l.func,getViewSwitchingButtonText:l.func,ignoreInvalidInputs:l.bool,InputAdornmentProps:l.object,inputFormat:l.string,InputProps:l.object,inputRef:l.oneOfType([l.func,l.shape({current:l.object})]),label:l.node,leftArrowButtonText:l.string,loading:l.bool,mask:l.string,maxDate:l.any,minDate:l.any,onAccept:l.func,onChange:l.func.isRequired,onClose:l.func,onError:l.func,onMonthChange:l.func,onOpen:l.func,onViewChange:l.func,onYearChange:l.func,open:l.bool,OpenPickerButtonProps:l.object,openTo:l.oneOf(["day","month","year"]),orientation:l.oneOf(["landscape","portrait"]),PaperProps:l.object,PopperProps:l.object,readOnly:l.bool,reduceAnimations:l.bool,renderDay:l.func,renderInput:l.func.isRequired,renderLoading:l.func,rifmFormatter:l.func,rightArrowButtonText:l.string,shouldDisableDate:l.func,shouldDisableMonth:l.func,shouldDisableYear:l.func,showDaysOutsideCurrentMonth:l.bool,showToolbar:l.bool,ToolbarComponent:l.elementType,toolbarFormat:l.string,toolbarPlaceholder:l.node,toolbarTitle:l.node,TransitionComponent:l.elementType,value:l.any,views:l.arrayOf(l.oneOf(["day","month","year"]).isRequired)});const pi=({title:e,value:t,readonly:n,onChange:r,required:o,id:a,fullWidth:i=!0})=>f.jsx(mf,{disabled:n,label:e,value:t,onChange:s=>r(s),renderInput:s=>{var u,d,p;let c;return(u=s.inputProps)!=null&&u.placeholder&&(c=(p=(d=s.inputProps)==null?void 0:d.placeholder)==null?void 0:p.slice(),s.inputProps.placeholder=void 0),f.jsx(V.TextField,{...s,required:o,sx:{width:"100%"},placeholder:c,autoComplete:"off",variant:"standard",error:!1})}});var Ms={},pO=dt;Object.defineProperty(Ms,"__esModule",{value:!0});var hi=Ms.default=void 0,hO=pO(ft()),mO=f,vO=(0,hO.default)((0,mO.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");hi=Ms.default=vO;var ks={},gO=dt;Object.defineProperty(ks,"__esModule",{value:!0});var vf=ks.default=void 0,yO=gO(ft()),bO=f,xO=(0,yO.default)((0,bO.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");vf=ks.default=xO;const wO=({dates:e,readonly:t,onChange:n,title:r})=>{const[o,a]=S.useState(Math.random()),[i,s]=S.useState(e??[null]),{ToIsoWithoutTimeZone:c,ParseDataToRusLocale:u}=qr();S.useEffect(()=>{n(i.filter(h=>!!h&&Date.parse(h)).map(h=>c(h)).join(","))},[i]);const d=()=>{s(h=>[...h,null]),a(Math.random())},p=h=>{s(g=>[...g.filter((v,m)=>m!==h)]),a(Math.random())};return i.length<2?f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em"},children:[f.jsx(pi,{id:"",title:r??"День рождения родственника",value:i[i.length-1],required:!1,readonly:t,fullWidth:!1,onChange:h=>s(g=>(g[i.length-1]=h,[...g]))}),!!Date.parse(i[0]??"")&&!t&&f.jsx(V.IconButton,{sx:{marginTop:"12px"},color:"primary",onClick:()=>d(),children:f.jsx(hi,{})})]})}):f.jsxs("div",{children:[f.jsx("div",{style:{marginBottom:"1em"},children:"День рождения родственников"}),f.jsx("div",{style:{borderLeft:"solid 1px #cccccc50",paddingLeft:"1em"},children:f.jsxs("div",{style:{display:"flex",flexDirection:"column"},children:[f.jsx("div",{style:{display:"flex",gap:"1em",flexWrap:"wrap"},children:i.filter((h,g)=>g<i.length-1).map((h,g)=>f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em",backgroundColor:"rgba(204, 204, 204, 0.5)",padding:"0 .5em",borderRadius:"5px"},children:[f.jsx("div",{children:h&&u(h.toString())}),f.jsx("div",{children:!t&&f.jsx(V.IconButton,{size:"small",color:"primary",onClick:()=>p(g),children:f.jsx(vf,{})})})]},g))}),f.jsx("div",{children:f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"1em"},children:[f.jsx(pi,{id:"",title:"День рождения",value:i[i.length-1],required:!1,readonly:t,fullWidth:!1,onChange:h=>s(g=>(g[i.length-1]=h,[...g]))}),!t&&f.jsx(V.IconButton,{sx:{marginTop:"12px"},color:"primary",onClick:()=>d(),children:f.jsx(hi,{})})]})})})]})})]})},CO=({id:e,defaultChecked:t,title:n,readonly:r,required:o,onChange:a,value:i})=>{const s=V.useTheme(),c=(u,d=!1)=>{if(!o)return;const p=new CustomEvent(Ar,{detail:{id:e,empty:!u,label:n}});document.dispatchEvent(p)};return S.useEffect(()=>{setTimeout(()=>c(i),1)},[]),S.useEffect(()=>{c(i,!0)},[i]),f.jsxs("div",{style:{display:"flex",gap:"1em",alignItems:"center"},children:[f.jsx(V.Checkbox,{required:o,sx:{padding:0},readOnly:r,checked:i,onChange:()=>a(!i)}),f.jsx(V.Box,{sx:{fontSize:"1rem",a:{color:s.palette.info.main,textDecoration:"none"}},component:"div",dangerouslySetInnerHTML:{__html:n}})]})},EO=({control:e,isReg:t,readonlyControls:n,onChangeRadio:r})=>{var a,i,s,c,u,d;const o=(p,h=!1)=>{if(!e.validation.required)return;const g=new CustomEvent(Ar,{detail:{id:e.id,empty:!p,label:e.title}});document.dispatchEvent(g)};return S.useEffect(()=>{setTimeout(()=>{var p,h;return o((h=(p=e.values)==null?void 0:p.find(g=>g.selected))==null?void 0:h.id)},1)},[]),f.jsx(V.Box,{sx:{minWidth:120},children:f.jsxs(V.FormControl,{fullWidth:!0,variant:"standard",required:(a=e==null?void 0:e.validation)==null?void 0:a.required,children:[f.jsx(V.InputLabel,{id:`select-${e.id}`,children:e.title}),f.jsx(V.Select,{required:(i=e==null?void 0:e.validation)==null?void 0:i.required,readOnly:!t&&((s=e==null?void 0:e.validation)==null?void 0:s.readOnly)&&(n==null?void 0:n.includes(e.id)),labelId:`select-${e.id}`,value:((u=(c=e.values)==null?void 0:c.find(p=>p.selected))==null?void 0:u.id)||"",label:e.title,onChange:p=>{var g,v;(g=e.values)==null||g.filter(m=>m.id!==p.target.value).forEach(m=>m.selected=!1);let h=(v=e.values)==null?void 0:v.find(m=>m.id===p.target.value);h&&(o(!0,!0),h.selected=!0),r({...e,values:e.values})},children:(d=e.values)==null?void 0:d.map(p=>f.jsx(V.MenuItem,{value:p.id,children:p.text},p.id))})]})})},TO=({control:e,value:t,onChange:n,onChangeRadio:r,onChangeChecked:o,isReg:a,readonlyControls:i})=>{var s,c,u,d,p,h,g,v;switch(e.type){case Tn.Textbox:return f.jsx($o,{value:t,onChange:m=>n(m.target.value),required:(s=e==null?void 0:e.validation)==null?void 0:s.required,id:e.id,label:e.title,disabled:!a&&((c=e==null?void 0:e.validation)==null?void 0:c.readOnly)&&(i==null?void 0:i.includes(e.id)),autoComplete:"off",variant:"standard",fullWidth:!0});case Tn.RadiobuttonGroup:return f.jsx(EO,{control:e,isReg:a,readonlyControls:i,onChangeRadio:r});case Tn.Select:return f.jsx(V.Box,{sx:{minWidth:120,maxHeight:"400px"},children:f.jsxs(V.FormControl,{fullWidth:!0,variant:"standard",required:(u=e==null?void 0:e.validation)==null?void 0:u.required,children:[f.jsx(V.InputLabel,{id:`select-${e.id}`,children:e.title}),f.jsx(V.Select,{sx:{maxHeight:"300px"},readOnly:!a&&((d=e==null?void 0:e.validation)==null?void 0:d.readOnly)&&(i==null?void 0:i.includes(e.id)),labelId:`select-${e.id}`,value:e.text,label:e.title,onChange:m=>n(m.target.value),children:(p=e.values)==null?void 0:p.map(m=>f.jsx(V.MenuItem,{value:m.id,children:m.text},m.id))})]})});case Tn.Date:return f.jsx(No,{dateAdapter:li,locale:ci,children:f.jsx(pi,{id:e.id,title:e.title,value:t,readonly:!a&&((h=e==null?void 0:e.validation)==null?void 0:h.readOnly)&&!!(i!=null&&i.includes(e.id)),onChange:m=>n(m),required:(g=e==null?void 0:e.validation)==null?void 0:g.required})});case Tn.ParentBirthday:return f.jsx(wO,{title:e.title,onChange:m=>n(m),readonly:!a,dates:e.dates??[null]});case Tn.Checkbox:return f.jsx(CO,{id:e.id,onChange:m=>o(m),required:(v=e==null?void 0:e.validation)==null?void 0:v.required,readonly:!a,value:e.checked,title:e.title,defaultChecked:e.defaultChecked})}return f.jsx("div",{})},PO=e=>{const t=()=>{const r=new RegExp(/^\.*/);return e.type!==null?e.type===wr.Email?new RegExp(/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/):e.type===wr.Url||e.type===wr.Date?r:e.type===wr.Phone?new RegExp(/^[+]?[\d]{10,11}$/):r:r},n=r=>{let o=!0;return e!=null&&e.minTextLength&&(o=o&&r.length>=(e==null?void 0:e.minTextLength)),e!=null&&e.maxTextLength&&(o=o&&r.length<=(e==null?void 0:e.maxTextLength)),o};return r=>t().test(r)?n(r)?{isError:!1}:{isError:!0,message:`Строка не удовлетворяет нужному размеру (${e.minTextLength??0}-${e.maxTextLength??255})`}:{isError:!0,message:"Строка введена неверно"}},gf=({onControlsGet:e,buttonSaveText:t,isReg:n=!1,previewControls:r})=>{const{apiAxios:o,additionalData:a,VKUserId:i,setCabinetSettings:s,setPhoneNumber:c,telegramInfo:u}=S.useContext(vt),{setIsLoading:d}=S.useContext(pn),{showErrorAlert:p}=S.useContext(sn),{setOpenedPage:h}=S.useContext(Br),[g,v]=S.useState(!1),[m,y]=S.useState(r??[]);S.useEffect(()=>{y(r??[])},[r]);const[T,k]=S.useState([]),[x,C]=S.useState(Math.random()),[b,E]=S.useState(!1),{validationPopup:O,formIsValid:N,setValidations:L}=hs({}),{ToIsoWithoutTimeZone:R}=qr();S.useEffect(()=>{L(m.map(F=>({id:F.id,label:F.title,validator:PO(F.validation)})))},[m]);const W=()=>{const F={};return m.map(H=>F[H.id]=H.text),F};S.useEffect(()=>{r||(async()=>{d("GetControls",!0);const H=await o().post("/externalCustomerCabinet/form/registration",{});e==null||e(H.data.controls),y(H.data.controls),k(H.data.controls.filter(z=>{var _;return((_=z.validation)==null?void 0:_.readOnly)&&!!z.text})),d("GetControls",!1)})()},[]);const X=()=>{N()&&!r&&(E(!0),o().patch("/externalCustomerCabinet/form/registration",{controls:m,...a,VKUserId:i,...u??{}}).then(F=>{s(H=>({...H,isReg:!1})),c(F.data.phoneNumber),v(!0),h("info"),k(m.filter(H=>{var z;return((z=H.validation)==null?void 0:z.readOnly)&&!!H.text}))}).catch(F=>{p(F.response.data.msg)}).finally(()=>{E(!1)}))},Z=(F,H)=>{Date.parse(H)&&(H=R(H)),y(z=>{const _=z.find(B=>B.id===F);return _&&(_.text=H),[...z]})},j=(F,H)=>{y(z=>{const _=z.find(B=>B.id===F);return _&&(_.checked=H),[...z]})},$=F=>{y(H=>{let z=H.find(_=>_.id===F.id);return z&&(z={...F},C(Math.random())),[...H]})};return{controlsForm:f.jsxs(V.Container,{maxWidth:"sm",children:[O,f.jsxs(V.Typography,{component:"div",style:{display:"flex",flexDirection:"column",gap:"1.5em",marginBottom:"1em"},children:[f.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:m==null?void 0:m.map((F,H)=>f.jsx("div",{children:f.jsx(TO,{isReg:n,control:F,onChange:z=>Z(F.id,z),onChangeChecked:z=>j(F.id,z),onChangeRadio:z=>$(z),value:F.text??"",readonlyControls:T.map(z=>z.id)})},H))}),f.jsx("div",{style:{display:"flex",justifyContent:"center"},children:f.jsx(ps,{isLoading:b,onClick:()=>X(),children:t||"Сохранить анкету"})})]})]}),setControls:y,saved:g,setSaved:v,GetObjectByControls:W}},DO=()=>{S.useContext(vt);const{controlsForm:e,saved:t,setSaved:n}=gf({buttonSaveText:"Регистрация",isReg:!0});return f.jsx("div",{children:f.jsxs("div",{children:[f.jsx(la,{style:{marginBottom:"1em"},children:"Для использования полного функционала бота необходимо зарегистрироваться"}),e]})})},OO={theme:null,toggleColorMode:null,setTheme:()=>{}},_s=S.createContext(OO),MO=()=>{const[e,t]=S.useState(yi);return{theme:e,setTheme:t,toggleColorMode:r=>{const o=V.createTheme({palette:{mode:r}});t(a=>({...o,palette:{...o.palette,primary:{...o.palette.primary,main:a.palette.primary.main}}}))}}},kO=({children:e})=>{const t=MO();return f.jsx(_s.Provider,{value:t,children:f.jsxs(V.ThemeProvider,{theme:t.theme,children:[f.jsx(V.CssBaseline,{}),e]})})},_O=()=>{const{controlsForm:e,saved:t,setSaved:n}=gf({buttonSaveText:"Редактирование анкеты",isReg:!1});return f.jsx("div",{children:e})},SO=({showHeader:e})=>{var g;const{cabinetSettings:t,cabinetUISettings:n}=S.useContext(vt),{setTheme:r,theme:o}=S.useContext(_s),{isLoading:a}=S.useContext(pn),{openedPage:i,setOpenedPage:s}=S.useContext(Br),c=(v,m)=>{s(m)};S.useEffect(()=>{r(v=>({...yi,palette:{...v.palette,primary:{...v.palette.primary,main:(n==null?void 0:n.themeColor)||"#6c97a9"}}}))},[n]);const{popups:u,closePopupById:d}=S.useContext(sn),h=[{icon:f.jsx(ku,{}),value:"info",label:"Карта",page:f.jsx(v1,{}),active:!0,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Ou,{}),value:"receipt",label:"История",page:f.jsx(zb,{}),active:!0,disabled:t==null?void 0:t.isReg},{icon:f.jsx(_u,{}),value:"appeals",label:"Обращения",page:f.jsx(M0,{}),active:t==null?void 0:t.canShowAppeals,disabled:t==null?void 0:t.isReg},{icon:f.jsx(ko,{}),value:"businessInfo",label:"Информация",page:f.jsx(qb,{}),active:t==null?void 0:t.canShowBusinessInfo,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Mu,{}),value:"personInfo",label:"Клиент",page:f.jsx(_O,{}),active:t==null?void 0:t.canEditPersonInfo,disabled:t==null?void 0:t.isReg},{icon:f.jsx(Su,{}),value:"registration",label:"Регистрация",page:f.jsx(DO,{}),active:t==null?void 0:t.isReg,disabled:!1}].filter(v=>v.active&&!v.disabled);return f.jsxs(V.Box,{sx:{bgcolor:"background.default"},className:"page_view",children:[e&&f.jsx($c,{}),f.jsx(k0,{show:a}),u.map((v,m)=>f.jsx(zu,{title:v.title,opened:!0,setOpened:()=>d(v.id),children:f.jsx("div",{children:v.content})})),f.jsx("div",{className:"page_view__page scrollbar",children:(g=h.find(v=>v.value===i))==null?void 0:g.page}),f.jsx("div",{className:"page_view__navigation",children:f.jsx("div",{children:f.jsx(V.BottomNavigation,{sx:{borderTop:"solid 1px #cccccc50",bgcolor:"background.default"},value:i,onChange:c,children:h.map((v,m)=>f.jsx(V.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:v.label,value:v.value,icon:v.icon},m))})})})]})};exports.AppContext=vt;exports.AppProvider=Ff;exports.BonusPlusThemeContext=_s;exports.BonusPlusThemeProvider=kO;exports.ErrorBoundary=Vf;exports.Header=$c;exports.LoadingContext=pn;exports.LoadingProvider=Nf;exports.PageContext=Br;exports.PageProvider=If;exports.PopupContext=sn;exports.PopupProvider=Nb;exports.Router=SO;