1"use strict";(globalThis.webpackChunkstec=globalThis.webpackChunkstec||[]).push([[6518],{85873(e,t,a){a.r(t),a.d(t,{DatePicker:()=>m,UncontrolledDatePicker:()=>l,default:()=>u});var r=a(8403),n=a(26878),c=a(75761),s=a(78565),i=a(10382);const l=React.forwardRef(((e,t)=>{const[a,l]=(0,n.useState)(e.defaultValue),[m,u]=(0,n.useState)(!1),[o,d]=(0,n.useState)(!1),f=a.split("T"),p=f[0],R=f[1]||"00:00";(0,n.useEffect)((()=>{if((m||e.wasSubmitted)&&e.required){const t=new RegExp(/[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2})?/).test(a);if(d(!1===t),t){const t=moment(a),r=!!e.min&&moment(e.min),n=!!e.max&&moment(e.max);r&&t.isBefore(r)&&d(!0),n&&t.isAfter(n)&&d(!0)}}}),[e.required,a,e.wasSubmitted,m,e.min,e.max]);const g=t=>{if(!1===moment(t).isValid()){let a=e.min?moment(e.min):moment();const r=e.includeTime?"YYYY-MM-DDTHH:mm":"YYYY-MM-DD";t=a.format(r)}l(t),e.onChange(t)};return React.createElement(r.StecDiv,{className:"stec-datepicker"},React.createElement(s.default,{text:e.title}),React.createElement(r.StecDiv,{className:e.includeTime?"stec-datepicker-inputs":""},React.createElement("input",{className:"stec-datepicker-inputs-date",ref:t,type:"date",value:p,onChange:e=>{const t=e.target.value+"T"+R;g(t)},min:e.min,max:e.max,onBlur:()=>{u(!0)}}),e.includeTime&&React.createElement("input",{type:"time",className:"stec-datepicker-inputs-time",value:R,onBlur:()=>{u(!0)},onChange:e=>{const t=p+"T"+e.target.value;g(t)}})),React.createElement(i.default,{floating:!0,text:e.errorMessage,display:o}),React.createElement(c.default,{text:e.description}))}));l.displayName="UncontrolledDatePicker";const m=React.forwardRef(((e,t)=>
1{const[a,l]=(0,n.useState)(!1),[m,u]=(0,n.useState)(!1);(0,n.useEffect)((()=>{if((a||e.wasSubmitted)&&e.required){const t=new RegExp(/[0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2})?/).test(e.value);if(u(!1===t),t){const t=moment(e.value),a=!!e.min&&moment(e.min),r=!!e.max&&moment(e.max);a&&t.isBefore(a)&&u(!0),r&&t.isAfter(r)&&u(!0)}}}),[e.max,e.min,e.required,e.value,e.wasSubmitted,a]);const o=t=>{if(!1===moment(t).isValid()){let a=e.min?moment(e.min):moment();const r=e.includeTime?"YYYY-MM-DD\\THH:mm":"YYYY-MM-DD";t=a.format(r)}e.onChange(t)},d=e.value.split("T"),f=d[0],p=d[1]||"00:00";return React.createElement(r.StecDiv,{className:"stec-datepicker"},React.createElement(s.default,{text:e.title}),React.createElement(r.StecDiv,{className:e.includeTime?"stec-datepicker-inputs":""},React.createElement("input",{ref:t,className:"stec-datepicker-inputs-date",type:"date",value:f,onChange:e=>{const t=e.target.value+"T"+p;o(t)},min:e.min,max:e.max,onBlur:()=>{l(!0)}}),e.includeTime&&React.createElement("input",{type:"time",className:"stec-datepicker-inputs-time",value:p,onBlur:()=>{l(!0)},onChange:e=>{const t=f+"T"+e.target.value;o(t)}})),React.createElement(i.default,{floating:!0,text:e.errorMessage,display:m}),React.createElement(c.default,{text:e.description}))}));m.displayName="DatePicker";const u=m},96023(e,t,a){a.r(t),a.d(t,{default:()=>m});var r=a(8403),n=a(75761),c=a(78565),s=a(22008),i=a(73772);const __=i.__,l=React.forwardRef(((e,t)=>React.createElement(r.StecDiv,{className:["stec-input-search-wrapper"],ref:t},React.createElement("label",null,React.createElement(c.default,{text:e.title}),React.createElement(r.StecDiv,{className:"stec-input-search-wrapper-relative"},React.createElement("input",{style:["ready","loading"].includes(e.status)?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{},type:"text",value:e.value,placeholder:e.placeholder,onChange:e.onChange}),["ready","loading"].includes(e.status)&&React.createElement(r.StecDiv,{className:"stec-input-search-wrapper-dropdown"},"loading"===e.status&&React.createElement(s.default,{type:"small-wide",title:__("Searching...","stec")}),"ready"===e.status&&React.createElement(React.Fragment,null,e.isError&&React.createElement(r.StecSpan,{className:"stec-input-search-nothing-found"},React.createElement("i",{className:"fa-solid fa-triangle-exclamation",style:{marginRight:5}}),__("Unexpected error","stec")),!e.isError&&(!1===Array.isArray(e.items)||e.items.length<=0)&&React.createElement(r.StecSpan,{className:"stec-input-search-nothing-found"},__("Nothing found","stec")),!e.isError&&Array.isArray(e.items)&&e.items.length>0&&e.items))),React.createElement(n.default,{text:e.description})))));l.displayName="InputSearch";const m=l},83848(e,t,a){a.r(t),a.d(t,{default:()=>m});var r=a(32779),n=a(6405),c=a(21067),s=a(73772);const __=s.__,i=({availableDates:e,date:t,onChange:a,wasSubmitted:n})=>React.createElement(r.default,{title:__("Event date","stec"),description:__("Select event date from available dates","stec"),value:t,options:e,onChange:e=>{a(e)},required:!0,wasSubmitted:n,errorMessage:__("Select event date","stec")}),l=({event:e,cache:t,date:a,onChange:r,wasSubmitted:s})=>{const l=JSON.parse(JSON.stringify(e)),m=moment().utc().add(1,"year").format("YYYY-MM-DD HH:mm:ss");let u=moment().utc();if(a){const t=moment.tz(a,e.meta.timezone).utc();t.isBefore(u)&&(u=t)}if(u=u.format("YYYY-MM-DD HH:mm:ss"),Array.isArray(e.recurrence_overrides)){const t=[];e.recurrence_overrides.forEach((e=>{const a=moment.utc(e.recurrence_id).format("YYYY-MM-DD");t.push(a)})),Array.isArray(l.meta.exdate)&&(l.meta.exdate=[...l.meta.exdate,...t]),Array.isArray(l.meta.exdate)||(l.meta.exdate=t),l.meta.exdate=[...new Set(l.meta.exdate)]}const o={startRange:u,endRange:m,minDate:u,events:[l],threadIndex:"REMINDER_AVAILABLE_DATES",limit:10},[d,f]=(0,c.useEventsInRange)(o);if(!1===f)return null;const p=(0,n.getRecurrencesDatesList)(d);return t.current.availableDates[e.id]=p,React.createElement(i,{date:a,onChange:r,availableDates:p,wasSubmitted:s})};const m=function({event:e,date:t,onChange:a,cache:r,wasSubmitted:n}){let c=[];return r.current.availableDates[e.id]?(c=r.current.availableDates[e.id],React.createElement(i,{availableDates:c,date:t,onChange:a,wasSubmitted:n})):React.createElement(l,{event:e,cache:r,date:t,onChange:a,wasSubmitted:n})}},52083(e,t,a){a.r(t),a.d(t,{default:()=>R});var r=a(52779),n=a(13839),c=a(32488),s=a(85873),i=a(22819),l=a(6405),m=a(8403),u=a(26878),o=a(83848),d=a(66483),f=a(73772);const __=f.__,p=({postData:e,selectedDate:t,eventTimezone:a,wasSubmitted:r})=>{const n="YYYY-MM-DDTHH:mm",c=STEC_VARIABLES?.use_user_tz||!1,i=moment.tz(e.current.meta.remind_date||t,a),m=moment.tz(moment(),a),u=moment.tz(t,a);c&&(i.local(),m.local(),u.local());const o=(0,l.getUtcOffset)(u),d=(0,f.sprintf)(__("Date is in %s timezone","stec"),o);return e.current.meta.remind_date||(e.current.meta.remind_date=i.format(n)),React.createElement(s.UncontrolledDatePicker,{title:__("Remind date","stec"),defaultValue:i.format(n),description:d,includeTime:!0,min:m.format(n),max:u.format(n),onChange:t=>{const r=(c?moment(t).tz(a):moment.tz(t,a)).format(n);e.current.meta.remind_date=r},required:!0,errorMessage:__("Invalid remind date","stec"),wasSubmitted:r})},R=({event:e,postData:t,onChangeEvent:a,cache:s,wasSubmitted:f})=>{const[R,g]=(0,u.useState)(t.current.meta.event_date);if((0,u.useEffect)((()=>{!e||R||e.meta.rrule||(t.current.meta.event_date=e.meta.start_date,g(e.meta.start_date))}),[e,t,R]),!e)return null;
1const E=(0,l.getEventThumbnailByType)(e);return React.createElement(React.Fragment,null,React.createElement(n.default,{style:{alignItems:"center",justifyContent:"flex-start"}},E,React.createElement(m.StecDiv,{style:{marginLeft:10}},React.createElement(m.StecDiv,{style:{color:"#454850",fontWeight:"bold",fontSize:14}},e.title," (#",e.id,")"),React.createElement(r.default,{className:"red",label:__("Change","stec"),style:{marginTop:5,fontSize:12,padding:8,lineHeight:1,height:"auto"},onClick:a}))),React.createElement(i.default,null),React.createElement(o.default,{event:e,postData:t,cache:s,date:R,onChange:e=>{t.current.meta.event_date=e,g(e)},wasSubmitted:f}),React.createElement(i.default,null),!0===STEC_VARIABLES.current_user.capability.edit_users&&React.createElement(d.default,{cache:s,postData:t,wasSubmitted:f}),!1===STEC_VARIABLES.current_user.capability.edit_users&&React.createElement(c.InputText,{title:__("Recipient","stec"),readOnly:!0,value:`${STEC_VARIABLES.current_user.data.name} (${STEC_VARIABLES.current_user.data.email})`,description:__("Recipient","stec")}),React.createElement(i.default,null),R&&React.createElement(p,{key:R,postData:t,selectedDate:R,wasSubmitted:f,eventTimezone:e.meta.timezone}),React.createElement(i.default,null),React.createElement(c.UncontrolledInputText,{title:__("Remind note","stec"),defaultValue:t.current.content.raw,description:__("Remind note","stec"),onChange:e=>t.current.content.raw=e,regex:/\w/,wasSubmitted:f,errorMessage:__("This field is required","stec")}),React.createElement(i.default,null))}},6832(e,t,a){a.r(t),a.d(t,{default:()=>d});var r=a(52779),n=a(13839),c=a(96023),s=a(6405),i=a(91927),l=a(13328),m=a(8403),u=a(26878),o=a(73772);const __=o.__,d=({currentEvent:e,onEventSelected:t})=>{const a=(0,u.useRef)(),[o,d]=(0,u.useState)(""),f=["EventScheduled","EventMovedOnline","EventRescheduled"].join(","),{items:p,status:R,error:g}=(0,i.useSearchEvents)({input:o,args:`context=event&permission_type=read_permission&per_page=10&include_ro_data=1&event_status=${f}`});return(0,l.useOutsideHandler)(a,(()=>{d("")})),React.createElement(c.default,{ref:a,title:__("Select event","stec"),placeholder:__("Event title","stec"),description:__("Search for event","stec"),value:o,status:R,items:!!(Array.isArray(p)&&p.length>0)&&p.map((a=>{const c=(0,s.getEventThumbnailByType)(a);return React.createElement(m.StecDiv,{key:a.id,className:"stec-search-attendable-event-item",style:{padding:10,boxSizing:"border-box"}},React.createElement(n.default,{style:{alignItems:"flex-start",justifyContent:"flex-start"}},c,React.createElement(m.StecDiv,{style:{marginLeft:10}},React.createElement(m.StecDiv,{className:"stec-search-attendable-event-item-title",style:{color:"#454850",fontWeight:"bold",fontSize:14}},a.title," (#",a.id,")"),e&&e.id===a.id&&React.createElement(r.default,{className:"red",label:__("Remove","stec"),style:{marginTop:5,fontSize:12,padding:8},onClick:()=>{t(!1)}}),(!e||e.id!==a.id)&&React.createElement(r.default,{className:"green",label:__("Select event","stec"),style:{marginTop:5,fontSize:12,padding:8},onClick:()=>{t(a)}}))))})),onChange:e=>{d(e.target.value)}})}},66483(e,t,a){a.r(t),a.d(t,{default:()=>u});var r=a(32779),n=a(32488),c=a(22819),s=a(6405),i=a(13328),l=a(26878),m=a(73772);const __=m.__,u=({postData:e,cache:t,wasSubmitted:a})=>{const[m,u]=(0,l.useState)(0===e.current.meta.user_id),{items:o,ready:d,error:f}=(0,i.useUsers)({cache:t});if(!d||f)return null;const p=[{label:__("Guest","stec"),value:0},...o.map((e=>({value:e.id,label:e.name})))];return React.createElement(React.Fragment,null,React.createElement(r.UncontrolledInputSelect,{title:__("Recipient","stec"),defaultValue:e.current.meta.user_id,options:p,onChange:t=>{0===t?(u(!0),e.current.meta.user_id=0):(e.current.meta.user_id=t,m&&u(!1))},description:__("Select recipient from the users list","stec"),required:!m,errorMessage:__("Select recipient","stec"),wasSubmitted:a}),m&&React.createElement(React.Fragment,null,React.createElement(c.default,null),React.createElement(n.UncontrolledInputText,{title:__("Recipient email","stec"),description:__("Recipient email","stec"),defaultValue:e.current.meta.email,onChange:t=>{e.current.meta.email=t},regex:(0,s.getRegexByType)("title"),errorMessage:__("This field is required","stec"),wasSubmitted:a})))}},80851(e,t,a){a.r(t),a.d(t,{UpsertForm:()=>v,default:()=>h});var r=a(52779),n=a(93699),c=a(48596),s=a(22819),i=a(98196),l=a(91927),m=a(6405),u=a(26960),o=a(8403),d=a(26878),f=a(60799),p=a(52083),R=a(6832),g=a(59374),E=a(73772);const __=E.__;function v(e){const t=(0,d.useRef)({useUsers:!1,availableDates:{}}),[a,l]=(0,d.useState)(!1),[E,v]=(0,d.useState)(!1),[h,S]=(0,d.useState)(0),_=(0,d.useRef)(!1),y=g.default,b=(0,d.useRef)((0,u.cloneDeep)(e.template?e.template:y));b.current.meta.tos=!0;const D=(0,d.useRef)([]),w=(e,t=!0)=>{b.current=t?(0,u.cloneDeep)(e):e,S((0,u.uniqueId)())},x=b.current.id?[React.createElement("i",{key:"icon",className:"fa-solid fa-pen-to-square"}),__("Edit remind","stec")]:[React.createElement("i",{key:"icon",className:"fa-solid fa-plus"}),__("Add new remind","stec")];return(0,d.useEffect)((()=>{const t=new AbortController;let r=!0;return!a&&b.current.meta.event_id&&(async()=>{try{const e=await(0,i.newApiGet)({route:"EVENTS",args:`${b.current.meta.event_id}?context=event&include_ro_data=1`,abortController:t});!0===r&&l(e)}catch(t){r&&(f.toast.error(__("Unable to retrieve event","stec")),e.onBack())}})(),()=>{r=!1,t.abort()}}),[]),!a&&b.current.meta.event_id?null:React.createElement(c.default,{title:x,key:h},!a&&React.createElement(React.Fragment,null,React.createElement(R.default,{postData:b,currentEvent:a,onEventSelected:e=>{l(e);const t=e?e.id:"";b.current.meta.event_id=t,b.current.meta.event_title=t?e.title.raw:""}}),React.createElement(s.default,null)),React.createElement(p.default,{cache:t,event:a,postData:b,onChangeEvent:()=>{b.current.meta.event_id="",b.current.meta.event_title="",l(!1)},wasSubmitted:E}),React.createElement(r.default,{label:b.current.id?__("Update","stec"):__("Create","stec",0),className:"green",onClick:()=>
1{if(!0!==_.current){if(v(!0),!1===(()=>{const e=[{id:"event_id",meta:!0,required:!0,errorMessage:__("Select an event first","stec")},{id:"event_date",meta:!0,required:!0,errorMessage:__("Select event date","stec")},{id:"remind_date",meta:!0,required:!0,errorMessage:__("Select remind date","stec")},{id:"user_id",meta:!0,required:!1,shouldCheck:()=>b.current.meta.user_id>0,errorMessage:__("Select recipient","stec")},{id:"email",meta:!0,required:!1,shouldCheck:()=>0===b.current.meta.user_id,errorMessage:__("Recipient must have an email","stec")},{id:"content",meta:!1,required:!0,regex:(0,m.getRegexByType)("text"),errorMessage:__("Please add remind note","stec")}];for(let t in e){const a=e[t];let r=a.meta?b.current.meta[a.id]:b.current[a.id];if(a.shouldCheck&&!1===a.shouldCheck())continue;let n=!0;if("content"===a.id&&(r=r.raw),n=a.regex?new RegExp(a.regex).test(r):Array.isArray(r)?r.length>0:!(!r||""===r),!1===n)return D.current[a.id]&&D.current[a.id].focus(),f.toast.error(a.errorMessage),!1}const t=moment(),r=moment.tz(b.current.meta.event_date,a.meta.timezone),n=moment.tz(b.current.meta.remind_date,a.meta.timezone);return n.isBefore(t)?(f.toast.error(__("Remind date cannot be in the past","stec")),!1):!n.isAfter(r)||(f.toast.error(__("Remind date cannot be after event start date","stec")),!1)})())return!1;f.toast.promise(new Promise(((e,t)=>{_.current=!0,async function(){try{let a;b.current.id?a=await(0,i.newApiPut)({route:"REMINDERS",args:b.current.id,data:b.current,includeResponseStatus:!0,errorMessage:"auto"}):(delete b.current.id,a=await(0,i.newApiPost)({route:"REMINDERS",data:b.current,includeResponseStatus:!0,errorMessage:"auto"}));const{status:r,data:n}=a;switch(r){case 201:return w(n),e(__("Created","stec"));case 200:return w(n),e(__("Updated","stec"));default:return t(__("Sorry, something went wrong","stec"))}}catch(e){return t(e.message)}}()})),{loading:__("Saving","stec"),success:e=>(_.current=!1,e),error:e=>(_.current=!1,React.createElement(o.StecDiv,{dangerouslySetInnerHTML:{__html:e}}))})}else(0,f.toast)(__("Another action is in progress","stec"))}}),React.createElement(r.default,{label:__("Reset form","stec"),className:"yellow",style:{marginLeft:5},onClick:()=>{l(!1),w(y),v(!1),(0,f.toast)(__("The form has been reset","stec"))}}),b.current.id&&React.createElement(n.default,{label:__("Delete","stec"),className:"red",style:{marginLeft:5},onClick:()=>{!0!==_.current?f.toast.promise(new Promise(((t,a)=>{_.current=!0,async function(){try{await(0,i.newApiDelete)({route:"REMINDERS",args:b.current.id,errorMessage:"auto"});e.onRemindDeleted&&e.onRemindDeleted(b.current);const a=(0,u.cloneDeep)(b.current);return a.id="",w(a,!1),t(__("Deleted","stec"))}catch(e){return a(e.message)}}()})),{loading:__("Deleting","stec"),success:e=>(_.current=!1,e),error:e=>(_.current=!1,React.createElement(o.StecDiv,{dangerouslySetInnerHTML:{__html:e}}))}):(0,f.toast)(__("Another action is in progress","stec"))}}),React.createElement(r.default,{label:__("Back","stec"),className:"blue",style:{marginLeft:5},onClick:e.onBack}))}const h=function(){const{setActiveMenu:e,activeMenuParams:t}=(0,l.useDashboardMenu)();return React.createElement(React.Fragment,null,React.createElement(o.StecDiv,{className:"stec-dashboard-top-nav"},React.createElement(r.default,{className:"stcolor stec-dashboard-home-button",label:[React.createElement("i",{key:"icon",className:"fa-solid fa-home"}),__("Home","stec")],onClick:()=>{e({page:"home",params:{}})}}),React.createElement(r.default,{className:"blue",label:[React.createElement("i",{key:"icon",className:"fa-solid fa-list"}),__("Manage reminders","stec")],onClick:()=>{e({page:"reminders-list",params:{}})}})),React.createElement(v,{template:t.template||!1,onBack:()=>{e({page:"reminders-list",params:{}})}}))}},59374(e,t,a){a.r(t),a.d(t,{default:()=>r});const r={title:{raw:""},slug:"",content:{raw:""},excerpt:{raw:""},status:"publish",comment_status:"closed",meta:{user_id:STEC_VARIABLES?.current_user?.data?.id||0,event_id:"",event_date:"",remind_date:"",email:"",read_permission:["stec_private"],edit_permission:["stec_private"]}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.