PageSourceSearch

https://www.imagic.co.nz/_next/static/chunks/pages/handbook/leave-8ff5262036536c35.js

js imagic.co.nz collected 2026-10-08 19:36:39 UTC 39,074 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39],{26790:function(e,a,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/handbook/leave",function(){return t(54261)}])},31088:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return d}});var l=t(85893),s=t(67294),n=t(11988),r=t(26),i=t(62380);function o(e){return e?(0,r.WU)(e,"yyyy-MM-dd"):""}function d(e){let{onCreated:a}=e,[t,r]=(0,s.useState)([]),[d,c]=(0,s.useState)(""),[u,m]=(0,s.useState)(null),[v,f]=(0,s.useState)(null),[h,y]=(0,s.useState)(""),[p,b]=(0,s.useState)([]),[x,j]=(0,s.useState)(!1),[L,g]=(0,s.useState)(null),[N,D]=(0,s.useState)(null);async function S(e){if(e.preventDefault(),!d||!u||!v){g("error"),D("Please select an employee and both dates.");return}j(!0),g(null),D(null);try{let t=new FormData;t.append("email",d),t.append("startDate",o(u)),t.append("lastDate",o(v)),t.append("reason",h),p.forEach(e=>t.append("attachments",e));let l=await fetch("/api/leave-sick-create",{method:"POST",body:t}),s=await l.json();l.ok&&s.success?(null==a||a(s.entry),c(""),m(null),f(null),y(""),b([]),e.target.reset(),g("success"),D("Sick leave recorded and notifications sent."),setTimeout(()=>{g(null),D(null)},4e3)):(g("error"),D(s.error||"Failed to record sick leave."))}catch(e){console.error("Error creating sick leave entry:",e),g("error"),D("Failed to record sick leave.")}finally{j(!1)}}return(0,s.useEffect)(()=>{let e=!1;return fetch("/api/leave-admin-users").then(e=>e.json()).then(a=>{!e&&Array.isArray(a.users)&&r([...a.users].sort((e,a)=>e.name.localeCompare(a.name)))}).catch(e=>console.error("Error fetching employees:",e)),()=>{e=!0}},[]),(0,l.jsxs)("div",{className:"leave-form admin-sick-leave-form","data-bg":"white",children:[(0,l.jsx)("h3",{className:"admin-section-title",children:"Add Sick Leave"}),(0,l.jsxs)("form",{className:"form-block",onSubmit:S,children:[(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"sickLeaveEmail",children:"Employee"}),(0,l.jsxs)("select",{id:"sickLeaveEmail",value:d,onChange:e=>c(e.target.value),required:!0,children:[(0,l.jsx)("option",{value:"",disabled:!0,children:"Select employee…"}),t.map(e=>(0,l.jsx)("option",{value:e.email,children:e.name},e.id))]})]})}),(0,l.jsxs)("div",{className:"form-row",children:[(0,l.jsxs)("div",{className:"form-field",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"sickLeaveStart",children:"First Day"}),(0,l.jsx)(n.ZP,{id:"sickLeaveStart",selected:u,onChange:m,selectsStart:!0,startDate:u,endDate:v,dateFormat:"dd/MM/yyyy",className:"date-picker-input",placeholderText:"DD / MM / YYYY",autoComplete:"off",calendarStartDay:1,popperContainer:i.default,required:!0})]}),(0,l.jsxs)("div",{className:"form-field",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"sickLeaveEnd",children:"Last Day"}),(0,l.jsx)(n.ZP,{id:"sickLeaveEnd",selected:v,onChange:f,selectsEnd:!0,startDate:u,endDate:v,minDate:u,dateFormat:"dd/MM/yyyy",className:"date-picker-input",placeholderText:"DD / MM / YYYY",autoComplete:"off",calendarStartDay:1,popperContainer:i.default,required:!0})]})]}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"sickLeaveReason",children:"Reason (optional)"}),(0,l.jsx)("input",{id:"sickLeaveReason",type:"text",value:h,onChange:e=>y(e.target.value),placeholder:"e.g. Flu"})]})}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"sickLeaveAttachments",children:"Attachments (optional)"}),(0,l.jsx)("input",{id:"sickLeaveAttachments",type:"file",accept:"image/*,application/pdf",multiple:!0,onChange:function(e){b(Array.from(e.target.files||[]))}}),p.length>0&&(0,l.jsxs)("p",{className:"admin-sick-leave-attachments-hint",children:[p.length," file",p.length>1?"s":""," selected"]})]})}),(0,l.jsx)("div",{className:"form-buttons",children:(0,l.jsx)("button",{type:"submit",className:"btn btn-bg-green",disabled:x,children:(0,l.jsx)("span",{children:x?"Saving…":"Add Sick Leave"})})}),"error"===L&&(0,l.jsx)("div",{className:"form-status form-status-error",children:(0,l.jsx)("p",{children:N})}),"success"===L&&(0,l.jsx)("div",{className:"form-status form-status-success",children:(0,l.jsx)("p",{children:N})})]})]})}},98496:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return o}});
1var l=t(85893),s=t(67294),n=t(11988),r=t(26),i=t(62380);function o(e){let{onCreated:a}=e,[t,o]=(0,s.useState)([]),[d,c]=(0,s.useState)(""),[u,m]=(0,s.useState)(null),[v,f]=(0,s.useState)(!1),[h,y]=(0,s.useState)(null),[p,b]=(0,s.useState)(null);async function x(e){if(e.preventDefault(),!d||!u){y("error"),b("Please select an employee and a date.");return}f(!0),y(null),b(null);try{let e=await fetch("/api/leave-wfh-create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:d,date:u?(0,r.WU)(u,"yyyy-MM-dd"):""})}),t=await e.json();e.ok&&t.success?(null==a||a(t.entry),c(""),m(null),y("success"),b("WFH day recorded."),setTimeout(()=>{y(null),b(null)},4e3)):(y("error"),b(t.error||"Failed to record WFH day."))}catch(e){console.error("Error creating WFH entry:",e),y("error"),b("Failed to record WFH day.")}finally{f(!1)}}return(0,s.useEffect)(()=>{let e=!1;return fetch("/api/leave-admin-users").then(e=>e.json()).then(a=>{!e&&Array.isArray(a.users)&&o([...a.users].sort((e,a)=>e.name.localeCompare(a.name)))}).catch(e=>console.error("Error fetching employees:",e)),()=>{e=!0}},[]),(0,l.jsxs)("div",{className:"leave-form admin-wfh-form","data-bg":"white",children:[(0,l.jsx)("h3",{className:"admin-section-title",children:"Add WFH Day"}),(0,l.jsxs)("form",{className:"form-block",onSubmit:x,children:[(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"wfhEmail",children:"Employee"}),(0,l.jsxs)("select",{id:"wfhEmail",value:d,onChange:e=>c(e.target.value),required:!0,children:[(0,l.jsx)("option",{value:"",disabled:!0,children:"Select employee…"}),t.map(e=>(0,l.jsx)("option",{value:e.email,children:e.name},e.id))]})]})}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"wfhDate",children:"Date"}),(0,l.jsx)(n.ZP,{id:"wfhDate",selected:u,onChange:m,dateFormat:"dd/MM/yyyy",className:"date-picker-input",placeholderText:"DD / MM / YYYY",autoComplete:"off",calendarStartDay:1,popperContainer:i.default,required:!0})]})}),(0,l.jsx)("div",{className:"form-buttons",children:(0,l.jsx)("button",{type:"submit",className:"btn btn-bg-green",disabled:v,children:(0,l.jsx)("span",{children:v?"Saving…":"Add WFH Day"})})}),"error"===h&&(0,l.jsx)("div",{className:"form-status form-status-error",children:(0,l.jsx)("p",{children:p})}),"success"===h&&(0,l.jsx)("div",{className:"form-status form-status-success",children:(0,l.jsx)("p",{children:p})})]})]})}},62380:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return r}});var l=t(85893),s=t(67294),n=t(73935);function r(e){let{children:a}=e,[t,r]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{r(!0)},[]),t)?(0,n.createPortal)((0,l.jsx)("div",{className:"leave-datepicker-portal",children:a}),document.body):null}},13154:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return i}});var l=t(85893),s=t(21190),n=t(50979),r=t(68729);function i(e){let{open:a,title:t,message:i,confirmLabel:o="Confirm",cancelLabel:d="Cancel",onConfirm:c,onCancel:u,isLoading:m=!1,error:v=null}=e;return(0,l.jsx)(s.M,{children:a&&(0,l.jsx)(n.E.div,{className:"confirm-modal-overlay",onClick:u,variants:r._2,initial:"hidden",animate:"visible",exit:"exit",children:(0,l.jsxs)(n.E.div,{className:"confirm-modal",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",variants:r.Cu,initial:"hidden",animate:"visible",exit:"exit",children:[(0,l.jsx)("h3",{className:"confirm-modal-title",children:t}),i&&(0,l.jsx)("p",{className:"confirm-modal-message",children:i}),v&&(0,l.jsx)("p",{className:"confirm-modal-error",children:v}),(0,l.jsxs)("div",{className:"confirm-modal-actions",children:[(0,l.jsx)("button",{type:"button",className:"confirm-modal-btn confirm-modal-btn-secondary",onClick:u,disabled:m,children:d}),(0,l.jsx)("button",{type:"button",className:"confirm-modal-btn confirm-modal-btn-danger",onClick:c,disabled:m,children:m?"Removing…":o})]})]})})})}},3893:function(e,a,t){"use strict";t.r(a),t.d(a,{ADMIN_LEAVE_TYPE_OPTIONS:function(){return d},default:function(){return c}});
1var l=t(85893),s=t(11988),n=t(62380),r=t(21190),i=t(50979),o=t(68729);let d=[{label:"Annual leave",value:"annualLeave"},{label:"Birthday leave",value:"birthdayLeave"},{label:"Other leave",value:"otherLeave"},{label:"Sick leave",value:"sickLeave"},{label:"Work from home",value:"workFromHome"}];function c(e){let{open:a,entry:t,startDate:c,endDate:u,leaveType:m,onStartDateChange:v,onEndDateChange:f,onLeaveTypeChange:h,onSave:y,onCancel:p,isSaving:b=!1,error:x=null}=e;return(0,l.jsx)(r.M,{children:a&&(0,l.jsx)(i.E.div,{className:"confirm-modal-overlay",onClick:p,variants:o._2,initial:"hidden",animate:"visible",exit:"exit",children:(0,l.jsxs)(i.E.div,{className:"confirm-modal edit-dates-modal",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",variants:o.Cu,initial:"hidden",animate:"visible",exit:"exit",children:[(0,l.jsx)("h3",{className:"confirm-modal-title",children:"Edit Leave Request"}),t&&(0,l.jsxs)("p",{className:"confirm-modal-message",children:["Updating the request for ",t.emailField,". They'll be notified of the change."]}),(0,l.jsxs)("div",{className:"edit-dates-modal-fields",children:[(0,l.jsxs)("div",{className:"edit-dates-modal-field",children:[(0,l.jsx)("label",{className:"edit-dates-modal-label",htmlFor:"editLeaveStart",children:"First Day"}),(0,l.jsx)(s.ZP,{id:"editLeaveStart",selected:c,onChange:v,selectsStart:!0,startDate:c,endDate:u,dateFormat:"dd/MM/yyyy",className:"edit-dates-modal-input",placeholderText:"DD / MM / YYYY",autoComplete:"off",calendarStartDay:1,popperContainer:n.default})]}),(0,l.jsxs)("div",{className:"edit-dates-modal-field",children:[(0,l.jsx)("label",{className:"edit-dates-modal-label",htmlFor:"editLeaveEnd",children:"Last Day"}),(0,l.jsx)(s.ZP,{id:"editLeaveEnd",selected:u,onChange:f,selectsEnd:!0,startDate:c,endDate:u,minDate:c,dateFormat:"dd/MM/yyyy",className:"edit-dates-modal-input",placeholderText:"DD / MM / YYYY",autoComplete:"off",calendarStartDay:1,popperContainer:n.default})]}),(0,l.jsxs)("div",{className:"edit-dates-modal-field edit-dates-modal-field--full",children:[(0,l.jsx)("label",{className:"edit-dates-modal-label",htmlFor:"editLeaveType",children:"Leave Type"}),(0,l.jsx)("select",{id:"editLeaveType",className:"edit-dates-modal-input",value:m||"",onChange:e=>h(e.target.value),children:d.map(e=>(0,l.jsx)("option",{value:e.value,children:e.label},e.value))})]})]}),x&&(0,l.jsx)("p",{className:"confirm-modal-error",children:x}),(0,l.jsxs)("div",{className:"confirm-modal-actions",children:[(0,l.jsx)("button",{type:"button",className:"confirm-modal-btn confirm-modal-btn-secondary",onClick:p,disabled:b,children:"Cancel"}),(0,l.jsx)("button",{type:"button",className:"confirm-modal-btn confirm-modal-btn-primary",onClick:y,disabled:b,children:b?"Saving…":"Save changes"})]})]})})})}},99953:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return n}});var l=t(85893);let s=[{label:"Annual",color:"#FF70E4"},{label:"Birthday",color:"#6366F1"},{label:"Other",color:"#FFF500"},{label:"Sick",color:"#22C55E"},{label:"WFH",color:"#8B5E34"}];function n(){return(0,l.jsx)("ul",{className:"leave-calendar-legend",children:s.map(e=>(0,l.jsxs)("li",{className:"leave-calendar-legend-item",children:[(0,l.jsx)("span",{className:"leave-calendar-legend-dot",style:{backgroundColor:e.color}}),(0,l.jsx)("span",{children:e.label})]},e.label))})}},7446:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return r}});var l=t(85893),s=t(50979);let n=[{id:"dayGridMonth",label:"month"},{id:"listMonth",label:"list"}];function r(e){let{view:a,onChange:t}=e;return(0,l.jsx)("div",{className:"leave-calendar-view-toggle",children:n.map(e=>(0,l.jsxs)("button",{type:"button",className:"leave-calendar-view-btn ".concat(a===e.id?"leave-tab-active":""),onClick:()=>t(e.id),children:[a===e.id&&(0,l.jsx)(s.E.span,{layoutId:"leaveCalendarViewIndicator",className:"leave-tab-indicator",transition:{type:"spring",stiffness:380,damping:32,mass:.8}}),(0,l.jsx)("span",{className:"leave-tab-label",children:e.label})]},e.id))})}},15807:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return x}});
1var l=t(85893),s=t(67294),n=t(13798),r=t(21609),i=t(26),o=t(35219),d=t(58152),c=t(58166),u=t(41498),m=t(50979),v=t(21190),f=t(68729);let h=e=>{switch(e){case"annualLeave":return"Annual Leave";case"birthdayLeave":return"Birthday Leave";case"otherLeave":return"Other Leave";case"sickLeave":return"Sick Leave";case"workFromHome":return"Work From Home";default:return e}},y=e=>{switch(e){case"annualLeave":return"leave-badge-annual";case"birthdayLeave":return"leave-badge-birthday";case"otherLeave":return"leave-badge-other";case"sickLeave":return"leave-badge-sick";case"workFromHome":return"leave-badge-wfh";default:return"leave-badge-default"}},p=e=>e?e.split("@")[0].replace(/[._]/g," ").replace(/\b\w/g,e=>e.toUpperCase()):"Unknown",b=(e,a)=>{try{let t="string"==typeof e?(0,n.D)(e):e,l="string"==typeof a?(0,n.D)(a):a;if((0,r.K)(t,l))return(0,i.WU)(t,"MMM d, yyyy");if((0,i.WU)(t,"MMM yyyy")===(0,i.WU)(l,"MMM yyyy"))return"".concat((0,i.WU)(t,"MMM d")," - ").concat((0,i.WU)(l,"d, yyyy"));if((0,i.WU)(t,"yyyy")===(0,i.WU)(l,"yyyy"))return"".concat((0,i.WU)(t,"MMM d")," - ").concat((0,i.WU)(l,"MMM d, yyyy"));return"".concat((0,i.WU)(t,"MMM d, yyyy")," - ").concat((0,i.WU)(l,"MMM d, yyyy"))}catch(t){return"".concat(e," - ").concat(a)}};function x(e){let{leaveEntries:a=[],isLeaveAdmin:t=!1,onItemClick:i,matchHeight:x}=e,j=(0,s.useMemo)(()=>{let e=(0,o.b)(new Date);return a.filter(a=>{if("Declined"===a.leaveStatus||"Cancelled"===a.leaveStatus)return!1;try{let t="string"==typeof a.lastDayOfLeave?(0,n.D)(a.lastDayOfLeave):a.lastDayOfLeave;return(0,d.A)(t,(0,c.E)(e,-1))}catch(e){return!1}}).sort((e,a)=>{try{let t="string"==typeof e.startDayOfLeave?(0,n.D)(e.startDayOfLeave):e.startDayOfLeave,l="string"==typeof a.startDayOfLeave?(0,n.D)(a.startDayOfLeave):a.startDayOfLeave;return t-l}catch(e){return 0}}).slice(0,10)},[a]),L=(e,a)=>{try{let t=(0,o.b)(new Date),l="string"==typeof e?(0,n.D)(e):e,s="string"==typeof a?(0,n.D)(a):a;return((0,u.R)(l,(0,c.E)(t,1))||(0,r.K)(l,t))&&((0,d.A)(s,(0,c.E)(t,-1))||(0,r.K)(s,t))}catch(e){return!1}};return(0,l.jsxs)(m.E.div,{className:"leave-sidebar",variants:f.Hr,style:{"--leave-sidebar-match-height":x?"".concat(x,"px"):"auto"},children:[(0,l.jsx)("h3",{className:"leave-sidebar-title",children:"Upcoming Leaves"}),0===j.length?(0,l.jsx)("p",{className:"leave-sidebar-empty",children:"No upcoming leaves scheduled."}):(0,l.jsx)("ul",{className:"leave-sidebar-list",children:(0,l.jsx)(v.M,{children:j.map((e,a)=>{let s=L(e.startDayOfLeave,e.lastDayOfLeave),n="Pending"===e.leaveStatus;return(0,l.jsxs)(m.E.li,{layout:!0,custom:a,variants:f.OH,initial:"hidden",animate:"visible",exit:"exit",className:"leave-sidebar-item ".concat(s?"leave-sidebar-item-active":""," ").concat(n?"leave-sidebar-item-pending":""," ").concat(t?"leave-sidebar-item-clickable":""),onClick:t?()=>i(e):void 0,children:[(0,l.jsxs)("div",{className:"leave-sidebar-item-header",children:[(0,l.jsx)("span",{className:"leave-sidebar-name",children:p(e.emailField)}),s&&(0,l.jsx)("span",{className:"leave-sidebar-active-badge",children:"On Leave"}),n&&(0,l.jsx)("span",{className:"leave-sidebar-pending-badge",children:"Pending"})]}),(0,l.jsxs)("div",{className:"leave-sidebar-item-details",children:[(0,l.jsx)("span",{className:"leave-sidebar-dates",children:b(e.startDayOfLeave,e.lastDayOfLeave)}),(0,l.jsx)("span",{className:"leave-sidebar-badge ".concat(y(e.typeOfLeave)),children:h(e.typeOfLeave)})]})]},e.id)})})})]})}},216:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return n}});var l=t(85893),s=t(50979);function n(e){let{activeTab:a,onTabChange:t,isLeaveAdmin:n=!1}=e,r=[{id:"form",label:"Leave Form"},{id:"calendar",label:"Leave Calendar"},...n?[{id:"admin",label:"Admin Board"}]:[]];return(0,l.jsx)("div",{className:"leave-tabs",children:(0,l.jsx)("div",{className:"leave-tabs-container",children:r.map(e=>(0,l.jsxs)("button",{type:"button",className:"leave-tab ".concat(a===e.id?"leave-tab-active":""),onClick:()=>t(e.id),children:[a===e.id&&(0,l.jsx)(s.E.span,{layoutId:"leaveTabIndicator",className:"leave-tab-indicator",transition:{type:"spring",stiffness:380,damping:32,mass:.8}}),(0,l.jsx)("span",{className:"leave-tab-label",children:e.label})]},e.id))})})}},98457:function(e,a,t){"use strict";t.r(a),t.d(a,{default:function(){return f}});
1var l=t(85893),s=t(13798),n=t(21609),r=t(26),i=t(50979),o=t(21190),d=t(68729);let c=e=>{switch(e){case"annualLeave":return"Annual Leave";case"birthdayLeave":return"Birthday Leave";case"otherLeave":return"Other Leave";case"sickLeave":return"Sick Leave";case"workFromHome":return"Work From Home";default:return e}},u=e=>{switch(e){case"annualLeave":return"leave-badge-annual";case"birthdayLeave":return"leave-badge-birthday";case"otherLeave":return"leave-badge-other";case"sickLeave":return"leave-badge-sick";case"workFromHome":return"leave-badge-wfh";default:return"leave-badge-default"}},m=e=>{switch(e){case"Approved":return"leave-status-badge-approved";case"Declined":return"leave-status-badge-declined";default:return"leave-status-badge-pending"}},v=(e,a)=>{try{let t="string"==typeof e?(0,s.D)(e):e,l="string"==typeof a?(0,s.D)(a):a;if((0,n.K)(t,l))return(0,r.WU)(t,"MMM d, yyyy");if((0,r.WU)(t,"MMM yyyy")===(0,r.WU)(l,"MMM yyyy"))return"".concat((0,r.WU)(t,"MMM d")," - ").concat((0,r.WU)(l,"d, yyyy"));if((0,r.WU)(t,"yyyy")===(0,r.WU)(l,"yyyy"))return"".concat((0,r.WU)(t,"MMM d")," - ").concat((0,r.WU)(l,"MMM d, yyyy"));return"".concat((0,r.WU)(t,"MMM d, yyyy")," - ").concat((0,r.WU)(l,"MMM d, yyyy"))}catch(t){return"".concat(e," - ").concat(a)}};function f(e){let{requests:a=[],onCancel:t}=e;return(0,l.jsxs)(i.E.div,{className:"leave-sidebar my-leave-requests",variants:d.Hr,children:[(0,l.jsx)("h3",{className:"leave-sidebar-title",children:"My Leave Requests"}),0===a.length?(0,l.jsx)("p",{className:"leave-sidebar-empty",children:"You haven't submitted any leave requests yet."}):(0,l.jsx)("ul",{className:"leave-sidebar-list",children:(0,l.jsx)(o.M,{initial:!1,children:a.map(e=>(0,l.jsxs)(i.E.li,{layout:!0,variants:d.oq,initial:"hidden",animate:"visible",exit:"exit",className:"leave-sidebar-item",children:[(0,l.jsxs)("button",{type:"button",className:"my-leave-request-cancel-btn",onClick:()=>t(e),"aria-label":"Cancel leave request",children:[(0,l.jsx)("span",{className:"my-leave-request-cancel-btn-label",children:"Cancel"}),(0,l.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,l.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,l.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,l.jsx)("path",{d:"M10 11v6"}),(0,l.jsx)("path",{d:"M14 11v6"}),(0,l.jsx)("path",{d:"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"})]})]}),(0,l.jsx)("div",{className:"leave-sidebar-item-header",children:(0,l.jsx)("span",{className:"leave-status-badge ".concat(m(e.leaveStatus)),children:e.leaveStatus||"Pending"})}),(0,l.jsxs)("div",{className:"leave-sidebar-item-details",children:[(0,l.jsx)("span",{className:"leave-sidebar-dates",children:v(e.startDayOfLeave,e.lastDayOfLeave)}),(0,l.jsx)("span",{className:"leave-sidebar-badge ".concat(u(e.typeOfLeave)),children:c(e.typeOfLeave)})]})]},e.id))})})]})}},54261:function(e,a,t){"use strict";t.r(a),t.d(a,{__N_SSP:function(){return F},default:function(){return T}});
1var l=t(85893);t(62940),t(33732);var s=t(9008),n=t.n(s),r=t(34375),i=t(67294),o=t(93463),d=t(11988),c=t(26),u=t(85446),m=t(5152),v=t.n(m),f=t(21190),h=t(50979),y=t(68729),p=t(216),b=t(15807),x=t(98457),j=t(13154),L=t(31088),g=t(98496),N=t(24210),D=t(3980),S=t(3893),M=t(82283),O=t(62380),w=t(99953),k=t(7446);let C=v()(()=>Promise.all([t.e(1069),t.e(8182),t.e(9330)]).then(t.bind(t,42225)),{loadableGenerated:{webpack:()=>[42225]},ssr:!1,loading:()=>(0,l.jsx)("div",{className:"leave-calendar-loading",children:"Loading calendar..."})}),E={csrf:{name:"",token:""},honeypot:{name:"",value:""},loadingText:"",successMessage:"",errorMessage:""};var F=!0;function T(e){let{menu:a,loggedIn:t,leaveEntries:s=[],isLeaveAdmin:m=!1,viewerEmail:v=null}=e,[F,T]=(0,i.useState)(""),[A,W]=(0,i.useState)(""),q=(0,i.useRef)(null),P=(0,i.useRef)(null),[Y,U]=(0,i.useState)(!1),[H,I]=(0,i.useState)(null),B="peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-70 peer-focus:lg:scale-50 peer-focus:-translate-y-8",[R,_]=(0,i.useState)("form"),[Z,V]=(0,i.useState)(s),[K,J]=(0,i.useState)(!1),[G,z]=(0,i.useState)(null),[X,Q]=(0,i.useState)("dayGridMonth"),$=(0,i.useMemo)(()=>v?Z.filter(e=>{var a;return(null===(a=e.emailField)||void 0===a?void 0:a.toLowerCase())===v.toLowerCase()&&"Cancelled"!==e.leaveStatus}).sort((e,a)=>new Date(a.startDayOfLeave)-new Date(e.startDayOfLeave)):[],[Z,v]),[ee,ea]=(0,i.useState)(null),[et,el]=(0,i.useState)(!1),[es,en]=(0,i.useState)(null);function er(e){en(null),ea(e)}async function ei(){if(ee){el(!0),en(null);try{let e=await fetch("/api/leave-cancel",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({entryId:ee.id})}),a=await e.json();e.ok&&a.success?(V(e=>e.map(e=>e.id===ee.id?{...e,leaveStatus:"Cancelled"}:e)),ea(null)):en(a.error||"Failed to remove leave request.")}catch(e){console.error("Error cancelling leave request:",e),en("Failed to remove leave request.")}finally{el(!1)}}}let[eo,ed]=(0,i.useState)(null),[ec,eu]=(0,i.useState)(null),[em,ev]=(0,i.useState)(null),[ef,eh]=(0,i.useState)(null),[ey,ep]=(0,i.useState)(!1),[eb,ex]=(0,i.useState)(null);function ej(e){ed(e),eu(e.startDayOfLeave?new Date(e.startDayOfLeave):null),ev(e.lastDayOfLeave?new Date(e.lastDayOfLeave):null),eh(e.typeOfLeave||"annualLeave"),ex(null)}async function eL(){if(eo&&ec&&em){ep(!0),ex(null);try{let e=await fetch("/api/leave-admin-update-dates",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({entryId:eo.id,startDate:(0,c.WU)(ec,"yyyy-MM-dd"),lastDate:(0,c.WU)(em,"yyyy-MM-dd"),typeOfLeave:ef})}),a=await e.json();e.ok&&a.success?(V(e=>e.map(e=>e.id===eo.id?{...e,startDayOfLeave:a.startDayOfLeave,lastDayOfLeave:a.lastDayOfLeave,typeOfLeave:a.typeOfLeave}:e)),ed(null)):ex(a.error||"Failed to update dates.")}catch(e){console.error("Error updating leave dates:",e),ex("Failed to update dates.")}finally{ep(!1)}}}function eg(e){e&&V(a=>[e,...a])}let[eN,eD]=(0,i.useState)(null),[eS,eM]=(0,i.useState)(null);async function eO(e){eD(e.id),eM(null);try{let a=await fetch("/api/leave-admin-approve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({entryId:e.id})}),t=await a.json();a.ok&&t.success?V(a=>a.map(a=>a.id===e.id?{...a,leaveStatus:"Approved"}:a)):(eM(t.error||"Failed to approve leave request."),setTimeout(()=>eM(null),4e3))}catch(e){console.error("Error approving leave request:",e),eM("Failed to approve leave request."),setTimeout(()=>eM(null),4e3)}finally{eD(null)}}let[ew,ek]=(0,i.useState)(null),[eC,eE]=(0,i.useState)(null),[eF,eT]=(0,i.useState)(!1);async function eA(e){ek(e),eE(null),eT(!0);try{let a=await fetch("/api/leave-admin-entry-detail?entryId=".concat(e.id)),t=await a.json();a.ok&&eE(t.entry)}catch(e){console.error("Error fetching leave request detail:",e)}finally{eT(!1)}}function eW(){ek(null),eE(null)}let[eq,eP]=(0,i.useState)([]);(0,i.useEffect)(()=>{(async()=>{try{let e=new Date().getFullYear(),[a,t]=await Promise.all([fetch("https://date.nager.at/api/v3/PublicHolidays/".concat(e,"/NZ")),fetch("https://date.nager.at/api/v3/PublicHolidays/".concat(e+1,"/NZ"))]);if(a.ok&&t.ok){let e=await a.json(),l=await t.json(),s=[...e,...l].filter(e=>!0===e.global).map(e=>e.date);eP(s)}}catch(e){console.error("Error fetching holidays:",e)}})()},[]);let eY=e=>{let a=(0,c.WU)(e,"yyyy-MM-dd");return eq.includes(a)},eU=e=>!(0,u.Q)(e)&&!eY(e),eH=async()=>{J(!0);try{let e=await fetch("/api/leave-entries"),a=await e.json();if(!e.ok)throw Error((null==a?void 0:a.error)||"Failed to fetch leave entries");(null==a?void 0:a.entries)&&V(a.entries)}catch(e){console.error("Error refreshing calendar:",e)}finally{J(!1)}},[eI,eB]=(0,i.useState)(E),[eR,e_]=(0,i.useState)(null),[eZ,eV]=(0,i.useState)(null),eK=(0,i.useRef)(null),[eJ,eG]=(0,i.useState)({userEmail:"",firstDayOfLeave:null,lastDayOfLeave:null,typeOfLeave:"annualLeave",estimatedLeaveBalanceAtTimeOfLeave:"",reasonForLeave:"",leaveStatus:"Pending"}),ez={firstDayOfLeave:(0,i.useRef)(null),lastDayOfLeave:(0,i.useRef)(null),typeOfLeave:(0,i.useRef)(null),estimatedLeaveBalanceAtTimeOfLeave:(0,i.useRef)(null),reasonForLeave:(0,i.useRef)(null),leaveStatus:(0,i.useRef)(null)},eX=async e=>{e.preventDefault(),U(!0),(await fetch("/api/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:F,password:A})})).ok?(localStorage.setItem("userEmail",F),location.reload()):(U(!1),I("Invalid credentials"))};async function eQ(e){let a=await fetch("".concat("https://cms.imagic.co.nz","/freeform/form/properties/").concat(e),{headers:{Accept:"application/json"}});if(!a.ok)throw Error("Failed to fetch Craft Freeform Form properties");return a.json()}let e$=e=>{if(!e)return"";let a=e instanceof Date?e:new Date(e);return isNaN(a.getTime())?(console.error("Invalid date:",e),""):(0,c.WU)(a,"yyyy-MM-dd")},e0=e=>{if(""===e||null==e)return"";let a=parseFloat(e);return isNaN(a)?"":a.toFixed(2)},e1=e=>{if(ez[e].current){let a=ez[e].current.value;eG(t=>({...t,[e]:a}))}},e2=(e,a)=>{eG(t=>({...t,[a]:e}))},e9=e=>{eG(a=>({...a,typeOfLeave:e}))},e8=()=>{eK.current&&e_("Sending...")},e3=()=>{e_("Success"),eV("Your leave request has been submitted successfully."),eG({userEmail:eJ.userEmail,firstDayOfLeave:null,lastDayOfLeave:null,typeOfLeave:"annualLeave",estimatedLeaveBalanceAtTimeOfLeave:"",reasonForLeave:"",leaveStatus:"Pending"}),setTimeout(()=>{e_(null),eV(null)},4e3)},e6=()=>{e_("Error"),eV("There was a problem submitting your leave request. Please try again later.")};async function e5(e){var a,t,l;e.preventDefault(),e8();let s=eJ.userEmail,n=eJ.firstDayOfLeave,r=eJ.lastDayOfLeave,i=eJ.typeOfLeave,o=(null===(a=ez.estimatedLeaveBalanceAtTimeOfLeave.current)||void 0===a?void 0:a.value)||"",d=(null===(t=ez.reasonForLeave.current)||void 0===t?void 0:t.value)||"",c=eJ.leaveStatus||"Pending";if(console.log("Form values before validation:",{userEmailValue:s,firstDayValue:n,lastDayValue:r,typeOfLeaveValue:i,estimatedBalanceValue:o,reasonValue:d,leaveStatusValue:c,firstDayType:typeof n,lastDayType:typeof r,firstDayIsDate:n instanceof Date,lastDayIsDate:r instanceof Date}),!s||!o||!d)return console.error("Missing required fields:",{userEmailValue:!!s,estimatedBalanceValue:!!o,reasonValue:!!d}),e6(),!1;if(!n||!(n instanceof Date)||isNaN(n.getTime()))return console.error("Invalid firstDayValue:",n,"Type:",typeof n,"Is Date:",n instanceof Date),e6(),!1;if(!r||!(r instanceof Date)||isNaN(r.getTime()))return console.error("Invalid lastDayValue:",r,"Type:",typeof r,"Is Date:",r instanceof Date),e6(),!1;let u=e$(n),m=e$(r);if(console.log("Formatted dates:",{firstDayFormatted:u,lastDayFormatted:m,firstDayLength:null==u?void 0:u.length,lastDayLength:null==m?void 0:m.length}),!u||!m||""===u.trim()||""===m.trim())return console.error("Date formatting failed:",{firstDayValue:n,lastDayValue:r,firstDayFormatted:u,lastDayFormatted:m,firstDayType:typeof n,lastDayType:typeof r}),e6(),!1;let v=e0(o);console.log("Submitting leave form with:",{userEmail:s,firstDayOfLeave:u,lastDayOfLeave:m,typeOfLeave:i,estimatedLeaveBalanceAtTimeOfLeave:v,reasonForLeave:d,leaveStatus:c});try{let e=await fetch("/api/leave-submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({startDayOfLeave:u,lastDayOfLeave:m,typeOfLeave:i,estimatedLeaveBalanceAtTimeOfLeave:v,reasonForLeave:d,leaveStatus:c})}),a=await e.json();e.ok&&(null==a?void 0:null===(l=a.entry)||void 0===l?void 0:l.id)?(V(e=>[...e,a.entry]),e3()):(console.error("Submission response:",a),e6())}catch(e){console.error("Error submitting leave form",e),console.error("Error details:",e.message,e.stack),e6()}}return((0,i.useEffect)(()=>{let e=!1;if(t){{let e=localStorage.getItem("userEmail");e&&eG(a=>({...a,userEmail:e}))}eQ(5).then(a=>{e||eB(a)})}return()=>{e=!0}},[t]),(0,i.useEffect)(()=>{setTimeout(()=>{var e,a;(null===(e=q.current)||void 0===e?void 0:e.value)&&T(q.current.value),(null===(a=P.current)||void 0===a?void 0:a.value)&&W(P.current.value)},100)},[]),(0,i.useEffect)(()=>
1{if(!t){var e;return null===(e=document.querySelector("main"))||void 0===e||e.classList.add("handbook-login"),()=>{var e;null===(e=document.querySelector("main"))||void 0===e||e.classList.remove("handbook-login")}}},[t]),t)?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n(),{children:[(0,l.jsxs)("title",{children:["form"===R?"Leave Form":"calendar"===R?"Leave Calendar":"Admin Board"," - Handbook"]}),(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})]}),(0,l.jsx)(r.default,{menu:a}),(0,l.jsx)("main",{className:"handbook-stream-time section-leave-form",children:(0,l.jsxs)("div",{className:"container",children:[(0,l.jsx)("div",{className:"stream-time-header",children:(0,l.jsx)("div",{className:"header-title",children:(0,l.jsx)("h1",{children:"form"===R?"Leave Form":"calendar"===R?"Leave Calendar":"Admin Board"})})}),(0,l.jsx)(p.default,{activeTab:R,onTabChange:_,isLeaveAdmin:m}),(0,l.jsxs)(f.M,{mode:"wait",children:["form"===R&&(0,l.jsxs)(h.E.div,{className:"leave-form-container",variants:y.Km,initial:"hidden",animate:"visible",exit:"exit",children:[(0,l.jsx)(h.E.div,{variants:y.Hr,className:"leave-form-main",children:(0,l.jsx)("div",{className:"leave-form","data-bg":"white",children:(0,l.jsxs)("form",{className:"form-block",onSubmit:e5,children:[(0,l.jsx)("input",{type:"hidden",name:"userEmail",value:eJ.userEmail}),(0,l.jsxs)("div",{className:"form-row",children:[(0,l.jsxs)("div",{className:"form-field",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"firstDayOfLeave",children:"First Day of Leave"}),(0,l.jsx)(d.ZP,{id:"firstDayOfLeave",name:"firstDayOfLeave",selected:eJ.firstDayOfLeave,onChange:e=>e2(e,"firstDayOfLeave"),selectsStart:!0,startDate:eJ.firstDayOfLeave,endDate:eJ.lastDayOfLeave,minDate:new Date,filterDate:eU,dateFormat:"dd/MM/yyyy",className:"date-picker-input",placeholderText:"DD / MM / YYYY",required:!0,autoComplete:"off",calendarStartDay:1,popperContainer:O.default})]}),(0,l.jsxs)("div",{className:"form-field",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"lastDayOfLeave",children:"Last Day of Leave"}),(0,l.jsx)(d.ZP,{id:"lastDayOfLeave",name:"lastDayOfLeave",selected:eJ.lastDayOfLeave,onChange:e=>e2(e,"lastDayOfLeave"),selectsEnd:!0,startDate:eJ.firstDayOfLeave,endDate:eJ.lastDayOfLeave,minDate:eJ.firstDayOfLeave||new Date,filterDate:eU,dateFormat:"dd/MM/yyyy",className:"date-picker-input",placeholderText:"DD / MM / YYYY",required:!0,autoComplete:"off",calendarStartDay:1,popperContainer:O.default})]})]}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full form-field-radio",children:[(0,l.jsx)("p",{children:"Type of Leave"}),(0,l.jsx)("div",{className:"form-field-radio-column",children:[{label:"Annual leave",value:"annualLeave"},{label:"Birthday leave",value:"birthdayLeave"},{label:"Other leave",value:"otherLeave"}].map((e,a)=>(0,l.jsxs)("div",{className:"radio-field",children:[(0,l.jsx)("input",{type:"radio",id:"leaveType-".concat(a),name:"typeOfLeave",value:e.value,checked:eJ.typeOfLeave===e.value,onChange:()=>e9(e.value),required:!0}),(0,l.jsx)("label",{htmlFor:"leaveType-".concat(a),children:e.label})]},a))})]})}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"estimatedLeaveBalanceAtTimeOfLeave",children:"Estimated Leave Balance at Time of Leave"}),(0,l.jsx)("input",{type:"text",id:"estimatedLeaveBalanceAtTimeOfLeave",name:"estimatedLeaveBalanceAtTimeOfLeave",ref:ez.estimatedLeaveBalanceAtTimeOfLeave,value:eJ.estimatedLeaveBalanceAtTimeOfLeave,onChange:e=>{let a=e.target.value;if(""===a||/^\d*\.?\d*$/.test(a)){let e=a.split(".");if(e[1]&&e[1].length>2)return;eG(e=>({...e,estimatedLeaveBalanceAtTimeOfLeave:a}))}},inputMode:"decimal",pattern:"[0-9]+(\\.[0-9]{1,2})?",placeholder:"0.00",required:!0})]})}),(0,l.jsx)("div",{className:"form-row",children:(0,l.jsxs)("div",{className:"form-field form-field-full",children:[(0,l.jsx)("label",{className:"input-label label-text",htmlFor:"reasonForLeave",children:"Reason for Leave"}),(0,l.jsx)(o.Z,{id:"reasonForLeave",name:"reasonForLeave",ref:ez.reasonForLeave,value:eJ.reasonForLeave,onChange:()=>e1("reasonForLeave"),minRows:3,className:"resize-none",required:!0})]})}),(0,l.jsx)("input",{type:"hidden",id:"leaveStatus",name:"leaveStatus",ref:ez.leaveStatus,value:eJ.leaveStatus,onChange:()=>e1("leaveStatus")}),(0,l.jsx)("div",{className:"form-buttons",children:(0,l.jsx)("button",{ref:eK,type:"submit",className:"btn btn-bg-green",disabled:"Sending..."===eR,children:(0,l.jsx)("span",{children:"Sending..."===eR?"Submitting...":"Submit"})})}),eR&&"Error"!==eR&&"Success"!==eR&&(0,l.jsx)("div",{className:"form-status",children:(0,l.jsx)("p",{children:eR})}),eR&&"Error"===eR&&(0,l.jsx)("div",{className:"form-status form-status-error",children:(0,l.jsx)("p",{children:eZ})}),eR&&"Success"===eR&&(0,l.jsx)("div",{className:"form-status form-status-success",children:(0,l.jsx)("p",{children:eZ})})]})})}),(0,l.jsx)(x.default,{requests:$,onCancel:er})]},"form"),"calendar"===R&&(0,l.jsxs)(h.E.div,{className:"leave-calendar-wrapper",variants:y.Km,initial:"hidden",animate:"visible",exit:"exit",children:[(0,l.jsxs)(h.E.div,{variants:y.Hr,className:"leave-calendar-header",children:[(0,l.jsx)(w.default,{}),(0,l.jsxs)("div",{className:"leave-calendar-header-right",children:[(0,l.jsx)(k.default,{view:X,onChange:Q}),(0,l.jsxs)("button",{type:"button",className:"leave-refresh-btn",onClick:eH,disabled:K,children:[(0,l.jsxs)("svg",{className:"leave-refresh-icon ".concat(K?"leave-refresh-spinning":""),width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,l.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,l.jsx)("path",{d:"M3 3v5h5"}),(0,l.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,l.jsx)("path",{d:"M16 21h5v-5"})]}),(0,l.jsx)("span",{children:K?"Refreshing...":"Refresh"})]})]})]}),(0,l.jsxs)("div",{className:"leave-calendar-container",children:[(0,l.jsx)(h.E.div,{variants:y.Hr,className:"leave-calendar-main",children:(0,l.jsx)(C,{leaveEntries:Z,isLeaveAdmin:m,onEventClick:function(e){let a=Z.find(a=>a.id===e);a&&eA(a)},onHeightChange:z,view:X})}),(0,l.jsx)(b.default,{leaveEntries:Z,isLeaveAdmin:m,onItemClick:eA,matchHeight:G})]})]},"calendar"),"admin"===R&&m&&(0,l.jsxs)(h.E.div,{className:"leave-admin-board",variants:y.Km,initial:"hidden",animate:"visible",exit:"exit",children:[(0,l.jsxs)("div",{className:"admin-board-row",children:[(0,l.jsx)(h.E.div,{variants:y.Hr,children:(0,l.jsx)(L.default,{onCreated:eg})}),(0,l.jsxs)(h.E.div,{variants:y.Hr,className:"admin-board-column",children:[(0,l.jsx)(g.default,{onCreated:eg}),(0,l.jsx)(N.default,{onImported:function(e){(null==e?void 0:e.length)&&V(a=>[...e,...a])},onPushed:function(e){if(!(null==e?void 0:e.length))return;let a=new Map(e.map(e=>[e.entryId,e.googleEventId]));V(e=>e.map(e=>a.has(e.id)?{...e,googleCalendarEventId:a.get(e.id)}:e))}})]})]}),eS&&(0,l.jsx)("p",{className:"admin-leave-approve-error",children:eS}),(0,l.jsx)(D.default,{entries:Z,onEditDates:ej,onCancel:er,onApprove:eO,approv
1ingId:eN,onRefresh:eH,isRefreshing:K,onViewDetail:eA})]},"admin")]})]})}),(0,l.jsx)(j.default,{open:!!ee,title:"Cancel this leave request?",message:ee?function(e,a){var t;let l={annualLeave:"annual leave",birthdayLeave:"birthday leave",otherLeave:"other leave",sickLeave:"sick leave",workFromHome:"work from home"}[e.typeOfLeave]||"leave",s=(0,c.WU)(new Date(e.startDayOfLeave),"MMM d, yyyy"),n=(0,c.WU)(new Date(e.lastDayOfLeave),"MMM d, yyyy"),r=s===n?s:"".concat(s," - ").concat(n);return a&&(null===(t=e.emailField)||void 0===t?void 0:t.toLowerCase())===a.toLowerCase()?"You're about to cancel your ".concat(l," request for ").concat(r,". This can't be undone."):"You're about to cancel ".concat(e.emailField,"'s ").concat(l," request for ").concat(r," as an admin. They'll be notified. This can't be undone.")}(ee,v):null,confirmLabel:"Yes, cancel it",cancelLabel:"Keep it",onConfirm:ei,onCancel:function(){et||(ea(null),en(null))},isLoading:et,error:es}),(0,l.jsx)(S.default,{open:!!eo,entry:eo,startDate:ec,endDate:em,leaveType:ef,onStartDateChange:eu,onEndDateChange:ev,onLeaveTypeChange:eh,onSave:eL,onCancel:function(){ey||(ed(null),ex(null))},isSaving:ey,error:eb}),(0,l.jsx)(M.default,{open:!!ew,entry:ew,detail:eC,isLoadingDetail:eF,onClose:eW,onApprove:function(e){eW(),eO(e)},onEditDates:function(e){eW(),ej(e)},onCancel:function(e){eW(),er(e)}})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n(),{children:[(0,l.jsx)("title",{children:"Leave - Handbook"}),(0,l.jsx)("meta",{name:"robots",content:"noindex, nofollow"})]}),(0,l.jsx)(r.default,{menu:a}),(0,l.jsx)("div",{className:"login-form",children:(0,l.jsxs)("form",{onSubmit:eX,children:[(0,l.jsxs)("div",{className:"relative mb-4",children:[(0,l.jsx)("input",{ref:q,type:"email",placeholder:"",className:"peer",value:F,onChange:e=>T(e.target.value),required:!0}),(0,l.jsx)("label",{className:B,children:"Email"})]}),(0,l.jsxs)("div",{className:"relative",children:[(0,l.jsx)("input",{ref:P,type:"password",placeholder:"",className:"peer",value:A,onChange:e=>W(e.target.value),required:!0}),(0,l.jsx)("label",{className:B,children:"Password"})]}),(0,l.jsx)("button",{type:"submit",className:"btn btn-bg-green",disabled:Y,children:(0,l.jsx)("span",{children:Y?"One moment…":"Login"})}),(0,l.jsx)("p",{className:"text-pink",children:H})]})})]})}},62940:function(){}},function(e){e.O(0,[2644,6342,979,26,2598,6797,906,4210,2283,3980,2888,9774,179],function(){return e(e.s=26790)}),_N_E=e.O()}]);

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.