@nylas/web-elements 2.5.7 → 2.5.9

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.
Files changed (77) hide show
  1. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +1315 -1313
  2. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +309 -308
  3. package/dist/cjs/checkmark-icon_14.cjs.entry.js +5 -3
  4. package/dist/cjs/checkmark-icon_14.cjs.entry.js.map +1 -1
  5. package/dist/cjs/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.cjs.js.map +1 -1
  6. package/dist/cjs/google-logo-icon_6.cjs.entry.js +8 -7
  7. package/dist/cjs/google-logo-icon_6.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +1 -1
  9. package/dist/cjs/nylas-scheduling.cjs.entry.js +11 -6
  10. package/dist/cjs/nylas-scheduling.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nylas-scheduling.entry.cjs.js.map +1 -1
  12. package/dist/cjs/{version-C5rRjTHU.js → version-CN5nqWgI.js} +3 -3
  13. package/dist/cjs/{version-C5rRjTHU.js.map → version-CN5nqWgI.js.map} +1 -1
  14. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +10 -5
  15. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js.map +1 -1
  16. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js +7 -6
  17. package/dist/collection/components/scheduler-editor/nylas-editor-tabs/nylas-editor-tabs.js.map +1 -1
  18. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +2 -1
  19. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  20. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js +3 -2
  21. package/dist/collection/components/scheduler-editor/nylas-event-title/nylas-event-title.js.map +1 -1
  22. package/dist/collection/version.js +1 -1
  23. package/dist/collection/version.js.map +1 -1
  24. package/dist/components/nylas-editor-tabs-group.js +1 -1
  25. package/dist/components/nylas-editor-tabs.js +1 -1
  26. package/dist/components/nylas-event-calendar.js +1 -1
  27. package/dist/components/nylas-event-description.js +1 -1
  28. package/dist/components/nylas-event-title.js +1 -1
  29. package/dist/components/nylas-scheduler-editor.js +6 -6
  30. package/dist/components/nylas-scheduling.js +11 -6
  31. package/dist/components/nylas-scheduling.js.map +1 -1
  32. package/dist/components/{p-HJ5amhvq.js → p-2vIl9-lT.js} +12 -11
  33. package/dist/components/p-2vIl9-lT.js.map +1 -0
  34. package/dist/components/{p-y15sKy8D.js → p-B9G8DJJr.js} +4 -3
  35. package/dist/components/p-B9G8DJJr.js.map +1 -0
  36. package/dist/components/{p-BRszp61A.js → p-BfwqDqHx.js} +3 -3
  37. package/dist/components/{p-BRszp61A.js.map → p-BfwqDqHx.js.map} +1 -1
  38. package/dist/components/{p-CJ7rVNTy.js → p-BlxYpYrq.js} +5 -4
  39. package/dist/components/p-BlxYpYrq.js.map +1 -0
  40. package/dist/components/{p-lV8W1_93.js → p-CiJgH0CI.js} +4 -4
  41. package/dist/components/{p-lV8W1_93.js.map → p-CiJgH0CI.js.map} +1 -1
  42. package/dist/components/{p-DqVU9VaM.js → p-DwzjmWk7.js} +6 -6
  43. package/dist/components/{p-DqVU9VaM.js.map → p-DwzjmWk7.js.map} +1 -1
  44. package/dist/esm/checkmark-icon.copy-icon.dragable-icon.eye-icon.feedback-icon.input-color-picker.nylas-additional-participants.nylas-event-description.nylas-event-info.nylas-event-location.nylas-event-title.nylas-feedback-form.nylas-reminder-time.trash-icon.entry.js.map +1 -1
  45. package/dist/esm/checkmark-icon_14.entry.js +5 -3
  46. package/dist/esm/checkmark-icon_14.entry.js.map +1 -1
  47. package/dist/esm/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.js.map +1 -1
  48. package/dist/esm/google-logo-icon_6.entry.js +8 -7
  49. package/dist/esm/google-logo-icon_6.entry.js.map +1 -1
  50. package/dist/esm/nylas-scheduler-editor.entry.js +1 -1
  51. package/dist/esm/nylas-scheduling.entry.js +11 -6
  52. package/dist/esm/nylas-scheduling.entry.js.map +1 -1
  53. package/dist/esm/{version-C5BO7xwe.js → version-zgIeli_M.js} +3 -3
  54. package/dist/esm/{version-C5BO7xwe.js.map → version-zgIeli_M.js.map} +1 -1
  55. package/dist/nylas-web-elements/google-logo-icon.microsoft-logo-icon.nylas-editor-tabs.nylas-editor-tabs-group.nylas-list-configurations.nylas-select-event-type.entry.esm.js.map +1 -1
  56. package/dist/nylas-web-elements/nylas-scheduling.entry.esm.js.map +1 -1
  57. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  58. package/dist/nylas-web-elements/{p-85955466.entry.js → p-6aa41c34.entry.js} +2 -2
  59. package/dist/nylas-web-elements/p-6aa41c34.entry.js.map +1 -0
  60. package/dist/nylas-web-elements/p-acd75a32.entry.js +2 -0
  61. package/dist/nylas-web-elements/p-acd75a32.entry.js.map +1 -0
  62. package/dist/nylas-web-elements/{p-ae86e7c6.entry.js → p-ec243a08.entry.js} +2 -2
  63. package/dist/nylas-web-elements/p-f5cf565f.entry.js +2 -0
  64. package/dist/nylas-web-elements/p-f5cf565f.entry.js.map +1 -0
  65. package/dist/nylas-web-elements/{p-C5BO7xwe.js → p-zgIeli_M.js} +2 -2
  66. package/dist/nylas-web-elements/{p-C5BO7xwe.js.map → p-zgIeli_M.js.map} +1 -1
  67. package/dist/types/version.d.ts +1 -1
  68. package/package.json +3 -3
  69. package/dist/components/p-CJ7rVNTy.js.map +0 -1
  70. package/dist/components/p-HJ5amhvq.js.map +0 -1
  71. package/dist/components/p-y15sKy8D.js.map +0 -1
  72. package/dist/nylas-web-elements/p-083268de.entry.js +0 -2
  73. package/dist/nylas-web-elements/p-083268de.entry.js.map +0 -1
  74. package/dist/nylas-web-elements/p-85955466.entry.js.map +0 -1
  75. package/dist/nylas-web-elements/p-e240fd68.entry.js +0 -2
  76. package/dist/nylas-web-elements/p-e240fd68.entry.js.map +0 -1
  77. /package/dist/nylas-web-elements/{p-ae86e7c6.entry.js.map → p-ec243a08.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{h as e,F as t,r as n,c as i,H as r,a as s}from"./p-0EQQA0nE.js";import{N as o}from"./p-FlNKXp4j.js";import{N as a}from"./p-C-mOw2iU.js";import{d as c,u as l,t as d,a as u,b as h,g as f,e as p,C as g,L as y,i as w,c as b}from"./p-OpKyWV8q.js";import{o as m,v,E as _,N as E}from"./p-C5BO7xwe.js";import{c as k}from"./p-_i6H-yQH.js";c.extend(l);c.extend(d);class x{constructor({nylasApiRequest:e,nylasSchedulerConfigStore:t}){this.groupEventsCache=new Map;this.CACHE_DURATION=1*60*1e3;this.nylasApiRequest=e;this.nylasSchedulerConfigStore=t}async currentUser(){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return null}return this.nylasApiRequest.currentUser()}async getCalendars(){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching calendars: Nylas API Request is not initialized"})}const e=[];let t=null;const n=50;do{const[i,r]=await this.nylasApiRequest.request({method:"GET",path:`calendars?limit=${n}${t?`&page_token=${t}`:""}`});if(r){return h(null,{message:"Error fetching calendars: "+r.message})}if(m(i)){return h(null,{message:"Error fetching calendars: "+i.error?.message})}e.push(...i.data);t=i.next_cursor||null}while(t);this.nylasSchedulerConfigStore.state.calendars=e;return h(e)}async getConfigurationById(e,t=false){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching configuration: Nylas API Request is not initialized"})}if(!t){const t=this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e));if(t){this.nylasSchedulerConfigStore.state.selectedConfiguration=t;return h(t)}}const[n,i]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations/${e}`});if(i){return h(null,{message:"Error fetching configuration: "+i.message})}if(m(n)){return h(null,{message:"Error fetching configuration: "+n.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=n.data;if(this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e))){this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map((t=>t.id===e?n.data:t))}else{this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,n.data]}return h(n.data)}async getConfigurations(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching configurations: Nylas API Request is not initialized"})}const t=50;const[n,i]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations?limit=${t}${e?`&page_token=${e}`:""}`});if(i){return h(null,{message:"Error fetching configurations: "+i.message})}if(m(n)){return h(null,{message:"Error fetching configurations: "+n.error?.message})}this.nylasSchedulerConfigStore.state.configurations=n.data;this.nylasSchedulerConfigStore.state.listConfigurationsNextCursor=n.next_cursor||null;return h(n.data)}async getMasterEventById(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching master event: Nylas API Request is not initialized"})}const t=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const n=t?.event?.calendar_id;if(!n){u("Calendar ID is not present");return h(null,{message:"Error fetching master event: Calendar ID is not present"})}const i=new URLSearchParams;i.append("calendar_id",n);const[r,s]=await this.nylasApiRequest.request({method:"GET",path:`events/${e}?${i.toString()}`});if(s){return h(null,{message:"Error fetching master event: "+s.message})}if(m(r)){return h(null,{message:"Error fetching master event: "+r.error?.message})}const o=this.nylasSchedulerConfigStore.state.masterGroupEvents;if(o[e]){this.nylasSchedulerConfigStore.state.masterGroupEvents[e]=r.data}else{this.nylasSchedulerConfigStore.state.masterGroupEvents={...o,[e]:r.data}}return h(r.data)}async createConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error creating configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations`,body:e});if(n){return h(null,{message:"Error creating configuration: "+n.message})}if(m(t)){return h(null,{message:"Error creating configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=t.data;this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,t.data];return h(t.data)}async updateConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error updating configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"PUT",path:`scheduling/configurations/${e.id}`,body:e});if(n){return h(null,{message:"Error updating configuration: "+n.message})}if(m(t)){return h(null,{message:"Error updating configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=t.data;if(this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e.id))){this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map((n=>n.id===e.id?t.data:n))}else{this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,t.data]}return h(t.data)}async deleteConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error deleting configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"DELETE",path:`scheduling/configurations/${e}`});if(n){return h(null,{message:"Error deleting configuration: "+n.message})}if(m(t)){return h(null,{message:"Error deleting configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.filter((t=>t.id!==e));if(this.nylasSchedulerConfigStore.state.selectedConfiguration?.id===e){this.nylasSchedulerConfigStore.resetSelectedConfiguration()}return h(t.data)}async createGroupEvent(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error creating group event: Nylas API Request is not initialized"})}const[n,i]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations/${t}/group-events`,body:e});if(i){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error creating group event: "+i.message})}if(m(n)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error creating group event: "+n.error?.message})}this.nylasSchedulerConfigStore.state.selectedGroupEvent=n.data;this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(n.data)}async getGroupEvents(e,t){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching group events: Nylas API Request is not initialized"})}const n=new URLSearchParams;n.append("show_all","true");const i=this.nylasSchedulerConfigStore.state.calendarViewDateRange;let r;let s;if(i){r=i.start_time;s=i.end_time}else{const e=f((new Date).toISOString(),"week");r=e.startTime.toString();s=e.endTime.toString()}const o=`${e}-${r}-${s}`;const a=this.groupEventsCache.get(o);if(a&&Date.now()-a.timestamp<this.CACHE_DURATION){this.nylasSchedulerConfigStore.state.groupEvents=a.data;return h(a.data)}n.append("start_time",r);n.append("end_time",s);const c=t?.group_booking?.calendar_id;if(c){n.append("calendar_id",c)}const[l,d]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations/${e}/group-events?${n.toString()}`});if(d){return h(null,{message:"Error fetching group events: "+d.message})}if(m(l)){return h(null,{message:"Error fetching group events: "+l.error?.message})}this.groupEventsCache.set(o,{data:l.data,timestamp:Date.now()});this.cleanupExpiredCache();this.nylasSchedulerConfigStore.state.groupEvents=l.data;return h(l.data)}invalidateGroupEventsCache(){this.groupEventsCache.clear()}cleanupExpiredCache(){const e=Date.now();for(const[t,n]of this.groupEventsCache.entries()){if(e-n.timestamp>this.CACHE_DURATION){this.groupEventsCache.delete(t)}}}async updateGroupEventById(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error updating group event: Nylas API Request is not initialized"})}const n=e.id;delete e.id;const[i,r]=await this.nylasApiRequest.request({method:"PATCH",path:`scheduling/configurations/${t}/group-events/${n}`,body:e});if(r){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error updating group event: "+r.message})}if(m(i)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error updating group event: "+i.error?.message})}this.nylasSchedulerConfigStore.state.selectedGroupEvent=i.data;this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(i.data)}async updateGroupEvent(e,t,n){this.nylasSchedulerConfigStore.state.isLoading=true;const i=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const r=i?.event?.master_event_id;const s=i?.event?.id;const o=i?.event?.when?.start_time;const a=i?.group_event_info?.rrule?.[0];const l=a?a.split(";").filter((e=>!e.startsWith("UNTIL"))).join(";"):"";const d=o?c(o*1e3).subtract(1,"minute").format("YYYYMMDDTHHmmss[Z]"):"";if(t==="this"){return this.updateGroupEventById({...e,id:s,recurrence:r?undefined:e.recurrence},n)}else if(t==="future"&&r){const t=await this.createGroupEvent(e,n);const s={location:i?.event?.location,conferencing:i?.event?.conferencing,title:i?.event?.title,description:i?.event?.description,capacity:i?.group_event_info?.capacity,calendar_id:i?.event?.calendar_id,recurrence:l?[l+";UNTIL="+d]:[`RRULE:FREQ=DAILY;UNTIL=${d}`]};await this.updateGroupEventById({...s,id:r},n);return[s,t]}else if(t==="all"){const t=e?.when;const s=i?.event?.when;const o=this.nylasSchedulerConfigStore.state.masterGroupEvents?.[r];let a=o?.when;if(t?.start_time!==s?.start_time){a={...a,start_time:t?.start_time||a?.start_time}}if(t?.end_time!==s?.end_time){a={...a,end_time:t?.end_time||a?.end_time}}if(t?.start_timezone!==s?.start_timezone){a={...a,start_timezone:t?.start_timezone||a?.start_timezone}}if(t?.end_timezone!==s?.end_timezone){a={...a,end_timezone:t?.end_timezone||a?.end_timezone}}return this.updateGroupEventById({...e,when:a,id:r},n)}this.nylasSchedulerConfigStore.state.isLoading=false;throw new Error("Invalid option")}async deleteGroupEvent(e,t,n){this.nylasSchedulerConfigStore.state.isLoading=true;const i=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const r=i?.event?.master_event_id;const s=i?.event?.id;const o=i?.event?.when?.start_time;const a=i?.group_event_info?.rrule?.[0];const l=a?a.split(";").filter((e=>!e.startsWith("UNTIL"))).join(";"):"";const d=o?c(o*1e3).format("YYYYMMDDTHHmmss[Z]"):"";const u={location:i?.event?.location,conferencing:i?.event?.conferencing,title:i?.event?.title,description:i?.event?.description,capacity:i?.group_event_info?.capacity,calendar_id:i?.event?.calendar_id,recurrence:l?[l+";UNTIL="+d]:[`RRULE:UNTIL=${d}`]};if(t==="this"&&s){return this.deleteGroupEventById(s,n)}else if(t==="future"&&r&&s){await this.deleteGroupEventById(s,n);return await this.updateGroupEventById({...u,id:r},n)}else if(t==="all"&&r){return this.deleteGroupEventById(r,n)}this.nylasSchedulerConfigStore.state.isLoading=false;throw new Error("Invalid option")}async deleteGroupEventById(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error deleting group event: Nylas API Request is not initialized"})}const n=new URLSearchParams;const i=this.nylasSchedulerConfigStore.state.selectedConfiguration?.group_booking?.calendar_id;if(i){n.append("calendar_id",i)}const[r,s]=await this.nylasApiRequest.request({method:"DELETE",path:`scheduling/configurations/${t}/group-events/${e}?calendar_id=${i}`});if(s){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error deleting group event: "+s.message})}if(m(r)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error deleting group event: "+r.error?.message})}this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(r.data)}async importGroupEvent(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error importing group event: Nylas API Request is not initialized"})}const n=new URLSearchParams;const i=this.nylasSchedulerConfigStore.state.selectedConfiguration?.group_booking?.calendar_id;if(i){n.append("calendar_id",i)}const[r,s]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations/${t}/import-group-events?${n.toString()}`,body:e});if(s){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error importing group event: "+s.message})}if(m(r)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error importing group event: "+r.error?.message})}if(r.data?.imported_events?.length>0){this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration)}this.nylasSchedulerConfigStore.state.isLoading=false;return h(r.data)}}class C{constructor({nylasApiRequest:e,nylasSchedulerConfigStore:t}){this.nylasApiRequest=e;this.nylasSchedulerConfigStore=t}init(){u("NylasSchedulerConfigConnector init")}get schedulerConfigStore(){return this.nylasSchedulerConfigStore}get schedulerConfig(){if(this._schedulerConfigConnector){return this._schedulerConfigConnector}this._schedulerConfigConnector=new x({nylasApiRequest:this.nylasApiRequest,nylasSchedulerConfigStore:this.nylasSchedulerConfigStore});return this._schedulerConfigConnector}resetStores(){u("NylasSchedulerConfigConnector resetStores");this.nylasSchedulerConfigStore.reset()}async logout(){u("NylasSchedulerConfigConnector logout");this.resetStores()}}function $(e={}){const t={selectedConfiguration:{},configurations:[],groupEvents:[],listConfigurationsNextCursor:null,calendars:[],currentUser:null,action:null,additionalParticipants:[],requiresSlug:false,masterGroupEvents:{},isLoading:false,...e};const n=k(t);function i(){n.set("selectedConfiguration",{...e["selectedConfiguration"]})}n.onChange("action",(async e=>{if(!e){i()}}));n.onChange("selectedConfiguration",(async e=>{const t=n.state.participantFetch;const i=e?.participants;if(!t||!i?.length)return;const r=i.filter((e=>!e.is_organizer&&!!e.email)).map((e=>e.email));if(r.length===0)return;try{const e=n.state.participantFetchGrantId;const i=await t({emails:r,grantId:e});if(!i?.length)return;const s=n.state.additionalParticipants||[];const o=new Set(s.map((e=>e.email)));const a=i.filter((e=>!o.has(e.email)));if(a.length>0){n.set("additionalParticipants",[...s,...a])}}catch(e){u("[scheduler-config-store] participantFetch failed",e)}}));return{...n,resetSelectedConfiguration:i}}class S{get(e){return new Promise((t=>{const n=globalThis.window?.localStorage.getItem(e);if(!n){t(null)}else{t(JSON.parse(n))}}))}async remove(e){globalThis.window?.localStorage.removeItem(e);return new Promise((e=>{e(null)}))}set(e,t){globalThis.window?.localStorage.setItem(e,JSON.stringify(t));return new Promise((e=>{e(null)}))}}const T="pkce";const P="grant";const I="user";const R=e=>{if(typeof globalThis.btoa==="function"&&typeof TextEncoder!=="undefined"){const t=(new TextEncoder).encode(e);let n="";for(let e=0;e<t.length;e++){n+=String.fromCharCode(t[e])}return globalThis.btoa(n)}if(typeof globalThis.Buffer!=="undefined"){return globalThis.Buffer.from(e,"utf8").toString("base64")}throw new Error("Base64 encoding is not supported in this environment")};const q=e=>{if(typeof globalThis.atob==="function"&&typeof TextDecoder!=="undefined"){const t=globalThis.atob(e);const n=new Uint8Array(t.length);for(let e=0;e<t.length;e++){n[e]=t.charCodeAt(e)}return(new TextDecoder).decode(n)}if(typeof globalThis.Buffer!=="undefined"){return globalThis.Buffer.from(e,"base64").toString("utf8")}throw new Error("Base64 decoding is not supported in this environment")};class A{Storage=new S;constructor(e){if(e){this.Storage=e;return}}setPKCE(e){const t=R(e);this.Storage.set(T,t)}async getPKCE(){try{const e=await this.Storage.get(T);if(e){return q(e)}}catch(e){return null}return null}removePKCE(){this.Storage.remove(T)}setGrant(e,t=false){const{grant_id:n}=e;this.Storage.set(`${P}${t?"-"+n:""}`,e)}removeGrant(e,t=false){this.Storage.remove(`${P}${t?"-"+e:""}`)}async getGrant(e,t=false){const n=await this.Storage.get(`${P}${t?"-"+e:""}`);if(n){return n}return null}async setUserToken(e){const t=await this.getUserTokens();if(t){const n=t.find((t=>t.sub===e.sub));if(!n){const n=[...t,e];this.Storage.set(I,n)}else{const n=t.map((t=>{if(t.sub===e.sub){t=e}return t}));this.Storage.set(I,n)}}else{this.Storage.set(I,[e])}}async getUserToken(e=""){const t=await this.Storage.get(I);if(t){if(e===""){return t[0]}const n=t.find((t=>t.sub===e));return n}return null}async getUserTokens(){const e=await this.Storage.get(I);if(e){return e}return null}removeUserTokens(){this.Storage.remove(I)}async removeUserToken(e){const t=await this.getUserTokens();const n=t?.filter((t=>t.sub!==e));this.Storage.set(I,n)}async clearSession(){const e=await this.getUserTokens();e?.forEach((e=>{this.removeGrant(e.sub)}));this.removePKCE();this.removeUserTokens()}}class U{databaseName="identity-db";storeName="identity";get(e){const t=this;return new Promise(((n,i)=>{t.openDatabase().then((function(r){const s=r.transaction(t.storeName,"readwrite");const o=s.objectStore(t.storeName);const a=o.get(e);a.onsuccess=()=>{n(a.result)};a.onerror=()=>{i(a.error)};s.oncomplete=()=>{r.close()}}))}))}async remove(e){const t=this;return new Promise(((n,i)=>{const r=indexedDB.open(this.databaseName);r.onupgradeneeded=function(e){const n=e.target.result;n.createObjectStore(t.storeName)};r.onerror=()=>{i(r.error)};r.onsuccess=t=>{const r=t.target.result;const s=r.transaction(this.storeName,"readwrite");const o=s.objectStore(this.storeName);const a=o.delete(e);a.onsuccess=()=>{n(null)};a.onerror=()=>{i(a.error)};s.oncomplete=()=>{r.close()}}}))}set(e,t){return new Promise(((n,i)=>{const r=indexedDB.open(this.databaseName);r.onerror=()=>{i(r.error)};r.onupgradeneeded=e=>{const t=e.target.result;t.createObjectStore(this.storeName)};r.onsuccess=r=>{const s=r.target.result;const o=s.transaction(this.storeName,"readwrite");const a=o.objectStore(this.storeName);const c=a.put(t,e);c.onsuccess=()=>{n(t)};c.onerror=()=>{i(c.error)};o.oncomplete=()=>{s.close()}}}))}openDatabase(){const e=this;return new Promise((function(t,n){const i=indexedDB.open(e.databaseName,2);i.onupgradeneeded=function(t){const n=t.target.result;n.createObjectStore(e.storeName)};i.onsuccess=function(e){t(e.target.result)};i.onerror=function(e){n(e.error)}}))}}var N;var L=new Uint8Array(16);function j(){if(!N){N=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!=="undefined"&&typeof msCrypto.getRandomValues==="function"&&msCrypto.getRandomValues.bind(msCrypto);if(!N){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return N(L)}var z=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function O(e){return typeof e==="string"&&z.test(e)}var D=[];for(var F=0;F<256;++F){D.push((F+256).toString(16).substr(1))}function G(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var n=(D[e[t+0]]+D[e[t+1]]+D[e[t+2]]+D[e[t+3]]+"-"+D[e[t+4]]+D[e[t+5]]+"-"+D[e[t+6]]+D[e[t+7]]+"-"+D[e[t+8]]+D[e[t+9]]+"-"+D[e[t+10]]+D[e[t+11]]+D[e[t+12]]+D[e[t+13]]+D[e[t+14]]+D[e[t+15]]).toLowerCase();if(!O(n)){throw TypeError("Stringified UUID is invalid")}return n}function H(e,t,n){e=e||{};var i=e.random||(e.rng||j)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;return G(i)}async function B(e,t){const n=e.getReader();let i;while(!(i=await n.read()).done){t(i.value)}}function M(e){let t;let n;let i;let r=false;return function s(o){if(t===undefined){t=o;n=0;i=-1}else{t=J(t,o)}const a=t.length;let c=0;while(n<a){if(r){if(t[n]===10){c=++n}r=false}let s=-1;for(;n<a&&s===-1;++n){switch(t[n]){case 58:if(i===-1){i=n-c}break;case 13:r=true;case 10:s=n;break}}if(s===-1){break}e(t.subarray(c,s),i);c=n;i=-1}if(c===a){t=undefined}else if(c!==0){t=t.subarray(c);n-=c}}}function Y(e,t,n){let i=K();const r=new TextDecoder;return function s(o,a){if(o.length===0){n===null||n===void 0?void 0:n(i);i=K()}else if(a>0){const n=r.decode(o.subarray(0,a));const s=a+(o[a+1]===32?2:1);const c=r.decode(o.subarray(s));switch(n){case"data":i.data=i.data?i.data+"\n"+c:c;break;case"event":i.event=c;break;case"id":e(i.id=c);break;case"retry":const n=parseInt(c,10);if(!isNaN(n)){t(i.retry=n)}break}}}}function J(e,t){const n=new Uint8Array(e.length+t.length);n.set(e);n.set(t,e.length);return n}function K(){return{data:"",event:"",id:"",retry:undefined}}var V=undefined&&undefined.__rest||function(e,t){var n={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0)n[i]=e[i];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var r=0,i=Object.getOwnPropertySymbols(e);r<i.length;r++){if(t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r]))n[i[r]]=e[i[r]]}return n};const W="text/event-stream";const Q=1e3;const Z="last-event-id";function X(e,t){var{signal:n,headers:i,onopen:r,onmessage:s,onclose:o,onerror:a,openWhenHidden:c,fetch:l}=t,d=V(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,u)=>{const h=Object.assign({},i);if(!h.accept){h.accept=W}let f;function p(){f.abort();if(!document.hidden){v()}}if(!c){document.addEventListener("visibilitychange",p)}let g=Q;let y=0;function w(){document.removeEventListener("visibilitychange",p);window.clearTimeout(y);f.abort()}n===null||n===void 0?void 0:n.addEventListener("abort",(()=>{w();t()}));const b=l!==null&&l!==void 0?l:window.fetch;const m=r!==null&&r!==void 0?r:ee;async function v(){var n;f=new AbortController;try{const n=await b(e,Object.assign(Object.assign({},d),{headers:h,signal:f.signal}));await m(n);await B(n.body,M(Y((e=>{if(e){h[Z]=e}else{delete h[Z]}}),(e=>{g=e}),s)));o===null||o===void 0?void 0:o();w();t()}catch(e){if(!f.signal.aborted){try{const t=(n=a===null||a===void 0?void 0:a(e))!==null&&n!==void 0?n:g;window.clearTimeout(y);y=window.setTimeout(v,t)}catch(e){w();u(e)}}}}v()}))}function ee(e){const t=e.headers.get("content-type");if(!(t===null||t===void 0?void 0:t.startsWith(W))){throw new Error(`Expected content-type to be ${W}, Actual: ${t}`)}}function te(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ne(){return Math.floor(Date.now()/1e3)}async function ie(e){const t=(new TextEncoder).encode(e);const n=await crypto.subtle.digest("SHA-256",t);const i=Array.from(new Uint8Array(n));const r=i.map((e=>e.toString(16).padStart(2,"0"))).join("");return r}function re(e){this.message=e}re.prototype=new Error,re.prototype.name="InvalidCharacterError";var se="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new re("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,i,r=0,s=0,o="";i=t.charAt(s++);~i&&(n=r%4?64*n+i:i,r++%4)?o+=String.fromCharCode(255&n>>(-2*r&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return o};function oe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(se(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return se(t)}}function ae(e){this.message=e}function ce(e,t){if("string"!=typeof e)throw new ae("Invalid token specified");var n=true===(t=t||{}).header?0:1;try{return JSON.parse(oe(e.split(".")[n]))}catch(e){throw new ae("Invalid token specified: "+e.message)}}ae.prototype=new Error,ae.prototype.name="InvalidTokenError";class le{clientId;redirectUri;accessType="online";domain="http://api.nylas.com";versioned=false;Storage;hosted=false;multiAccount=false;loginId="";constructor(e){this.clientId=e.clientId;this.redirectUri=e.redirectUri;if(e.domain){this.domain=e.domain;const t=this.domain.substring(this.domain.length-3);if(t.includes("/v")){this.versioned=true}}if(e.multiAccount){this.multiAccount=e.multiAccount}if(e.sw){const e=new U;this.Storage=new A(e)}else{this.Storage=new A}if(e.accessType){this.accessType=e.accessType}if(e.loginId){this.loginId=e.loginId}if(e.hosted){this.hosted=e.hosted}if(e.disableInitCodeExchange!==true){this.codeExchange(null)}}async validateAccessToken(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const{access_token:n}=t;try{const e=await fetch(`${this.domain}/connect/tokeninfo?access_token=${n}`,{method:"GET"});const t=await e.json();if(!t.data){return false}return true}catch(e){return false}}async validateIDToken(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const{id_token:n}=t;try{const e=await fetch(`${this.domain}/connect/tokeninfo?id_token=${n}`,{method:"GET"});if(e.status!==200){return false}const t=await e.json();if(!t.data){return false}return true}catch(e){return false}}getDomain(){return this.domain}async auth(e){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){await this.hostedSetCodeChallenge()}const t=await this.generateAuthURL(e);if(e.popup){this.popUp(t);return}return t}async generateAuthURL(e){const t=await this.getCodeChallege();let n=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;if(t){n+=`&code_challenge=${t}&code_challenge_method=S256&options=rotate_refresh_token`}if(e.provider){n+=`&provider=${e.provider}`}if(e.loginHint){n+=`&login_hint=${e.loginHint}`;if(e.includeGrantScopes){n+=`&include_grant_scopes=${e.includeGrantScopes}`}}if(e.scope){n+=`&scope=${e.scope.join(" ")}`}if(e.prompt){n+=`&prompt=${e.prompt}`}if(e.metadata){n+=`&metadata=${e.metadata}`}if(e.state||this.loginId){n+=`&state=${this.loginId?this.loginId:e.state}`}return n}async generateReauthURL(e,t){if(!e){throw new Error("Grant ID is required")}const n=await this.Storage.getUserToken(e);const i=await this.getCodeChallege();let r=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;if(i){r+=`&code_challenge=${i}&code_challenge_method=S256&options=rotate_refresh_token`}if(n?.provider){r+=`&provider=${n.provider}`}if(n?.email){r+=`&login_hint=${n.email}`}if(t){r+=`&scope=${t.join(" ")}`}return r}async generateCodeChallenge(){const e=await this.Storage.getPKCE();if(e){return}const t=H();this.Storage.setPKCE(t);return}async hostedSetCodeChallenge(){if(!this.hosted){throw console.error("Method only used with hosted flag enabled")}const e=new URLSearchParams(globalThis.window?.location.search);const t=e.get("code_challenge");if(!t){const e=await this.Storage.getPKCE();if(e){return}console.warn("Code challenge is recomended");return}this.Storage.setPKCE(t)}async getCodeChallege(){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){const e=new URLSearchParams(globalThis.window?.location.search);const t=e.get("code_challenge");if(!t){console.warn("Code challenge is recomended");return""}return t}const e=await this.Storage.getPKCE();if(e){const t=await ie(e);let n=btoa(unescape(encodeURIComponent(t)));n=te(n);return n}return""}async isLoggedIn(){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){return false}const e=await this.Storage.getUserTokens();if(e&&e.length>0){if(this.multiAccount){await this.generateCodeChallenge()}return true}await this.generateCodeChallenge();return false}isMultiAccount(){return this.multiAccount}async logout(){const e=await this.getProfile();await this.Storage.clearSession();const t={detail:e};window.dispatchEvent(new CustomEvent("onLogoutSuccess",t))}async getProfile(e=""){let t;if(e){t=await this.Storage.getUserToken(e)}else{t=await this.Storage.getUserToken()}if(t){return t}return null}async getProfiles(){const e=await this.Storage.getUserTokens();if(e){return e}return null}async removeProfile(e){await this.Storage.removeUserToken(e);await this.Storage.removeGrant(e);return null}async authIMAP(e){const t=await this.getCodeChallege();const n={imap_username:e.imap_username,imap_password:e.imap_password,imap_host:e.imap_host,imap_port:e.imap_port,type:e.type,smtp_host:e.smtp_host,smtp_port:e.smtp_port,provider:e.provider,redirect_uri:this.redirectUri,state:e.state,public_application_id:this.clientId,access_type:this.accessType};if(this.loginId){n.id=this.loginId}if(e.smtp_username&&e.smtp_password){n.smtp_username=e.smtp_username;n.smtp_password=e.smtp_password}if(t!=""){n.code_challenge=t;n.code_challenge_method="S256"}const i=await fetch(`${this.domain}/connect/login/imap`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(n)});const r=await i.json();return r}async authEWS(e){const t=await this.getCodeChallege();const n={...e,provider:"ews",redirect_uri:this.redirectUri,public_application_id:this.clientId,access_type:this.accessType};if(this.loginId){n.id=this.loginId}if(t!=""){n.code_challenge=t;n.code_challenge_method="S256"}const i=await fetch(`${this.domain}/connect/login/ews`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(n)});const r=await i.json();return r}async detectEmail(e){const t=await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/providers/detect?client_id=${this.clientId}&email=${e}`,{method:"POST",headers:new Headers({"content-type":"application/json"})});const n=await t.json();return n}async applicationInfo(){const e=await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/applications?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})});const t=await e.json();return t.data}async getAvailableProviders(){const e=await fetch(`${this.domain}/connect/providers/find?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})});if(e){const t=await e.json();const n=t.data;return n}return null}onLoginSuccess(e){window.addEventListener("onLoginSuccess",(t=>e(t)))}onLogoutSuccess(e){window.addEventListener("onLogoutSuccess",(t=>e(t)))}onLoginFail(e){window.addEventListener("onLoginFail",(t=>e(t)))}onTokenRefreshSuccess(e){window.addEventListener("onTokenRefreshSuccess",(t=>e(t)))}onTokenRefreshFail(e){window.addEventListener("onTokenRefreshFail",(t=>e(t)))}onSessionExpired(e){window.addEventListener("onSessionExpired",(t=>e(t)))}async codeExchange(e){let t=new URLSearchParams(globalThis.window?.location.search);if(e){t=new URLSearchParams(e)}const n=t.get("code");const i=t.get("state");const r=t.get("error");const s=t.get("error_description");const o=t.get("error_code");if(r&&s&&o){const e={detail:{error:r,error_description:s,error_code:o}};window.dispatchEvent(new CustomEvent("onLoginFail",e));window.history.pushState({},document.title,globalThis.window?.location.pathname);return false}if(!n){console.warn("No code found");return false}if(window.opener&&window.name==="uas-popup"){console.warn("Popup window detected");return false}const a=await this.Storage.getPKCE();if(!a){console.warn("No code verifier found");return false}try{const e={client_id:this.clientId,redirect_uri:this.redirectUri,code:n,grant_type:"authorization_code",code_verifier:a};const t=await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(e)});const r=await t.json();if(r){if(r.error){const e={detail:r};window.dispatchEvent(new CustomEvent("onLoginFail",e));return true}const e=await this.handleCodeExchangeResponse(r);if(!e.valid){const t={detail:e.data};window.dispatchEvent(new CustomEvent("onLoginFail",t));return true}else{if(i){e.data.state=i}const t={detail:e.data};window.dispatchEvent(new CustomEvent("onLoginSuccess",t));window.history.pushState({},document.title,window.location.pathname)}}this.Storage.removePKCE();return true}catch(r){const e={detail:r};window.dispatchEvent(new CustomEvent("onLoginFail",e));window.history.pushState({},document.title,globalThis.window?.location.pathname);return false}}async tokenExchange(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const n=t.refresh_token;try{const t={client_id:this.clientId,redirect_uri:this.redirectUri,refresh_token:n,grant_type:"refresh_token"};const i=await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(t)});const r=await i.json();if(r){if(r.error){const e={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",e));return true}const t=ne();r.expires_in=t+r.expires_in;this.Storage.setGrant(r,this.multiAccount);const n=await this.validateIDToken(e);if(!n){const e={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",e));return true}const i={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshSuccess",i));return true}this.Storage.removePKCE()}catch(e){const t={detail:e};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",t));return false}}async handleCodeExchangeResponse(e){const t=true;if(e.error){return{data:e,valid:false}}const n=ne();e.expires_in=n+e.expires_in;this.Storage.setGrant(e,this.multiAccount);const i=ce(e.id_token);i.status="authenticated";this.Storage.setUserToken(i);const r=await this.validateIDToken(i.sub);if(!r){return{data:e,valid:false}}return{data:e,valid:t}}async popUp(e){const t=500;const n=600;const i=window.screenX+(window.outerWidth-t)/2;const r=window.screenY+(window.outerHeight-n)/2.5;const s=`uas-popup`;const o=e;const a=window.open(o,s,`width=${t},height=${n},left=${i},top=${r}`);if(!a){return}const c=setInterval((async()=>{if(a.closed){const e={detail:{error_description:"OAuth provider window closed"}};window.dispatchEvent(new CustomEvent("onLoginFail",e));c&&clearInterval(c);return}try{const e=a.location.href.split("?");if(!e[0]){return}const t=a.location.search;a.history.pushState({},document.title,window.location.pathname);if(e[0]===this.redirectUri&&e.length>1){const e=await this.codeExchange(t);a.close();if(e){location.reload()}c&&clearInterval(c);return}}catch(e){return}}),1e3)}async getAccessToken(e=""){const t=ne();const n=await this.Storage.getGrant(e,this.multiAccount);if(!n){return null}const{access_token:i,expires_in:r}=n;const s=i;if(s){if(r&&r>ne()){const e=r-t;if(e>30){return s}}}await this.tokenExchange(e);const o=await this.Storage.getGrant(e,this.multiAccount);return o.access_token}async sse(e,t){const n=t.headers||{};const i=n["Grant-ID"];let r="";if(this.multiAccount){if(!i){this.logout();throw new Error("Grant ID is required for multi account calls")}r=await this.getAccessToken(i)}else{r=await this.getAccessToken()}delete n["Grant-ID"];n["Authorization"]=`Bearer ${r}`;if(!n["content-type"]){n["content-type"]="application/json"}return X(`${this.domain}/${e}`,{...t,headers:n})}async fetch(e,t,n=true,i){let r="";let s=1;if(this.multiAccount){if(!t.grant_id){this.logout();throw new Error("Grant ID is required for multi account calls")}const e=await this.getProfiles();s=e?e.length:1;r=await this.getAccessToken(t.grant_id)}else{r=await this.getAccessToken()}if(!r){throw new Error("Access token not found")}let o=t.headers;if(!Headers.prototype.isPrototypeOf(o)){o=new Headers({Authorization:`Bearer ${r}`,"content-type":"application/json"})}else{o.append("Authorization",`Bearer ${r}`);if(!o.has("content-type")){o.append("content-type","application/json")}}try{if(t?.body){t.body=JSON.stringify(t?.body)}const r=await fetch(`${i||this.domain}/${e}`,{...t,headers:o});if(!n){return r}const a=await(r?.json());const c=await this.isAuthenticatedResponse(r.status,a);if(!c){if(s>1){const e=await this.getProfile(t.grant_id);if(e){e.status="unauthorized";await this.Storage.setUserToken(e);const t={detail:{user:e}};window.dispatchEvent(new CustomEvent("onSessionExpired",t))}}else{const e=await this.Storage.getUserToken();const t={detail:{user:e}};window.dispatchEvent(new CustomEvent("onSessionExpired",t))}this.logout();return}return a}catch(e){throw e}}async fetchRequest(e,t,n,i=true,r,s){const o=await this.isLoggedIn();const a=new URL(e,r??this.domain);const c=new Headers;c.append("Accept","application/json");c.append("Content-Type","application/json");c.append("User-Agent","nylas-identity");if(o){const e=await this.getAccessToken();c.append("Authorization",`Bearer ${e}`)}const l=await fetch(a.toString(),{method:t||"GET",headers:c,mode:"cors",referrer:globalThis.window?.location.origin,body:n?JSON.stringify(n):undefined,...s||{}});if(!i){return l.body}const d=await l.json();return d}async isAuthenticatedResponse(e,t){if(e==401&&t?.error?.type=="token.unauthorized_access"){return false}return true}addAPIKey(e,t,n){this.Storage.setUserToken({aud:"https://api-staging.us.nylas.com/",exp:2e9,email_verified:true,iat:ne(),iss:"",email:t,provider:"virtual-calendar",status:"authenticated",name:t,sub:e});this.Storage.setGrant({grant_id:e,access_token:n,expires_in:2e9},this.multiAccount)}}var de={exports:{}};var ue={};
1
+ import{h as e,F as t,r as n,c as i,H as r,a as s}from"./p-0EQQA0nE.js";import{N as o}from"./p-FlNKXp4j.js";import{N as a}from"./p-C-mOw2iU.js";import{d as c,u as l,t as d,a as u,b as h,g as f,e as p,C as g,L as y,i as w,c as b}from"./p-OpKyWV8q.js";import{o as m,v,E as _,N as E}from"./p-zgIeli_M.js";import{c as k}from"./p-_i6H-yQH.js";c.extend(l);c.extend(d);class x{constructor({nylasApiRequest:e,nylasSchedulerConfigStore:t}){this.groupEventsCache=new Map;this.CACHE_DURATION=1*60*1e3;this.nylasApiRequest=e;this.nylasSchedulerConfigStore=t}async currentUser(){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return null}return this.nylasApiRequest.currentUser()}async getCalendars(){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching calendars: Nylas API Request is not initialized"})}const e=[];let t=null;const n=50;do{const[i,r]=await this.nylasApiRequest.request({method:"GET",path:`calendars?limit=${n}${t?`&page_token=${t}`:""}`});if(r){return h(null,{message:"Error fetching calendars: "+r.message})}if(m(i)){return h(null,{message:"Error fetching calendars: "+i.error?.message})}e.push(...i.data);t=i.next_cursor||null}while(t);this.nylasSchedulerConfigStore.state.calendars=e;return h(e)}async getConfigurationById(e,t=false){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching configuration: Nylas API Request is not initialized"})}if(!t){const t=this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e));if(t){this.nylasSchedulerConfigStore.state.selectedConfiguration=t;return h(t)}}const[n,i]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations/${e}`});if(i){return h(null,{message:"Error fetching configuration: "+i.message})}if(m(n)){return h(null,{message:"Error fetching configuration: "+n.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=n.data;if(this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e))){this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map((t=>t.id===e?n.data:t))}else{this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,n.data]}return h(n.data)}async getConfigurations(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching configurations: Nylas API Request is not initialized"})}const t=50;const[n,i]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations?limit=${t}${e?`&page_token=${e}`:""}`});if(i){return h(null,{message:"Error fetching configurations: "+i.message})}if(m(n)){return h(null,{message:"Error fetching configurations: "+n.error?.message})}this.nylasSchedulerConfigStore.state.configurations=n.data;this.nylasSchedulerConfigStore.state.listConfigurationsNextCursor=n.next_cursor||null;return h(n.data)}async getMasterEventById(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching master event: Nylas API Request is not initialized"})}const t=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const n=t?.event?.calendar_id;if(!n){u("Calendar ID is not present");return h(null,{message:"Error fetching master event: Calendar ID is not present"})}const i=new URLSearchParams;i.append("calendar_id",n);const[r,s]=await this.nylasApiRequest.request({method:"GET",path:`events/${e}?${i.toString()}`});if(s){return h(null,{message:"Error fetching master event: "+s.message})}if(m(r)){return h(null,{message:"Error fetching master event: "+r.error?.message})}const o=this.nylasSchedulerConfigStore.state.masterGroupEvents;if(o[e]){this.nylasSchedulerConfigStore.state.masterGroupEvents[e]=r.data}else{this.nylasSchedulerConfigStore.state.masterGroupEvents={...o,[e]:r.data}}return h(r.data)}async createConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error creating configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations`,body:e});if(n){return h(null,{message:"Error creating configuration: "+n.message})}if(m(t)){return h(null,{message:"Error creating configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=t.data;this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,t.data];return h(t.data)}async updateConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error updating configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"PUT",path:`scheduling/configurations/${e.id}`,body:e});if(n){return h(null,{message:"Error updating configuration: "+n.message})}if(m(t)){return h(null,{message:"Error updating configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.selectedConfiguration=t.data;if(this.nylasSchedulerConfigStore.state.configurations.find((t=>t.id===e.id))){this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.map((n=>n.id===e.id?t.data:n))}else{this.nylasSchedulerConfigStore.state.configurations=[...this.nylasSchedulerConfigStore.state.configurations,t.data]}return h(t.data)}async deleteConfiguration(e){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error deleting configuration: Nylas API Request is not initialized"})}const[t,n]=await this.nylasApiRequest.request({method:"DELETE",path:`scheduling/configurations/${e}`});if(n){return h(null,{message:"Error deleting configuration: "+n.message})}if(m(t)){return h(null,{message:"Error deleting configuration: "+t.error?.message})}this.nylasSchedulerConfigStore.state.configurations=this.nylasSchedulerConfigStore.state.configurations.filter((t=>t.id!==e));if(this.nylasSchedulerConfigStore.state.selectedConfiguration?.id===e){this.nylasSchedulerConfigStore.resetSelectedConfiguration()}return h(t.data)}async createGroupEvent(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error creating group event: Nylas API Request is not initialized"})}const[n,i]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations/${t}/group-events`,body:e});if(i){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error creating group event: "+i.message})}if(m(n)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error creating group event: "+n.error?.message})}this.nylasSchedulerConfigStore.state.selectedGroupEvent=n.data;this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(n.data)}async getGroupEvents(e,t){if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error fetching group events: Nylas API Request is not initialized"})}const n=new URLSearchParams;n.append("show_all","true");const i=this.nylasSchedulerConfigStore.state.calendarViewDateRange;let r;let s;if(i){r=i.start_time;s=i.end_time}else{const e=f((new Date).toISOString(),"week");r=e.startTime.toString();s=e.endTime.toString()}const o=`${e}-${r}-${s}`;const a=this.groupEventsCache.get(o);if(a&&Date.now()-a.timestamp<this.CACHE_DURATION){this.nylasSchedulerConfigStore.state.groupEvents=a.data;return h(a.data)}n.append("start_time",r);n.append("end_time",s);const c=t?.group_booking?.calendar_id;if(c){n.append("calendar_id",c)}const[l,d]=await this.nylasApiRequest.request({method:"GET",path:`scheduling/configurations/${e}/group-events?${n.toString()}`});if(d){return h(null,{message:"Error fetching group events: "+d.message})}if(m(l)){return h(null,{message:"Error fetching group events: "+l.error?.message})}this.groupEventsCache.set(o,{data:l.data,timestamp:Date.now()});this.cleanupExpiredCache();this.nylasSchedulerConfigStore.state.groupEvents=l.data;return h(l.data)}invalidateGroupEventsCache(){this.groupEventsCache.clear()}cleanupExpiredCache(){const e=Date.now();for(const[t,n]of this.groupEventsCache.entries()){if(e-n.timestamp>this.CACHE_DURATION){this.groupEventsCache.delete(t)}}}async updateGroupEventById(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error updating group event: Nylas API Request is not initialized"})}const n=e.id;delete e.id;const[i,r]=await this.nylasApiRequest.request({method:"PATCH",path:`scheduling/configurations/${t}/group-events/${n}`,body:e});if(r){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error updating group event: "+r.message})}if(m(i)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error updating group event: "+i.error?.message})}this.nylasSchedulerConfigStore.state.selectedGroupEvent=i.data;this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(i.data)}async updateGroupEvent(e,t,n){this.nylasSchedulerConfigStore.state.isLoading=true;const i=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const r=i?.event?.master_event_id;const s=i?.event?.id;const o=i?.event?.when?.start_time;const a=i?.group_event_info?.rrule?.[0];const l=a?a.split(";").filter((e=>!e.startsWith("UNTIL"))).join(";"):"";const d=o?c(o*1e3).subtract(1,"minute").format("YYYYMMDDTHHmmss[Z]"):"";if(t==="this"){return this.updateGroupEventById({...e,id:s,recurrence:r?undefined:e.recurrence},n)}else if(t==="future"&&r){const t=await this.createGroupEvent(e,n);const s={location:i?.event?.location,conferencing:i?.event?.conferencing,title:i?.event?.title,description:i?.event?.description,capacity:i?.group_event_info?.capacity,calendar_id:i?.event?.calendar_id,recurrence:l?[l+";UNTIL="+d]:[`RRULE:FREQ=DAILY;UNTIL=${d}`]};await this.updateGroupEventById({...s,id:r},n);return[s,t]}else if(t==="all"){const t=e?.when;const s=i?.event?.when;const o=this.nylasSchedulerConfigStore.state.masterGroupEvents?.[r];let a=o?.when;if(t?.start_time!==s?.start_time){a={...a,start_time:t?.start_time||a?.start_time}}if(t?.end_time!==s?.end_time){a={...a,end_time:t?.end_time||a?.end_time}}if(t?.start_timezone!==s?.start_timezone){a={...a,start_timezone:t?.start_timezone||a?.start_timezone}}if(t?.end_timezone!==s?.end_timezone){a={...a,end_timezone:t?.end_timezone||a?.end_timezone}}return this.updateGroupEventById({...e,when:a,id:r},n)}this.nylasSchedulerConfigStore.state.isLoading=false;throw new Error("Invalid option")}async deleteGroupEvent(e,t,n){this.nylasSchedulerConfigStore.state.isLoading=true;const i=this.nylasSchedulerConfigStore.state.selectedGroupEvent;const r=i?.event?.master_event_id;const s=i?.event?.id;const o=i?.event?.when?.start_time;const a=i?.group_event_info?.rrule?.[0];const l=a?a.split(";").filter((e=>!e.startsWith("UNTIL"))).join(";"):"";const d=o?c(o*1e3).format("YYYYMMDDTHHmmss[Z]"):"";const u={location:i?.event?.location,conferencing:i?.event?.conferencing,title:i?.event?.title,description:i?.event?.description,capacity:i?.group_event_info?.capacity,calendar_id:i?.event?.calendar_id,recurrence:l?[l+";UNTIL="+d]:[`RRULE:UNTIL=${d}`]};if(t==="this"&&s){return this.deleteGroupEventById(s,n)}else if(t==="future"&&r&&s){await this.deleteGroupEventById(s,n);return await this.updateGroupEventById({...u,id:r},n)}else if(t==="all"&&r){return this.deleteGroupEventById(r,n)}this.nylasSchedulerConfigStore.state.isLoading=false;throw new Error("Invalid option")}async deleteGroupEventById(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error deleting group event: Nylas API Request is not initialized"})}const n=new URLSearchParams;const i=this.nylasSchedulerConfigStore.state.selectedConfiguration?.group_booking?.calendar_id;if(i){n.append("calendar_id",i)}const[r,s]=await this.nylasApiRequest.request({method:"DELETE",path:`scheduling/configurations/${t}/group-events/${e}?calendar_id=${i}`});if(s){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error deleting group event: "+s.message})}if(m(r)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error deleting group event: "+r.error?.message})}this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration);this.nylasSchedulerConfigStore.state.isLoading=false;return h(r.data)}async importGroupEvent(e,t){this.nylasSchedulerConfigStore.state.isLoading=true;if(!this.nylasApiRequest){u("Nylas API Request is not initialized");return h(null,{message:"Error importing group event: Nylas API Request is not initialized"})}const n=new URLSearchParams;const i=this.nylasSchedulerConfigStore.state.selectedConfiguration?.group_booking?.calendar_id;if(i){n.append("calendar_id",i)}const[r,s]=await this.nylasApiRequest.request({method:"POST",path:`scheduling/configurations/${t}/import-group-events?${n.toString()}`,body:e});if(s){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error importing group event: "+s.message})}if(m(r)){this.nylasSchedulerConfigStore.state.isLoading=false;return h(null,{message:"Error importing group event: "+r.error?.message})}if(r.data?.imported_events?.length>0){this.invalidateGroupEventsCache();await this.getGroupEvents(t,this.nylasSchedulerConfigStore.state.selectedConfiguration)}this.nylasSchedulerConfigStore.state.isLoading=false;return h(r.data)}}class C{constructor({nylasApiRequest:e,nylasSchedulerConfigStore:t}){this.nylasApiRequest=e;this.nylasSchedulerConfigStore=t}init(){u("NylasSchedulerConfigConnector init")}get schedulerConfigStore(){return this.nylasSchedulerConfigStore}get schedulerConfig(){if(this._schedulerConfigConnector){return this._schedulerConfigConnector}this._schedulerConfigConnector=new x({nylasApiRequest:this.nylasApiRequest,nylasSchedulerConfigStore:this.nylasSchedulerConfigStore});return this._schedulerConfigConnector}resetStores(){u("NylasSchedulerConfigConnector resetStores");this.nylasSchedulerConfigStore.reset()}async logout(){u("NylasSchedulerConfigConnector logout");this.resetStores()}}function $(e={}){const t={selectedConfiguration:{},configurations:[],groupEvents:[],listConfigurationsNextCursor:null,calendars:[],currentUser:null,action:null,additionalParticipants:[],requiresSlug:false,masterGroupEvents:{},isLoading:false,...e};const n=k(t);function i(){n.set("selectedConfiguration",{...e["selectedConfiguration"]})}n.onChange("action",(async e=>{if(!e){i()}}));n.onChange("selectedConfiguration",(async e=>{const t=n.state.participantFetch;const i=e?.participants;if(!t||!i?.length)return;const r=i.filter((e=>!e.is_organizer&&!!e.email)).map((e=>e.email));if(r.length===0)return;try{const e=n.state.participantFetchGrantId;const i=await t({emails:r,grantId:e});if(!i?.length)return;const s=n.state.additionalParticipants||[];const o=new Set(s.map((e=>e.email)));const a=i.filter((e=>!o.has(e.email)));if(a.length>0){n.set("additionalParticipants",[...s,...a])}}catch(e){u("[scheduler-config-store] participantFetch failed",e)}}));return{...n,resetSelectedConfiguration:i}}class S{get(e){return new Promise((t=>{const n=globalThis.window?.localStorage.getItem(e);if(!n){t(null)}else{t(JSON.parse(n))}}))}async remove(e){globalThis.window?.localStorage.removeItem(e);return new Promise((e=>{e(null)}))}set(e,t){globalThis.window?.localStorage.setItem(e,JSON.stringify(t));return new Promise((e=>{e(null)}))}}const T="pkce";const P="grant";const I="user";const R=e=>{if(typeof globalThis.btoa==="function"&&typeof TextEncoder!=="undefined"){const t=(new TextEncoder).encode(e);let n="";for(let e=0;e<t.length;e++){n+=String.fromCharCode(t[e])}return globalThis.btoa(n)}if(typeof globalThis.Buffer!=="undefined"){return globalThis.Buffer.from(e,"utf8").toString("base64")}throw new Error("Base64 encoding is not supported in this environment")};const q=e=>{if(typeof globalThis.atob==="function"&&typeof TextDecoder!=="undefined"){const t=globalThis.atob(e);const n=new Uint8Array(t.length);for(let e=0;e<t.length;e++){n[e]=t.charCodeAt(e)}return(new TextDecoder).decode(n)}if(typeof globalThis.Buffer!=="undefined"){return globalThis.Buffer.from(e,"base64").toString("utf8")}throw new Error("Base64 decoding is not supported in this environment")};class A{Storage=new S;constructor(e){if(e){this.Storage=e;return}}setPKCE(e){const t=R(e);this.Storage.set(T,t)}async getPKCE(){try{const e=await this.Storage.get(T);if(e){return q(e)}}catch(e){return null}return null}removePKCE(){this.Storage.remove(T)}setGrant(e,t=false){const{grant_id:n}=e;this.Storage.set(`${P}${t?"-"+n:""}`,e)}removeGrant(e,t=false){this.Storage.remove(`${P}${t?"-"+e:""}`)}async getGrant(e,t=false){const n=await this.Storage.get(`${P}${t?"-"+e:""}`);if(n){return n}return null}async setUserToken(e){const t=await this.getUserTokens();if(t){const n=t.find((t=>t.sub===e.sub));if(!n){const n=[...t,e];this.Storage.set(I,n)}else{const n=t.map((t=>{if(t.sub===e.sub){t=e}return t}));this.Storage.set(I,n)}}else{this.Storage.set(I,[e])}}async getUserToken(e=""){const t=await this.Storage.get(I);if(t){if(e===""){return t[0]}const n=t.find((t=>t.sub===e));return n}return null}async getUserTokens(){const e=await this.Storage.get(I);if(e){return e}return null}removeUserTokens(){this.Storage.remove(I)}async removeUserToken(e){const t=await this.getUserTokens();const n=t?.filter((t=>t.sub!==e));this.Storage.set(I,n)}async clearSession(){const e=await this.getUserTokens();e?.forEach((e=>{this.removeGrant(e.sub)}));this.removePKCE();this.removeUserTokens()}}class U{databaseName="identity-db";storeName="identity";get(e){const t=this;return new Promise(((n,i)=>{t.openDatabase().then((function(r){const s=r.transaction(t.storeName,"readwrite");const o=s.objectStore(t.storeName);const a=o.get(e);a.onsuccess=()=>{n(a.result)};a.onerror=()=>{i(a.error)};s.oncomplete=()=>{r.close()}}))}))}async remove(e){const t=this;return new Promise(((n,i)=>{const r=indexedDB.open(this.databaseName);r.onupgradeneeded=function(e){const n=e.target.result;n.createObjectStore(t.storeName)};r.onerror=()=>{i(r.error)};r.onsuccess=t=>{const r=t.target.result;const s=r.transaction(this.storeName,"readwrite");const o=s.objectStore(this.storeName);const a=o.delete(e);a.onsuccess=()=>{n(null)};a.onerror=()=>{i(a.error)};s.oncomplete=()=>{r.close()}}}))}set(e,t){return new Promise(((n,i)=>{const r=indexedDB.open(this.databaseName);r.onerror=()=>{i(r.error)};r.onupgradeneeded=e=>{const t=e.target.result;t.createObjectStore(this.storeName)};r.onsuccess=r=>{const s=r.target.result;const o=s.transaction(this.storeName,"readwrite");const a=o.objectStore(this.storeName);const c=a.put(t,e);c.onsuccess=()=>{n(t)};c.onerror=()=>{i(c.error)};o.oncomplete=()=>{s.close()}}}))}openDatabase(){const e=this;return new Promise((function(t,n){const i=indexedDB.open(e.databaseName,2);i.onupgradeneeded=function(t){const n=t.target.result;n.createObjectStore(e.storeName)};i.onsuccess=function(e){t(e.target.result)};i.onerror=function(e){n(e.error)}}))}}var N;var L=new Uint8Array(16);function z(){if(!N){N=typeof crypto!=="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!=="undefined"&&typeof msCrypto.getRandomValues==="function"&&msCrypto.getRandomValues.bind(msCrypto);if(!N){throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported")}}return N(L)}var j=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function O(e){return typeof e==="string"&&j.test(e)}var D=[];for(var F=0;F<256;++F){D.push((F+256).toString(16).substr(1))}function G(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var n=(D[e[t+0]]+D[e[t+1]]+D[e[t+2]]+D[e[t+3]]+"-"+D[e[t+4]]+D[e[t+5]]+"-"+D[e[t+6]]+D[e[t+7]]+"-"+D[e[t+8]]+D[e[t+9]]+"-"+D[e[t+10]]+D[e[t+11]]+D[e[t+12]]+D[e[t+13]]+D[e[t+14]]+D[e[t+15]]).toLowerCase();if(!O(n)){throw TypeError("Stringified UUID is invalid")}return n}function H(e,t,n){e=e||{};var i=e.random||(e.rng||z)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;return G(i)}async function B(e,t){const n=e.getReader();let i;while(!(i=await n.read()).done){t(i.value)}}function M(e){let t;let n;let i;let r=false;return function s(o){if(t===undefined){t=o;n=0;i=-1}else{t=J(t,o)}const a=t.length;let c=0;while(n<a){if(r){if(t[n]===10){c=++n}r=false}let s=-1;for(;n<a&&s===-1;++n){switch(t[n]){case 58:if(i===-1){i=n-c}break;case 13:r=true;case 10:s=n;break}}if(s===-1){break}e(t.subarray(c,s),i);c=n;i=-1}if(c===a){t=undefined}else if(c!==0){t=t.subarray(c);n-=c}}}function Y(e,t,n){let i=K();const r=new TextDecoder;return function s(o,a){if(o.length===0){n===null||n===void 0?void 0:n(i);i=K()}else if(a>0){const n=r.decode(o.subarray(0,a));const s=a+(o[a+1]===32?2:1);const c=r.decode(o.subarray(s));switch(n){case"data":i.data=i.data?i.data+"\n"+c:c;break;case"event":i.event=c;break;case"id":e(i.id=c);break;case"retry":const n=parseInt(c,10);if(!isNaN(n)){t(i.retry=n)}break}}}}function J(e,t){const n=new Uint8Array(e.length+t.length);n.set(e);n.set(t,e.length);return n}function K(){return{data:"",event:"",id:"",retry:undefined}}var V=undefined&&undefined.__rest||function(e,t){var n={};for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0)n[i]=e[i];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var r=0,i=Object.getOwnPropertySymbols(e);r<i.length;r++){if(t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r]))n[i[r]]=e[i[r]]}return n};const W="text/event-stream";const Q=1e3;const Z="last-event-id";function X(e,t){var{signal:n,headers:i,onopen:r,onmessage:s,onclose:o,onerror:a,openWhenHidden:c,fetch:l}=t,d=V(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,u)=>{const h=Object.assign({},i);if(!h.accept){h.accept=W}let f;function p(){f.abort();if(!document.hidden){v()}}if(!c){document.addEventListener("visibilitychange",p)}let g=Q;let y=0;function w(){document.removeEventListener("visibilitychange",p);window.clearTimeout(y);f.abort()}n===null||n===void 0?void 0:n.addEventListener("abort",(()=>{w();t()}));const b=l!==null&&l!==void 0?l:window.fetch;const m=r!==null&&r!==void 0?r:ee;async function v(){var n;f=new AbortController;try{const n=await b(e,Object.assign(Object.assign({},d),{headers:h,signal:f.signal}));await m(n);await B(n.body,M(Y((e=>{if(e){h[Z]=e}else{delete h[Z]}}),(e=>{g=e}),s)));o===null||o===void 0?void 0:o();w();t()}catch(e){if(!f.signal.aborted){try{const t=(n=a===null||a===void 0?void 0:a(e))!==null&&n!==void 0?n:g;window.clearTimeout(y);y=window.setTimeout(v,t)}catch(e){w();u(e)}}}}v()}))}function ee(e){const t=e.headers.get("content-type");if(!(t===null||t===void 0?void 0:t.startsWith(W))){throw new Error(`Expected content-type to be ${W}, Actual: ${t}`)}}function te(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ne(){return Math.floor(Date.now()/1e3)}async function ie(e){const t=(new TextEncoder).encode(e);const n=await crypto.subtle.digest("SHA-256",t);const i=Array.from(new Uint8Array(n));const r=i.map((e=>e.toString(16).padStart(2,"0"))).join("");return r}function re(e){this.message=e}re.prototype=new Error,re.prototype.name="InvalidCharacterError";var se="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new re("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,i,r=0,s=0,o="";i=t.charAt(s++);~i&&(n=r%4?64*n+i:i,r++%4)?o+=String.fromCharCode(255&n>>(-2*r&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return o};function oe(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(e){return decodeURIComponent(se(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}(t)}catch(e){return se(t)}}function ae(e){this.message=e}function ce(e,t){if("string"!=typeof e)throw new ae("Invalid token specified");var n=true===(t=t||{}).header?0:1;try{return JSON.parse(oe(e.split(".")[n]))}catch(e){throw new ae("Invalid token specified: "+e.message)}}ae.prototype=new Error,ae.prototype.name="InvalidTokenError";class le{clientId;redirectUri;accessType="online";domain="http://api.nylas.com";versioned=false;Storage;hosted=false;multiAccount=false;loginId="";constructor(e){this.clientId=e.clientId;this.redirectUri=e.redirectUri;if(e.domain){this.domain=e.domain;const t=this.domain.substring(this.domain.length-3);if(t.includes("/v")){this.versioned=true}}if(e.multiAccount){this.multiAccount=e.multiAccount}if(e.sw){const e=new U;this.Storage=new A(e)}else{this.Storage=new A}if(e.accessType){this.accessType=e.accessType}if(e.loginId){this.loginId=e.loginId}if(e.hosted){this.hosted=e.hosted}if(e.disableInitCodeExchange!==true){this.codeExchange(null)}}async validateAccessToken(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const{access_token:n}=t;try{const e=await fetch(`${this.domain}/connect/tokeninfo?access_token=${n}`,{method:"GET"});const t=await e.json();if(!t.data){return false}return true}catch(e){return false}}async validateIDToken(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const{id_token:n}=t;try{const e=await fetch(`${this.domain}/connect/tokeninfo?id_token=${n}`,{method:"GET"});if(e.status!==200){return false}const t=await e.json();if(!t.data){return false}return true}catch(e){return false}}getDomain(){return this.domain}async auth(e){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){await this.hostedSetCodeChallenge()}const t=await this.generateAuthURL(e);if(e.popup){this.popUp(t);return}return t}async generateAuthURL(e){const t=await this.getCodeChallege();let n=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;if(t){n+=`&code_challenge=${t}&code_challenge_method=S256&options=rotate_refresh_token`}if(e.provider){n+=`&provider=${e.provider}`}if(e.loginHint){n+=`&login_hint=${e.loginHint}`;if(e.includeGrantScopes){n+=`&include_grant_scopes=${e.includeGrantScopes}`}}if(e.scope){n+=`&scope=${e.scope.join(" ")}`}if(e.prompt){n+=`&prompt=${e.prompt}`}if(e.metadata){n+=`&metadata=${e.metadata}`}if(e.state||this.loginId){n+=`&state=${this.loginId?this.loginId:e.state}`}return n}async generateReauthURL(e,t){if(!e){throw new Error("Grant ID is required")}const n=await this.Storage.getUserToken(e);const i=await this.getCodeChallege();let r=`${this.domain}/connect/auth?client_id=${this.clientId}&redirect_uri=${this.redirectUri}&access_type=${this.accessType}&response_type=code`;if(i){r+=`&code_challenge=${i}&code_challenge_method=S256&options=rotate_refresh_token`}if(n?.provider){r+=`&provider=${n.provider}`}if(n?.email){r+=`&login_hint=${n.email}`}if(t){r+=`&scope=${t.join(" ")}`}return r}async generateCodeChallenge(){const e=await this.Storage.getPKCE();if(e){return}const t=H();this.Storage.setPKCE(t);return}async hostedSetCodeChallenge(){if(!this.hosted){throw console.error("Method only used with hosted flag enabled")}const e=new URLSearchParams(globalThis.window?.location.search);const t=e.get("code_challenge");if(!t){const e=await this.Storage.getPKCE();if(e){return}console.warn("Code challenge is recomended");return}this.Storage.setPKCE(t)}async getCodeChallege(){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){const e=new URLSearchParams(globalThis.window?.location.search);const t=e.get("code_challenge");if(!t){console.warn("Code challenge is recomended");return""}return t}const e=await this.Storage.getPKCE();if(e){const t=await ie(e);let n=btoa(unescape(encodeURIComponent(t)));n=te(n);return n}return""}async isLoggedIn(){if(this.hosted&&(this.domain===globalThis.window?.location.origin||this.versioned&&this.domain.includes(globalThis.window?.location.origin))){return false}const e=await this.Storage.getUserTokens();if(e&&e.length>0){if(this.multiAccount){await this.generateCodeChallenge()}return true}await this.generateCodeChallenge();return false}isMultiAccount(){return this.multiAccount}async logout(){const e=await this.getProfile();await this.Storage.clearSession();const t={detail:e};window.dispatchEvent(new CustomEvent("onLogoutSuccess",t))}async getProfile(e=""){let t;if(e){t=await this.Storage.getUserToken(e)}else{t=await this.Storage.getUserToken()}if(t){return t}return null}async getProfiles(){const e=await this.Storage.getUserTokens();if(e){return e}return null}async removeProfile(e){await this.Storage.removeUserToken(e);await this.Storage.removeGrant(e);return null}async authIMAP(e){const t=await this.getCodeChallege();const n={imap_username:e.imap_username,imap_password:e.imap_password,imap_host:e.imap_host,imap_port:e.imap_port,type:e.type,smtp_host:e.smtp_host,smtp_port:e.smtp_port,provider:e.provider,redirect_uri:this.redirectUri,state:e.state,public_application_id:this.clientId,access_type:this.accessType};if(this.loginId){n.id=this.loginId}if(e.smtp_username&&e.smtp_password){n.smtp_username=e.smtp_username;n.smtp_password=e.smtp_password}if(t!=""){n.code_challenge=t;n.code_challenge_method="S256"}const i=await fetch(`${this.domain}/connect/login/imap`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(n)});const r=await i.json();return r}async authEWS(e){const t=await this.getCodeChallege();const n={...e,provider:"ews",redirect_uri:this.redirectUri,public_application_id:this.clientId,access_type:this.accessType};if(this.loginId){n.id=this.loginId}if(t!=""){n.code_challenge=t;n.code_challenge_method="S256"}const i=await fetch(`${this.domain}/connect/login/ews`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(n)});const r=await i.json();return r}async detectEmail(e){const t=await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/providers/detect?client_id=${this.clientId}&email=${e}`,{method:"POST",headers:new Headers({"content-type":"application/json"})});const n=await t.json();return n}async applicationInfo(){const e=await fetch(`${this.versioned?this.domain:this.domain+"/connect"}/applications?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})});const t=await e.json();return t.data}async getAvailableProviders(){const e=await fetch(`${this.domain}/connect/providers/find?client_id=${this.clientId}`,{method:"GET",headers:new Headers({"content-type":"application/json"})});if(e){const t=await e.json();const n=t.data;return n}return null}onLoginSuccess(e){window.addEventListener("onLoginSuccess",(t=>e(t)))}onLogoutSuccess(e){window.addEventListener("onLogoutSuccess",(t=>e(t)))}onLoginFail(e){window.addEventListener("onLoginFail",(t=>e(t)))}onTokenRefreshSuccess(e){window.addEventListener("onTokenRefreshSuccess",(t=>e(t)))}onTokenRefreshFail(e){window.addEventListener("onTokenRefreshFail",(t=>e(t)))}onSessionExpired(e){window.addEventListener("onSessionExpired",(t=>e(t)))}async codeExchange(e){let t=new URLSearchParams(globalThis.window?.location.search);if(e){t=new URLSearchParams(e)}const n=t.get("code");const i=t.get("state");const r=t.get("error");const s=t.get("error_description");const o=t.get("error_code");if(r&&s&&o){const e={detail:{error:r,error_description:s,error_code:o}};window.dispatchEvent(new CustomEvent("onLoginFail",e));window.history.pushState({},document.title,globalThis.window?.location.pathname);return false}if(!n){console.warn("No code found");return false}if(window.opener&&window.name==="uas-popup"){console.warn("Popup window detected");return false}const a=await this.Storage.getPKCE();if(!a){console.warn("No code verifier found");return false}try{const e={client_id:this.clientId,redirect_uri:this.redirectUri,code:n,grant_type:"authorization_code",code_verifier:a};const t=await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(e)});const r=await t.json();if(r){if(r.error){const e={detail:r};window.dispatchEvent(new CustomEvent("onLoginFail",e));return true}const e=await this.handleCodeExchangeResponse(r);if(!e.valid){const t={detail:e.data};window.dispatchEvent(new CustomEvent("onLoginFail",t));return true}else{if(i){e.data.state=i}const t={detail:e.data};window.dispatchEvent(new CustomEvent("onLoginSuccess",t));window.history.pushState({},document.title,window.location.pathname)}}this.Storage.removePKCE();return true}catch(r){const e={detail:r};window.dispatchEvent(new CustomEvent("onLoginFail",e));window.history.pushState({},document.title,globalThis.window?.location.pathname);return false}}async tokenExchange(e=""){const t=await this.Storage.getGrant(e,this.multiAccount);if(!t){return false}const n=t.refresh_token;try{const t={client_id:this.clientId,redirect_uri:this.redirectUri,refresh_token:n,grant_type:"refresh_token"};const i=await fetch(`${this.domain}/connect/token`,{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify(t)});const r=await i.json();if(r){if(r.error){const e={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",e));return true}const t=ne();r.expires_in=t+r.expires_in;this.Storage.setGrant(r,this.multiAccount);const n=await this.validateIDToken(e);if(!n){const e={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",e));return true}const i={detail:r};window.dispatchEvent(new CustomEvent("onTokenRefreshSuccess",i));return true}this.Storage.removePKCE()}catch(e){const t={detail:e};window.dispatchEvent(new CustomEvent("onTokenRefreshFail",t));return false}}async handleCodeExchangeResponse(e){const t=true;if(e.error){return{data:e,valid:false}}const n=ne();e.expires_in=n+e.expires_in;this.Storage.setGrant(e,this.multiAccount);const i=ce(e.id_token);i.status="authenticated";this.Storage.setUserToken(i);const r=await this.validateIDToken(i.sub);if(!r){return{data:e,valid:false}}return{data:e,valid:t}}async popUp(e){const t=500;const n=600;const i=window.screenX+(window.outerWidth-t)/2;const r=window.screenY+(window.outerHeight-n)/2.5;const s=`uas-popup`;const o=e;const a=window.open(o,s,`width=${t},height=${n},left=${i},top=${r}`);if(!a){return}const c=setInterval((async()=>{if(a.closed){const e={detail:{error_description:"OAuth provider window closed"}};window.dispatchEvent(new CustomEvent("onLoginFail",e));c&&clearInterval(c);return}try{const e=a.location.href.split("?");if(!e[0]){return}const t=a.location.search;a.history.pushState({},document.title,window.location.pathname);if(e[0]===this.redirectUri&&e.length>1){const e=await this.codeExchange(t);a.close();if(e){location.reload()}c&&clearInterval(c);return}}catch(e){return}}),1e3)}async getAccessToken(e=""){const t=ne();const n=await this.Storage.getGrant(e,this.multiAccount);if(!n){return null}const{access_token:i,expires_in:r}=n;const s=i;if(s){if(r&&r>ne()){const e=r-t;if(e>30){return s}}}await this.tokenExchange(e);const o=await this.Storage.getGrant(e,this.multiAccount);return o.access_token}async sse(e,t){const n=t.headers||{};const i=n["Grant-ID"];let r="";if(this.multiAccount){if(!i){this.logout();throw new Error("Grant ID is required for multi account calls")}r=await this.getAccessToken(i)}else{r=await this.getAccessToken()}delete n["Grant-ID"];n["Authorization"]=`Bearer ${r}`;if(!n["content-type"]){n["content-type"]="application/json"}return X(`${this.domain}/${e}`,{...t,headers:n})}async fetch(e,t,n=true,i){let r="";let s=1;if(this.multiAccount){if(!t.grant_id){this.logout();throw new Error("Grant ID is required for multi account calls")}const e=await this.getProfiles();s=e?e.length:1;r=await this.getAccessToken(t.grant_id)}else{r=await this.getAccessToken()}if(!r){throw new Error("Access token not found")}let o=t.headers;if(!Headers.prototype.isPrototypeOf(o)){o=new Headers({Authorization:`Bearer ${r}`,"content-type":"application/json"})}else{o.append("Authorization",`Bearer ${r}`);if(!o.has("content-type")){o.append("content-type","application/json")}}try{if(t?.body){t.body=JSON.stringify(t?.body)}const r=await fetch(`${i||this.domain}/${e}`,{...t,headers:o});if(!n){return r}const a=await(r?.json());const c=await this.isAuthenticatedResponse(r.status,a);if(!c){if(s>1){const e=await this.getProfile(t.grant_id);if(e){e.status="unauthorized";await this.Storage.setUserToken(e);const t={detail:{user:e}};window.dispatchEvent(new CustomEvent("onSessionExpired",t))}}else{const e=await this.Storage.getUserToken();const t={detail:{user:e}};window.dispatchEvent(new CustomEvent("onSessionExpired",t))}this.logout();return}return a}catch(e){throw e}}async fetchRequest(e,t,n,i=true,r,s){const o=await this.isLoggedIn();const a=new URL(e,r??this.domain);const c=new Headers;c.append("Accept","application/json");c.append("Content-Type","application/json");c.append("User-Agent","nylas-identity");if(o){const e=await this.getAccessToken();c.append("Authorization",`Bearer ${e}`)}const l=await fetch(a.toString(),{method:t||"GET",headers:c,mode:"cors",referrer:globalThis.window?.location.origin,body:n?JSON.stringify(n):undefined,...s||{}});if(!i){return l.body}const d=await l.json();return d}async isAuthenticatedResponse(e,t){if(e==401&&t?.error?.type=="token.unauthorized_access"){return false}return true}addAPIKey(e,t,n){this.Storage.setUserToken({aud:"https://api-staging.us.nylas.com/",exp:2e9,email_verified:true,iat:ne(),iss:"",email:t,provider:"virtual-calendar",status:"authenticated",name:t,sub:e});this.Storage.setGrant({grant_id:e,access_token:n,expires_in:2e9},this.multiAccount)}}var de={exports:{}};var ue={};
2
2
  /**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -8,4 +8,4 @@ import{h as e,F as t,r as n,c as i,H as r,a as s}from"./p-0EQQA0nE.js";import{N
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */var he;function fe(){if(he)return ue;he=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),o=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),u=Symbol.iterator;function h(e){if(null===e||"object"!==typeof e)return null;e=u&&e[u]||e["@@iterator"];return"function"===typeof e?e:null}var f={isMounted:function(){return false},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},p=Object.assign,g={};function y(e,t,n){this.props=e;this.context=t;this.refs=g;this.updater=n||f}y.prototype.isReactComponent={};y.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function w(){}w.prototype=y.prototype;function b(e,t,n){this.props=e;this.context=t;this.refs=g;this.updater=n||f}var m=b.prototype=new w;m.constructor=b;p(m,y.prototype);m.isPureReactComponent=true;var v=Array.isArray,_=Object.prototype.hasOwnProperty,E={current:null},k={key:true,ref:true,__self:true,__source:true};function x(t,n,i){var r,s={},o=null,a=null;if(null!=n)for(r in void 0!==n.ref&&(a=n.ref),void 0!==n.key&&(o=""+n.key),n)_.call(n,r)&&!k.hasOwnProperty(r)&&(s[r]=n[r]);var c=arguments.length-2;if(1===c)s.children=i;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];s.children=l}if(t&&t.defaultProps)for(r in c=t.defaultProps,c)void 0===s[r]&&(s[r]=c[r]);return{$$typeof:e,type:t,key:o,ref:a,props:s,_owner:E.current}}function C(t,n){return{$$typeof:e,type:t.type,key:n,ref:t.ref,props:t.props,_owner:t._owner}}function $(t){return"object"===typeof t&&null!==t&&t.$$typeof===e}function S(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}var T=/\/+/g;function P(e,t){return"object"===typeof e&&null!==e&&null!=e.key?S(""+e.key):t.toString(36)}function I(n,i,r,s,o){var a=typeof n;if("undefined"===a||"boolean"===a)n=null;var c=false;if(null===n)c=true;else switch(a){case"string":case"number":c=true;break;case"object":switch(n.$$typeof){case e:case t:c=true}}if(c)return c=n,o=o(c),n=""===s?"."+P(c,0):s,v(o)?(r="",null!=n&&(r=n.replace(T,"$&/")+"/"),I(o,i,r,"",(function(e){return e}))):null!=o&&($(o)&&(o=C(o,r+(!o.key||c&&c.key===o.key?"":(""+o.key).replace(T,"$&/")+"/")+n)),i.push(o)),1;c=0;s=""===s?".":s+":";if(v(n))for(var l=0;l<n.length;l++){a=n[l];var d=s+P(a,l);c+=I(a,i,r,d,o)}else if(d=h(n),"function"===typeof d)for(n=d.call(n),l=0;!(a=n.next()).done;)a=a.value,d=s+P(a,l++),c+=I(a,i,r,d,o);else if("object"===a)throw i=String(n),Error("Objects are not valid as a React child (found: "+("[object Object]"===i?"object with keys {"+Object.keys(n).join(", ")+"}":i)+"). If you meant to render a collection of children, use an array instead.");return c}function R(e,t,n){if(null==e)return e;var i=[],r=0;I(e,i,"","",(function(e){return t.call(n,e,r++)}));return i}function q(e){if(-1===e._status){var t=e._result;t=t();t.then((function(t){if(0===e._status||-1===e._status)e._status=1,e._result=t}),(function(t){if(0===e._status||-1===e._status)e._status=2,e._result=t}));-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var A={current:null},U={transition:null},N={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:U,ReactCurrentOwner:E};ue.Children={map:R,forEach:function(e,t,n){R(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;R(e,(function(){t++}));return t},toArray:function(e){return R(e,(function(e){return e}))||[]},only:function(e){if(!$(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ue.Component=y;ue.Fragment=n;ue.Profiler=r;ue.PureComponent=b;ue.StrictMode=i;ue.Suspense=c;ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N;ue.cloneElement=function(t,n,i){if(null===t||void 0===t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var r=p({},t.props),s=t.key,o=t.ref,a=t._owner;if(null!=n){void 0!==n.ref&&(o=n.ref,a=E.current);void 0!==n.key&&(s=""+n.key);if(t.type&&t.type.defaultProps)var c=t.type.defaultProps;for(l in n)_.call(n,l)&&!k.hasOwnProperty(l)&&(r[l]=void 0===n[l]&&void 0!==c?c[l]:n[l])}var l=arguments.length-2;if(1===l)r.children=i;else if(1<l){c=Array(l);for(var d=0;d<l;d++)c[d]=arguments[d+2];r.children=c}return{$$typeof:e,type:t.type,key:s,ref:o,props:r,_owner:a}};ue.createContext=function(e){e={$$typeof:o,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};e.Provider={$$typeof:s,_context:e};return e.Consumer=e};ue.createElement=x;ue.createFactory=function(e){var t=x.bind(null,e);t.type=e;return t};ue.createRef=function(){return{current:null}};ue.forwardRef=function(e){return{$$typeof:a,render:e}};ue.isValidElement=$;ue.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:q}};ue.memo=function(e,t){return{$$typeof:l,type:e,compare:void 0===t?null:t}};ue.startTransition=function(e){var t=U.transition;U.transition={};try{e()}finally{U.transition=t}};ue.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};ue.useCallback=function(e,t){return A.current.useCallback(e,t)};ue.useContext=function(e){return A.current.useContext(e)};ue.useDebugValue=function(){};ue.useDeferredValue=function(e){return A.current.useDeferredValue(e)};ue.useEffect=function(e,t){return A.current.useEffect(e,t)};ue.useId=function(){return A.current.useId()};ue.useImperativeHandle=function(e,t,n){return A.current.useImperativeHandle(e,t,n)};ue.useInsertionEffect=function(e,t){return A.current.useInsertionEffect(e,t)};ue.useLayoutEffect=function(e,t){return A.current.useLayoutEffect(e,t)};ue.useMemo=function(e,t){return A.current.useMemo(e,t)};ue.useReducer=function(e,t,n){return A.current.useReducer(e,t,n)};ue.useRef=function(e){return A.current.useRef(e)};ue.useState=function(e){return A.current.useState(e)};ue.useSyncExternalStore=function(e,t,n){return A.current.useSyncExternalStore(e,t,n)};ue.useTransition=function(){return A.current.useTransition()};ue.version="18.2.0";return ue}var pe;function ge(){if(pe)return de.exports;pe=1;{de.exports=fe()}return de.exports}ge();const ye=({authenticationUrl:t,authError:n})=>e("div",{class:"login-required",part:"nse__login-required login-component"},e("div",{class:"card",part:"nse__login-required-card"},n&&e("div",{class:"login-error-banner",part:"nse__login-required-error",role:"alert"},e("warning-icon",{width:"16",height:"16"}),e("span",null,n)),e("p",{part:"nse__login-required-text"},"Log into your account to use the Scheduler Editor."),e("button",{class:"google-button",part:"nse__login-required-google-button",onClick:async e=>{e.preventDefault();const n=await t("google");if(n){window.location.href=n}else{p(`[nylas-scheduler-editor] Unable to get authentication URL.`)}}},e("span",{class:"icon"},e("google-logo-icon",{width:"15",height:"15"})),"Continue with Google"),e("button",{class:"microsoft-button",part:"nse__login-required-microsoft-button",onClick:async e=>{e.preventDefault();const n=await t("microsoft");if(n){window.location.href=n}else{p(`[nylas-scheduler-editor] Unable to get authentication URL.`)}}},e("span",{class:"icon"},e("microsoft-logo-icon",{width:"15",height:"15"})),"Continue with Microsoft"),e("button",{class:"other-provider-button",part:"nse__login-required-other-provider-button",onClick:async e=>{e.preventDefault();const n=await t();if(n){window.location.href=n}else{p(`[nylas-scheduler-editor] Unable to get authentication URL.`)}}},"View all providers ",e("chevron-icon",{width:"17",height:"17"})),e("small",{class:"disclaimer-text",part:"nse__login-required-disclaimer-text"},"* You will be redirected to authenticate your account.")));function we({currentUser:n,calendars:i,selectedEventType:r}){const s=i?.find((e=>e.is_primary))||i?.[0];switch(r){case g.one_on_one:case g.max_availability:case g.max_fairness:{return e(t,null,e("nylas-event-info",null,e("div",{slot:"inputs"},e("nylas-event-title",null),e("nylas-event-duration",null),e("nylas-event-location",{userProvider:n.provider}))),e("nylas-booking-calendar-picker",{exportparts:"nbcp, nbcp__header, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content",expressFlow:true,calendars:i,currentUser:n,defaultBookingCalendar:s?.id}),e("nylas-custom-event-slug",{name:"custom-event-slug",exportparts:"nces, nces__body, nces__header, nces__drawer-toggle--container, nces__input-textfield"}))}case g.collective:{return e(t,null,e("nylas-event-info",null,e("div",{slot:"inputs"},e("nylas-event-title",null),e("nylas-event-duration",null),e("nylas-event-location",{userProvider:n.provider}))),e("nylas-booking-calendar-picker",{exportparts:"nbcp, nbcp__header, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content",expressFlow:true,calendars:i,currentUser:n,defaultBookingCalendar:s?.id}),e("nylas-custom-event-slug",{name:"custom-event-slug",exportparts:"nces, nces__body, nces__header, nces__drawer-toggle--container, nces__input-textfield"}),e("nylas-additional-participants",{name:"participants",eventParticipants:[{name:n?.name||n?.email,email:n?.email||"",is_organizer:true}],exportparts:"nadtnlpart, nadtnlpart__title, nadtnlpart__subtitle, nadtnlpart__content, nadtnlpart__input_group, nadtnlpart__input_wrapper, nadtnlpart__input, nadtnlpart__remove-participant"}))}case g.group:{return e(t,null,e("nylas-event-info",null,e("div",{slot:"inputs"},e("nylas-event-title",{noTemplates:true}),e("nylas-event-description",{noTemplates:true,hideAutoPopulateButton:true}),e("nylas-event-location",{userProvider:n.provider}),e("nylas-event-timeslot",{name:"event-timeslot"}),e("nylas-event-capacity",null))),e("nylas-booking-calendar-picker",{exportparts:"nbcp, nbcp__header, nbcp__dropdown, nbcp__dropdown-button, nbcp__dropdown-content",expressFlow:true,calendars:i,currentUser:n,defaultBookingCalendar:s?.id}),e("nylas-additional-participants",{name:"participants",eventParticipants:[{name:n?.name||n?.email,email:n?.email||"",is_organizer:true}],exportparts:"nadtnlpart, nadtnlpart__title, nadtnlpart__subtitle, nadtnlpart__content, nadtnlpart__input_group, nadtnlpart__input_wrapper, nadtnlpart__input, nadtnlpart__remove-participant"}),e("nylas-page-name",{requirePageName:true,pageName:"Group events page"}),e("nylas-custom-event-slug",{name:"custom-event-slug",exportparts:"nces, nces__body, nces__header, nces__drawer-toggle--container, nces__input-textfield"}))}}}const be=':host{display:flex;flex-direction:column;overflow:visible;border-radius:var(--nylas-border-radius-2x);width:fit-content;background:var(--nylas-base-0);position:relative;box-shadow:0px 0px 6px -2px rgba(0, 0, 0, 0.05), 0px 5px 15px -3px rgba(0, 0, 0, 0.1);--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}:host nylas-notification{position:absolute;top:0;right:0}@media screen and (max-width: 768px){:host{width:-moz-available;width:-webkit-fill-available;width:fill-available;min-width:325px}}div.scheduler-editor-content{height:800px}@media screen and (max-width: 768px){div.scheduler-editor-content{height:auto}}div.scheduler-editor-content slot[name=login-required]{height:inherit}div.scheduler-editor-content--group{height:800px}@media screen and (max-width: 768px){div.scheduler-editor-content--group{height:auto}}div.scheduler-editor-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--nylas-base-200);color:var(--nylas-base-900);min-width:924px}@media screen and (max-width: 768px){div.scheduler-editor-header{width:auto;min-width:calc(325px - 1rem)}}div.scheduler-editor-header h1.scheduler-editor-title{display:flex;align-items:center;gap:0.5rem;margin:0;font-size:18px;line-height:24px;font-weight:600}div.scheduler-editor-header button{background:transparent;border:none;cursor:pointer;color:var(--nylas-base-900)}div.scheduler-editor-header button:hover,div.scheduler-editor-header button:active{color:var(--nylas-primary);background-color:transparent}div.scheduler-editor-header button:disabled{cursor:not-allowed}div.scheduler-editor-header div.language select-dropdown::part(sd_dropdown-button){border:none;padding:4px;margin-right:8px}div.scheduler-editor-header div.language select-dropdown::part(sd_dropdown-button):hover{outline:none;color:var(--nylas-primary)}div.scheduler-editor-header div.language select-dropdown::part(sd_dropdown-content){min-width:132px}@media screen and (max-width: 768px){div.scheduler-editor-header div.language select-dropdown::part(sd_dropdown-content){width:-webkit-fill-available;width:fill-available;width:-moz-available}}nylas-select-event-type{height:inherit;width:calc(924px + 2rem)}@media screen and (max-width: 768px){nylas-select-event-type{width:auto}}nylas-editor-tabs,nylas-editor-tabs-group{width:auto;height:inherit}nylas-editor-tabs .row,nylas-editor-tabs-group .row{display:flex;gap:1rem}nylas-editor-tabs .composable,nylas-editor-tabs-group .composable{height:inherit;overflow:auto}nylas-editor-tabs nylas-event-info div[slot=inputs],nylas-editor-tabs nylas-event-limits div[slot=inputs],nylas-editor-tabs-group nylas-event-info div[slot=inputs],nylas-editor-tabs-group nylas-event-limits div[slot=inputs]{display:flex;flex-direction:column;gap:1rem}.card{display:flex;flex-direction:column;padding:2rem;background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);border-radius:5px;color:var(--nylas-base-900);max-width:fit-content;align-self:center}.login-required{height:inherit;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;padding:2rem 1rem;background-color:var(--nylas-base-25);border-radius:var(--nylas-border-radius-2x)}.login-required .login-error-banner{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;margin-bottom:1rem;background-color:var(--nylas-error-50, #fef2f2);border:1px solid var(--nylas-error-200, #fecaca);border-radius:5px;color:var(--nylas-error-700, #b91c1c);font-size:0.875rem;line-height:1.25rem}.login-required .login-error-banner svg{flex-shrink:0;color:var(--nylas-error-500, #ef4444)}.login-required p{margin:0 0 1rem}.login-required .microsoft-button,.login-required .google-button{height:48px;border:1px solid var(--nylas-base-300);border-radius:var(--nylas-border-radius-2x);font-size:16px;line-height:24px;padding:0 1rem;background-color:var(--nylas-base-0);font-weight:600;cursor:pointer;display:flex;margin-bottom:1rem;background-color:var(--nylas-base-0);border:1px solid var(--nylas-base-200);border-radius:5px;justify-content:center;gap:0.5rem;align-items:center;color:var(--nylas-base-900)}.login-required .microsoft-button:hover,.login-required .google-button:hover{background-color:var(--nylas-base-25)}.login-required .microsoft-button:hover,.login-required .google-button:hover{background-color:var(--nylas-base-25)}.login-required .other-provider-button{height:48px;border:1px solid var(--nylas-base-300);border-radius:var(--nylas-border-radius-2x);font-size:16px;line-height:24px;padding:0 1rem;background-color:var(--nylas-base-0);font-weight:600;cursor:pointer;display:flex;border:0;background-color:var(--nylas-base-0);height:48px;margin-bottom:1rem;font-size:0.95rem;justify-content:center;gap:0.25rem;align-items:center;color:var(--nylas-base-900)}.login-required .other-provider-button:hover{background-color:var(--nylas-base-25)}.login-required .other-provider-button svg{transform:rotate(180deg)}.login-required .other-provider-button:hover{background-color:var(--nylas-base-25)}.login-required .disclaimer-text{font-size:0.75rem;color:var(--nylas-base-600);align-self:center}@media screen and (max-width: 768px){.login-required{height:auto}}.list-configurations{padding:2rem;height:inherit;background:var(--nylas-base-25);border-radius:var(--nylas-border-radius-2x)}.list-configurations nylas-list-configurations{height:inherit;display:flex;flex-direction:column}@media screen and (max-width: 768px){.list-configurations{height:auto;padding:2rem 1rem}}';const me=class{constructor(e){n(this,e);this.init=i(this,"init",7);this.loggedIn=i(this,"loggedIn",7);this.loggedOut=i(this,"loggedOut",7);this.schedulerConfigCloseClicked=i(this,"schedulerConfigCloseClicked",7);this.nylasSchedulerEditorError=i(this,"nylasSchedulerEditorError",6);this.eventOverrides={};this.schedulerPreviewLink="";this.mode="app";this.hideEditorTabs=[];this.requiresSlug=false;this.enableUserFeedback=true;this.nylasBranding=true;this.enableNotetaker=false;this.enableEventTypes={one_on_one:true,collective:true,max_fairness:true,max_availability:true,group:true};this.automaticComponentRegistration=true;this.selectedLanguage=this.defaultLanguage||y.en;this.langVersion=0;this.version=v;this.handleSchedulerConfigCloseClicked=e=>{const t=this.schedulerConfigCloseClicked.emit(this.host);if("schedulerConfigCloseClicked"in this.eventOverrides){this.eventOverrides.schedulerConfigCloseClicked(t,this.nylasSchedulerConfigConnector)}if(!t.defaultPrevented){localStorage.removeItem("grant");localStorage.removeItem("user");window.location.reload()}};this.authenticationUrl=async e=>{if(!this.nylasApiRequest){const e="Unable to authenticate. API request handler is not initialized.";p(`[nylas-scheduler-editor] ${e}`);this.authError=e;this.nylasSchedulerEditorError.emit({notification:{id:"auth-not-initialized",type:E.Error,title:"Authentication Error",category:_.Auth,description:e,ttl:"none"},host:this.host});return""}try{const t=await this.nylasApiRequest.authenticationUrl({provider:e});if(!t){const e="Unable to get authentication URL. Please check your configuration and try again.";this.authError=e;this.nylasSchedulerEditorError.emit({notification:{id:"auth-url-failed",type:E.Error,title:"Authentication Error",category:_.Auth,description:e,ttl:"none"},host:this.host})}return t||""}catch(e){const t=`Authentication failed: ${e instanceof Error?e.message:"Unknown error"}`;p(`[nylas-scheduler-editor] ${t}`);this.authError=t;this.nylasSchedulerEditorError.emit({notification:{id:"auth-url-exception",type:E.Error,title:"Authentication Error",category:_.Auth,description:t,ttl:"none"},host:this.host});return""}}}connectedCallback(){u(`[nylas-scheduler-editor] connectedCallback`);queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}async componentWillLoad(){u(`[nylas-scheduler-editor] componentWillLoad`);await Promise.resolve();const e=this.additionalParticipants?.filter((e=>{const t=e.calendars?.length>0?e.calendars.filter((e=>e.id&&e.name)):[];if(e.name&&e.email&&t.length>0){return{name:e.name,email:e.email,calendars:t}}}));this.stores={schedulerConfig:$({...this.defaultSchedulerConfigState,additionalParticipants:e||[],participantFetch:this.participantFetch,participantFetchGrantId:this.participantFetchGrantId,participantSearch:this.participantSearch,conferenceProviders:this.conferenceProviders,requiresSlug:this.requiresSlug,selectedLanguage:this.defaultLanguage||y.en,nylasBranding:this.nylasBranding,experimentalFeatures:this.experimentalFeatures,enableEventTypes:this.enableEventTypes,themeConfig:this.themeConfig})};if(!this.nylasApiRequest&&this.nylasSessionsConfig){const e=new le(this.nylasSessionsConfig);await e.isLoggedIn();e.onLoginSuccess((async()=>{const e=await(this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser());if(e){const t=this.loggedIn.emit(this.host);if("loggedIn"in this.eventOverrides){await this.eventOverrides.loggedIn(t,this.nylasSchedulerConfigConnector)}if(!t.defaultPrevented){await this.loggedInHandler(e)}}}));e.onLoginFail((async()=>{this.stores?.schedulerConfig?.set("currentUser",null);this.authError="Authentication failed. Please try again.";this.nylasSchedulerEditorError.emit({notification:{id:"auth-login-failed",type:E.Error,title:"Authentication Error",category:_.Auth,description:"Authentication failed. Please try again.",ttl:"none"},host:this.host});const e=this.loggedOut.emit(this.host);if("loggedOut"in this.eventOverrides){await this.eventOverrides.loggedOut(e,this.nylasSchedulerConfigConnector);if(e.defaultPrevented){return}}}));this.nylasApiRequest=new a(e)}if(this.nylasApiRequest&&this.defaultAuthArgs){this.nylasApiRequest.setDefaultAuthArgs(this.defaultAuthArgs)}this.baseProvider=new o(this.host,this.stores,this.automaticComponentRegistration,this.eventOverrides);const t=this.baseProvider.getStore("schedulerConfig");this.nylasSchedulerConfigConnector=new C({nylasApiRequest:this.nylasApiRequest,nylasSchedulerConfigStore:t});const n=this.init.emit(this.host);if("init"in this.eventOverrides){await this.eventOverrides.init(n,this.nylasSchedulerConfigConnector)}if(!n.defaultPrevented){const e=await(this.nylasSchedulerConfigConnector?.schedulerConfig?.currentUser());if(e){const t=this.loggedIn.emit(this.host);if("loggedIn"in this.eventOverrides){await this.eventOverrides.loggedIn(t,this.nylasSchedulerConfigConnector)}if(!t.defaultPrevented){await this.loggedInHandler(e)}}else{this.stores?.schedulerConfig?.set("currentUser",null);const e=this.loggedOut.emit(this.host);if("loggedOut"in this.eventOverrides){await this.eventOverrides.loggedOut(e,this.nylasSchedulerConfigConnector);if(e.defaultPrevented){return}}}}this.stores?.schedulerConfig?.onChange("selectedConfiguration",(async e=>{if(e&&e.id){this.configurationId=e.id}}));this.baseProvider?.componentWillLoad(this.nylasSchedulerConfigConnector);this.applyThemeConfig(this.themeConfig)}async componentDidLoad(){u(`[nylas-scheduler-editor] componentDidLoad`);await(this.baseProvider?.componentDidLoad());this.updateLocalization(this.localization);this.version=v}async componentDisconnected(){await(this.baseProvider?.componentDisconnected())}async configurationIdChanged(e){if(e){await(this.nylasSchedulerConfigConnector?.schedulerConfig?.getConfigurationById(e));this.stores?.schedulerConfig?.set("action","edit")}else{this.stores?.schedulerConfig?.set("selectedConfiguration",{});this.stores?.schedulerConfig?.set("action",null)}}participantPropsChanged(){this.stores?.schedulerConfig?.set("participantFetch",this.participantFetch);this.stores?.schedulerConfig?.set("participantFetchGrantId",this.participantFetchGrantId);this.stores?.schedulerConfig?.set("participantSearch",this.participantSearch)}updateLocalization(e){if(!e){return}Object.keys(e).forEach((t=>{if(!(t in y)){return}w.addResourceBundle(t,"translation",e[t],false,true)}));this.langVersion++}updateNylasBranding(e){this.stores?.schedulerConfig?.set("nylasBranding",e)}updateExperimentalFeatures(e){this.stores?.schedulerConfig?.set("experimentalFeatures",e)}updateEnableEventTypes(e){this.stores?.schedulerConfig?.set("enableEventTypes",e)}themeConfigChanged(e){this.baseProvider?.getStore("schedulerConfig")?.set("themeConfig",e);this.applyThemeConfig(e)}applyThemeConfig(e){if(e){for(const[t,n]of Object.entries(e)){this.host.style.setProperty(`${t}`,n)}}}async store(){return this.stores?.schedulerConfig}async schedulerConnector(){return this.nylasSchedulerConfigConnector}async registerComponentHandler(e){this.baseProvider?.registerComponent(e.detail)}async unregisterComponentHandler(e){this.baseProvider?.unregisterComponent(e.detail)}handleChildSchedulerError(e){this.nylasSchedulerEditorError.emit({notification:e.detail.notification,host:this.host})}nylasFormDropdownChangedHandler(e){const{name:t,value:n}=e.detail;if(t==="language"){this.selectedLanguage=y[n];w.changeLanguage(this.selectedLanguage);this.stores?.schedulerConfig?.set("selectedLanguage",this.selectedLanguage)}}async loggedInHandler(e){this.stores?.schedulerConfig?.set("currentUser",e);if(!this.nylasSchedulerConfigConnector){return}await(this.nylasSchedulerConfigConnector.schedulerConfig?.getCalendars());if(this.configurationId){const e=await(this.nylasSchedulerConfigConnector.schedulerConfig?.getConfigurationById(this.configurationId));if(e&&e[0]?.id){this.stores?.schedulerConfig?.set("action","edit")}}}render(){const t=this.host.querySelector('[slot="custom-page-style-inputs"]');const n=this.stores?.schedulerConfig?.state.selectedConfiguration?.id;const i=Object.keys(b).map((e=>({label:b[e],value:e})));const s=this.stores?.schedulerConfig?.state.selectedEventType===g.group||this.stores?.schedulerConfig?.state.selectedConfiguration?.type===g.group;u(`[nylas-scheduler-editor] render mode: ${this.mode}`);return e(r,{key:"bd34e24975197c26bf6e08430c8434c40441c367"},e("div",{key:"5c1bb57eb7dbd13f879dcbe7de251e6d8687c470",class:"scheduler-editor-header",part:"nse__header"},e("h1",{key:"ecf284b9c4c39129233c977b978d8069e448367e",class:"scheduler-editor-title",part:"nse__title"},e("calendar-icon",{key:"44b73dbff4441d72ceda5281f6bf07bfb2134dae",width:"18",height:"18"}),w.t("schedulerEditorTitle"),e("tooltip-component",{key:"bc20294846164811db22d185e52f50f848d59bd5"},e("info-icon",{key:"22955828856eae5f4f7e5d7d51e8e73f11f9805d",slot:"tooltip-icon"}),e("span",{key:"9178f588fa8ffe60865b8c6c632ec4dafd91a00d",slot:"tooltip-content"},this.version))),e("div",{key:"a67874094ff69226349d1ee0274e27da0da38ad6",class:{language:true},part:"nse__language"},e("select-dropdown",{key:"e47566a2f832d90baa93701afe8efea71476ecec",name:"language",searchPlaceholder:w.t("search"),options:i,withChevron:false,themeConfig:this.themeConfig,defaultSelectedOption:i.find((e=>e.value==this.selectedLanguage)),exportparts:"sd_dropdown: nse__language-dropdown, sd_dropdown-button: nse__language-drop-button, sd_dropdown-content: nse__language-drop-content, sd_dropdown_label: nse__language-drop-label"},e("span",{key:"1c7c9d93808786f7e4a1b5ecee414e289074366f",slot:"select-icon"},e("translate-icon",{key:"c9b8adee3195f4a50f0ed7c4929b972e59236558",width:"20",height:"20"})))),e("button",{key:"fe8c5481fbd2ac6da51fe1420caf973d79d01857",class:"scheduler-editor-close",title:"logout",onClick:e=>this.handleSchedulerConfigCloseClicked(e),part:"nse__close-button"},e("close-icon",{key:"ead618a2acc222ff1ec4ca9c552cd81a8c86a57f",width:"18",height:"18"}))),e("div",{key:"dffa964669c0b5ca0155ddd3b351a6bb164f7463",class:{"scheduler-editor-content":true,"scheduler-editor-content--group":s},part:"nse__content"},this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action===null&&this.mode==="composable"&&e("slot",{key:"bf58230869a3326fa9cf6ee8b7c18586cc41a074"}),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action===null&&this.mode!=="composable"&&e("div",{key:"edb06ecb33d8f3713da228d70fa72d3db2183235",class:"list-configurations",part:"nse__list-configurations"},e("nylas-list-configurations",{key:"ffdcd2304ce49e29aa74da69bad90af9d237a6e8",themeConfig:this.themeConfig,exportparts:"nlc__create-new-cta, actions__dropdown, actions__dropdown-button, actions__dropdown-content, actions-Copy, actions-Preview, actions-Delete"})),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action==="create-select"&&e("nylas-select-event-type",{key:"a5bff89ece1dd30afea1c014d162797bfa7d1df5",themeConfig:this.themeConfig}),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action==="create"&&s&&e("nylas-editor-tabs-group",{key:"08241ae21a7df72079cc49312b4272d2a8cd0b2a",mode:"composable",themeConfig:this.themeConfig},e(we,{key:"86d73811907bfe16c255642fb0755baa9766cf00",selectedEventType:this.stores?.schedulerConfig?.state?.selectedEventType||g.one_on_one,currentUser:this.stores?.schedulerConfig?.state.currentUser,calendars:this.stores?.schedulerConfig?.state?.calendars,selectedConfiguration:this.stores?.schedulerConfig?.state?.selectedConfiguration})),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action==="create"&&!s&&e("nylas-editor-tabs",{key:"5b85bf26f6243f723a1f0cad821d719cff3f776b",mode:"composable",enableNotetaker:this.enableNotetaker,themeConfig:this.themeConfig},e(we,{key:"5afa9f82b0cb0b495d26b134688c49d82743d7cf",selectedEventType:this.stores?.schedulerConfig?.state?.selectedEventType||g.one_on_one,currentUser:this.stores?.schedulerConfig?.state.currentUser,calendars:this.stores?.schedulerConfig?.state?.calendars,selectedConfiguration:this.stores?.schedulerConfig?.state?.selectedConfiguration})),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action==="edit"&&s&&e("nylas-editor-tabs-group",{key:n,mode:this.mode,themeConfig:this.themeConfig},this.mode==="composable"&&e("slot",{key:"6ec0c1b4daad2d875f8f3cdbb465eb0721133947"}),this.mode==="app"&&t&&e("div",{style:{display:"none"},slot:"custom-page-style-inputs",key:n},e("slot",{key:"b3c580772253a6a7d5dc3e7f8fd2be2f9a23f247",name:"custom-page-style-inputs"}))),this.stores?.schedulerConfig?.state.currentUser&&this.stores.schedulerConfig.state.action==="edit"&&!s&&e("nylas-editor-tabs",{key:n,mode:this.mode,enableNotetaker:this.enableNotetaker,themeConfig:this.themeConfig},this.mode==="composable"&&e("slot",{key:"48a71a45b5271485a4f136cb4afa52df94ee469b"}),this.mode==="app"&&t&&e("div",{style:{display:"none"},slot:"custom-page-style-inputs",key:n},e("slot",{key:"f81fede8cc3d3686056e5222798494fdc76d419f",name:"custom-page-style-inputs"}))),!this.stores?.schedulerConfig?.state.currentUser&&e("slot",{key:"968207fdadd383d6da1e8188d0960901e38e949d",name:"login-required"},e(ye,{key:"e0c275ef713bd4040c07083898918d1b8e39e171",authenticationUrl:this.authenticationUrl,authError:this.authError}))))}get host(){return s(this)}static get watchers(){return{configurationId:["configurationIdChanged"],participantFetch:["participantPropsChanged"],participantFetchGrantId:["participantPropsChanged"],participantSearch:["participantPropsChanged"],localization:["updateLocalization"],nylasBranding:["updateNylasBranding"],experimentalFeatures:["updateExperimentalFeatures"],enableEventTypes:["updateEnableEventTypes"],themeConfig:["themeConfigChanged"]}}};me.style=be;export{me as nylas_scheduler_editor};
11
- //# sourceMappingURL=p-ae86e7c6.entry.js.map
11
+ //# sourceMappingURL=p-ec243a08.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as n,c as t,a,H as s}from"./p-0EQQA0nE.js";import{i as o,a as l,Y as i,A as r,Z as c,_ as d,U as f,$ as p,a0 as y}from"./p-OpKyWV8q.js";import{R as h}from"./p-D8VJgipo.js";const b=".sc-checkmark-icon-h{display:flex}";const u=class{constructor(n){e(this,n);this.width="18";this.height="14"}render(){return n("svg",{key:"837a761634c38b9e386c69dca15eb6278e52d067",width:this.width,height:this.height,viewBox:"0 0 18 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"eebd8ecb9aa91605e1b7800faaa473b5f2125008",d:"M1.53033 7.46967C1.23744 7.17678 0.762563 7.17678 0.46967 7.46967C0.176777 7.76256 0.176777 8.23744 0.46967 8.53033L4.96967 13.0303C5.26256 13.3232 5.73744 13.3232 6.03033 13.0303L17.0303 2.03033C17.3232 1.73744 17.3232 1.26256 17.0303 0.96967C16.7374 0.676777 16.2626 0.676777 15.9697 0.96967L5.5 11.4393L1.53033 7.46967Z",fill:"#293056"}))}};u.style=b;const g=".sc-copy-icon-h{display:flex}";const m=class{constructor(n){e(this,n);this.width="16";this.height="16"}render(){return n("svg",{key:"f2b1d75a5c1ce38ce9f86b7ae222f1c0efe6fbef",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"18788a18102765d5e70dabc7d9d3467285cf3dc4",d:"M4 0.75C2.89543 0.75 2 1.64543 2 2.75V12.75C2 13.8546 2.89543 14.75 4 14.75H10C11.1046 14.75 12 13.8546 12 12.75V2.75C12 1.64543 11.1046 0.75 10 0.75H4ZM3 2.75C3 2.19772 3.44772 1.75 4 1.75H10C10.5523 1.75 11 2.19772 11 2.75V12.75C11 13.3023 10.5523 13.75 10 13.75H4C3.44772 13.75 3 13.3023 3 12.75V2.75ZM0 4.75001C0 4.00973 0.402199 3.36339 1 3.01758V13.25C1 14.6307 2.11929 15.75 3.5 15.75H9.73244C9.38663 16.3478 8.74028 16.75 8 16.75H3.5C1.567 16.75 0 15.183 0 13.25V4.75001Z",fill:"currentColor"}))}};m.style=g;const v=".sc-dragable-icon-h{display:flex}";const x=class{constructor(n){e(this,n);this.width="20";this.height="20"}render(){return n("svg",{key:"e41cf29a5afbf2963ada1cc32b88a423b1c861d7",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"26916fb6afc3b84bb9de1b6f2401359602671540",d:"M15.5 18C16.3284 18 17 18.6716 17 19.5C17 20.3284 16.3284 21 15.5 21C14.6716 21 14 20.3284 14 19.5C14 18.6716 14.6716 18 15.5 18ZM8.5 18C9.32843 18 10 18.6716 10 19.5C10 20.3284 9.32843 21 8.5 21C7.67157 21 7 20.3284 7 19.5C7 18.6716 7.67157 18 8.5 18ZM15.5 11C16.3284 11 17 11.6716 17 12.5C17 13.3284 16.3284 14 15.5 14C14.6716 14 14 13.3284 14 12.5C14 11.6716 14.6716 11 15.5 11ZM8.5 11C9.32843 11 10 11.6716 10 12.5C10 13.3284 9.32843 14 8.5 14C7.67157 14 7 13.3284 7 12.5C7 11.6716 7.67157 11 8.5 11ZM15.5 4C16.3284 4 17 4.67157 17 5.5C17 6.32843 16.3284 7 15.5 7C14.6716 7 14 6.32843 14 5.5C14 4.67157 14.6716 4 15.5 4ZM8.5 4C9.32843 4 10 4.67157 10 5.5C10 6.32843 9.32843 7 8.5 7C7.67157 7 7 6.32843 7 5.5C7 4.67157 7.67157 4 8.5 4Z",fill:"currentColor"}))}};x.style=v;const k=".sc-eye-icon-h{display:flex}";const w=class{constructor(n){e(this,n);this.width="17";this.height="10"}render(){return n("svg",{key:"361fe4fa26c940fe23a4766d709d9c6fecf2f12b",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"66adc870808a272e780d7af26770058c8d2c80aa",d:"M1.75909 6.60214C2.44254 3.32689 5.29437 1 8.50002 1C11.7057 1 14.5574 3.32688 15.2409 6.60215C15.2974 6.87246 15.5622 7.04587 15.8325 6.98946C16.1029 6.93304 16.2763 6.66817 16.2199 6.39785C15.4425 2.67312 12.1934 0 8.50002 0C4.8066 0 1.55742 2.67311 0.780175 6.39786C0.723767 6.66818 0.897177 6.93305 1.1675 6.98946C1.43782 7.04587 1.70268 6.87246 1.75909 6.60214ZM8.5 3C6.567 3 5 4.567 5 6.5C5 8.433 6.567 10 8.5 10C10.433 10 12 8.433 12 6.5C12 4.567 10.433 3 8.5 3ZM6 6.5C6 5.11929 7.11929 4 8.5 4C9.88071 4 11 5.11929 11 6.5C11 7.88071 9.88071 9 8.5 9C7.11929 9 6 7.88071 6 6.5Z",fill:"currentColor"}))}};w.style=k;const C=".sc-feedback-icon-h{display:flex}";const _=class{constructor(n){e(this,n);this.width="11";this.height="14"}render(){return n("svg",{key:"69bdddc8bbc71756becbef85dc11efc27db41d08",width:this.width,height:this.height,fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"6b4c0cb8ba88e05e11f9c6306be85d17e0c47dc2",d:"M0.5 8.875C0.5 8.875 1.125 8.25 3 8.25C4.875 8.25 6.125 9.5 8 9.5C9.875 9.5 10.5 8.875 10.5 8.875V1.375C10.5 1.375 9.875 2 8 2C6.125 2 4.875 0.75 3 0.75C1.125 0.75 0.5 1.375 0.5 1.375V8.875ZM0.5 8.875V13.25",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"}))}};_.style=C;const L=':host{display:block;position:relative;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff;width:100%}@media screen and (max-width: 768px){:host{position:unset}}label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;word-break:break-word;overflow-wrap:break-word;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);font-size:16px;color:var(--nylas-base-800)}label.error{color:var(--nylas-error)}label span.required{color:var(--nylas-error);padding:0 0.25rem}label p{margin:0}label .error{color:var(--nylas-error)}.color-picker-container{display:flex;height:48px;padding-left:16px;align-items:center;gap:8px;align-self:stretch;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:400;line-height:150%;width:-moz-available;width:-webkit-fill-available;padding-left:0;gap:0;overflow:hidden}.color-picker-container:focus{outline-color:var(--nylas-primary)}.color-picker-container.error{border-radius:var(--nylas-border-radius-2x);font-weight:600;border-color:var(--nylas-error);border-width:2px}.color-picker-container.error::placeholder{font-weight:400}.color-picker-container::placeholder{color:var(--nylas-base-300)}.color-picker-container input{display:flex;align-items:center;height:100%;appearance:none;border:none;border-right:1px solid var(--nylas-base-200);background:transparent}.color-picker-container input::-webkit-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container input::-moz-color-swatch{min-width:30px;border-radius:0.25rem;border:1px solid var(--nylas-base-200);margin:0.25rem}.color-picker-container.error{border:1px solid var(--nylas-error)}.color-picker-container:hover,.color-picker-container:active{outline:1px solid var(--nylas-primary)}.color-picker-container:active{outline:2px solid var(--nylas-primary)}.color-picker-container label{width:100%}.labelBtn{color:var(--nylas-base-800);padding:14px;font-size:16px;font-family:var(--nylas-font-family);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:0.5rem;background:transparent;border:none}.labelBtn.error{border:1px solid var(--nylas-error)}.labelBtn.focus{background:transparent}.labelBtn:hover,.labelBtn:active{outline:1px solid var(--nylas-primary)}.labelBtn span.chevron{display:flex;align-self:center}.labelBtn span.open{transform:rotate(90deg)}.labelBtn span.closed{transform:rotate(270deg)}.labelBtn span.selected-option{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:144px;font-size:14px;line-height:20px}@media screen and (max-width: 768px){.labelBtn span.selected-option{max-width:124px;font-size:16px}}';const H=class{constructor(n){e(this,n);this.nylasFormDropdownChanged=t(this,"nylasFormDropdownChanged",7);this.componentType="color-picker";this.selectedColor=this.defaultSelectedColor;this.isOpen=false;this.ariaActivedescendant="";this.errorMessage="";this.currentLanguage=o.language;this.languageChangedHandler=e=>{this.currentLanguage=e}}connectedCallback(){o.on("languageChanged",this.languageChangedHandler)}disconnectedCallback(){o.off("languageChanged",this.languageChangedHandler)}componentWillLoad(){this.selectedColor=this.defaultSelectedColor;this.el.setAttribute("component-type",this.componentType)}handleFocus(){this.isOpen=true}handleBlur(){this.isOpen=false}handleInput(e){this.selectedColor=e.target.value}handleChange(e){this.selectedColor=e.target.value;this.nylasFormDropdownChanged.emit({value:this.selectedColor,name:this.name,error:this.errorMessage})}handleKeyDown(e){if(e.code==="Enter"||e.code==="Space"){e.preventDefault();this.inputRef?.click()}}handleOutsideClick(e){const n=e.composedPath();const t=n.includes(this.el);if(!t&&this.isOpen){this.isOpen=false}}render(){return n("div",{key:"4b096fb280524883192fca6ac1a1c6b5b99c8a3b",class:"color-picker-container",part:"icp_color-picker",tabindex:"0",onKeyDown:e=>this.handleKeyDown(e)},n("input",{key:"76b8a2488eff84c9098f38eb024f8ad73686ad89",type:"color",ref:e=>this.inputRef=e,id:this.name,name:this.name,value:this.selectedColor,tabindex:"-1",onFocus:()=>this.handleFocus(),onBlur:()=>this.handleBlur(),onInput:e=>this.handleInput(e),onChange:e=>this.handleChange(e),onKeyDown:e=>this.handleKeyDown(e)}),n("label",{key:"e7d72339ae088211580e27cca9706df41bdf39b1",part:"icp_color-picker-button",htmlFor:this.name,class:{labelBtn:true,open:this.isOpen,error:!!this.errorMessage},"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false","aria-label":this.name},n("span",{key:"4d94a10ee82e0b9d7a66db5101f5680ada1974ea",class:"selected-option",part:"icp_color-picker-button-selected-label","data-lang":this.currentLanguage},this.selectedColor||o.t("nylasPageStyling.selectAColor")),n("span",{key:"117d51a0d01b21037203f69fd3b8024d83183cc0",class:{open:this.isOpen,closed:!this.isOpen,chevron:true},"aria-hidden":"true"},n("chevron-icon",{key:"06f142cddd9cc8d4db0cefdf185e1f72c3860c72",width:"16",height:"16"})),this.errorMessage&&n("span",{key:"1a212662e0f4aa862183556f7c2457ed19023755",class:"error help-text"},this.errorMessage)))}get el(){return a(this)}};H.style=L;const T=':host{display:block;margin:1rem;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-additional-participants__title{color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:600;line-height:20px;margin:0;text-align:left}.nylas-additional-participants__subtitle{color:var(--nylas-base-600);font-size:14px;font-style:normal;font-weight:400;line-height:20px;margin:0.25rem 0px 0px;text-align:left}.nylas-additional-participants__content{padding:1rem;display:flex;flex-direction:column;gap:1rem;background-color:var(--nylas-base-25)}.nylas-additional-participants__input_group{padding-top:8px;display:flex;flex-direction:column;gap:4px}.nylas-additional-participants__input_group label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.nylas-additional-participants__input_group label span.org-as-participant{width:max-content}.nylas-additional-participants__error{color:var(--nylas-error);font-size:14px;font-family:var(--nylas-font-family);font-weight:400;line-height:16px;margin:0;text-align:left}.nylas-additional-participants__input_wrapper{display:flex;align-items:center;min-height:48px;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-300)}.nylas-additional-participants__input_wrapper.error{border-color:var(--nylas-error)}.nylas-additional-participants__input_wrapper button{flex-shrink:0;padding:12px;border:none;border-left:1px solid var(--nylas-base-300);background:none;cursor:pointer;color:var(--nylas-base-800)}.nylas-additional-participants__input_wrapper button:hover,.nylas-additional-participants__input_wrapper button:active{color:var(--nylas-primary)}.nylas-additional-participants__input_wrapper_organizer{border:none}.nylas-additional-participants__input{flex:1;display:flex;align-items:center;justify-content:space-between;min-height:48px}.nylas-additional-participants__input input{border:none;outline:none;background:none;width:100%}.nylas-additional-participants__input .nylas-additional-participants__input-with-loading{position:relative;width:100%}.nylas-additional-participants__input .nylas-additional-participants__loading{position:absolute;right:48px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--nylas-base-500)}.nylas-additional-participants__input input-dropdown{width:100%}.nylas-additional-participants__input input-dropdown::part(id_dropdown){width:100%;height:100%}.nylas-additional-participants__input input-dropdown::part(id_dropdown-input){min-height:48px;box-sizing:border-box;border-radius:var(--nylas-border-radius-2x);border:none;outline:none;border-top-right-radius:initial;border-bottom-right-radius:initial;padding-left:16px}.nylas-additional-participants__input input-dropdown::part(id_dropdown-content){width:100%;max-width:none;box-sizing:border-box}.nylas-additional-participants__input input-component::part(ic__input){background:var(--nylas-base-50)}.nylas-additional-participants__input input-component::part(ic__label){font-size:14px}.nylas-additional-participants__input input-component div.required-input{display:flex;gap:4px}.nylas-additional-participants__input input-component div.required-input label{display:flex;gap:4px;align-items:center}.nylas-additional-participants__input input-component div.required-input label tooltip-component#organizer_participant_tooltip::part(tc__content){left:-84px}.nylas-additional-participants__add{padding:12px;display:flex;align-items:center;border:none;background:none;cursor:pointer;color:var(--nylas-base-800)}.nylas-additional-participants__add span{padding:0 8px;font-size:16px;font-style:normal;font-weight:500}.nylas-additional-participants__add:hover,.nylas-additional-participants__add:active{color:var(--nylas-primary)}';var z=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var E=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const O=class{constructor(n){e(this,n);this.valueChanged=t(this,"valueChanged",7);this.participantSearchResultSelected=t(this,"participantSearchResultSelected",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="participants";this.participants=this.eventParticipants??[];this.participantErrors={};this.includeOrganizerAsParticipant=true;this.isRoundRobinConfig=false;this.error="";this.requiredError="";this.patternError="";this.participantSearchResults=[];this.participantSearchLoading=false;this.activeSearchInputIndex=null;this.PARTICIPANT_SEARCH_DEBOUNCE_MS=300}elementNameChangedHandler(e){l("nylas-additional-participants","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedConfigurationAndCurrentUserChangedHandler(e,n,t){l("nylas-additional-participants","selectedConfigurationAndCurrentUserChangedHandler",e,this.currentUser);if(t==="selectedConfiguration"){this.updateState(e,this.currentUser,false)}else if(t==="currentUser"){this.updateState(this.selectedConfiguration,e,false)}}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e);this.requiredError=o.t("fieldRequired",{field:o.t("email")});this.patternError=o.t("invalidInputFormat",{field:o.t("email")});if(this.error){this.error=o.t("nylasAdditionalParticipants.error")}}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}connectedCallback(){l("nylas-additional-participants","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}componentWillLoad(){l("nylas-additional-participants","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){l("nylas-additional-participants","componentDidLoad");if(this.selectedConfiguration){this.updateState(this.selectedConfiguration,this.currentUser,false)}else if(this.eventParticipants){this.participants=this.eventParticipants||[];this.isRoundRobinConfig=this.roundRobinConfig||false;this.updateFormValue(true)}}disconnectedCallback(){l("nylas-additional-participants","disconnectedCallback")}updateState(e,n,t=true){this.isRoundRobinConfig=e?.availability?.availability_rules?.availability_method?e?.availability?.availability_rules?.availability_method!=="collective":false;const a=e?.participants||this.eventParticipants||[];this.participants=a.map((e=>{if(this.isRoundRobinConfig&&n?.email&&e.email===n.email){return{...e,is_organizer:true}}return{...e}}));this.includeOrganizerAsParticipant=this.isRoundRobinConfig&&this.participants.find((e=>e.email===n?.email))?true:false;this.updateOrganizerAsParticipant(t)}get isInternalsAvailable(){return this.internals!==undefined&&typeof this.internals.setFormValue==="function"&&typeof this.internals.setValidity==="function"}getParticipantLookupSources(){const e=this.participantOptions||[];const n=this.participantSearchResults||[];const t=new Set;return[...n,...e].filter((e=>{if(t.has(e.email))return false;t.add(e.email);return true}))}getDropdownOptions(e){const n=this.participantSearch?this.getParticipantLookupSources():this.participantOptions||[];return this.getArrayDifference(n,this.participants,e)}async runParticipantSearch(e,n){if(!this.participantSearch||!e.trim()){this.participantSearchResults=[];this.participantSearchLoading=false;return}this.activeSearchInputIndex=n;this.participantSearchLoading=true;this.participantSearchResults=[];try{const t=await this.participantSearch(e.trim());if(this.activeSearchInputIndex===n){this.participantSearchResults=t||[]}}catch(e){l("nylas-additional-participants","participantSearch failed",e)}finally{if(this.activeSearchInputIndex===n){this.participantSearchLoading=false}}}onInputOptionChanged(e){l("nylas-additional-participants","onInputOptionChanged");const n=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;const t=e.detail.name;const a=e.detail.value;const s=this.getParticipantLookupSources();const i=s.find((e=>e.email===a));if(this.participantSearch&&a){clearTimeout(this.participantSearchDebounceTimer);if(i){const e=this.participantOptions?.some((e=>e.email===i.email));if(!e){this.participantSearchResultSelected.emit(i)}}else{this.participantSearchDebounceTimer=setTimeout((()=>{this.runParticipantSearch(a,parseInt(String(t),10))}),this.PARTICIPANT_SEARCH_DEBOUNCE_MS)}}this.participants[t].email=a;if(a){const e=this.participants.findIndex(((e,n)=>n!==parseInt(String(t),10)&&e.email===a));if(e!==-1){this.isInternalsAvailable&&this.internals.setValidity({customError:true},o.t("nylasAdditionalParticipants.error_duplicate"));this.participantErrors[t]=o.t("nylasAdditionalParticipants.error_duplicate");this.participants[t].is_valid=false;this.participants=[...this.participants];return}}if(!i&&this.isRoundRobinConfig){this.isInternalsAvailable&&this.internals.setValidity({customError:true},"For round robin configuration, participant should be selected from the dropdown.");this.participantErrors[t]="For round robin page, participant should be selected from the dropdown.";this.participants[t].is_valid=false;this.participants=[...this.participants];return}else if(!i&&!n.test(a)){if(this.participantSearch&&(this.participantSearchLoading||!a.includes("@"))){this.participants=[...this.participants];return}this.isInternalsAvailable&&this.internals.setValidity({customError:true},o.t("nylasAdditionalParticipants.error_email"));this.participantErrors[t]=o.t("nylasAdditionalParticipants.error_email");this.participants[t].is_valid=false;this.participants=[...this.participants];return}else{this.participantErrors[t]="";this.participants[t].is_valid=true;this.isInternalsAvailable&&this.internals.setValidity({})}const r=i?.calendars?.find((e=>e.is_primary));this.participants[t].availability=i&&r?.id?{calendar_ids:[r.id]}:i?.calendars[0]?.id?{calendar_ids:[i.calendars[0].id]}:undefined;this.participants[t].booking=i&&this.isRoundRobinConfig&&r?.id?{calendar_id:r.id}:this.isRoundRobinConfig&&i?.calendars[0]?.id?{calendar_id:i.calendars[0].id}:undefined;this.participants[t].name=i?.name||a;if(i?.grant_id){this.participants[t].grant_id=i.grant_id}this.participants=[...this.participants];this.updateFormValue()}updateOrganizerAsParticipant(e=true){const n=this.participants.find((e=>e.email===this.currentUser?.email));if(this.isRoundRobinConfig&&!n&&this.currentUser?.email){const e=this.currentUserCalendars?.find((e=>e.is_primary))?.id||this.currentUserCalendars?.[0]?.id||"primary";this.participants=[{name:this.currentUser?.name,email:this.currentUser?.email,is_organizer:true,availability:{calendar_ids:[e]},booking:{calendar_id:e}},...this.participants]}this.updateFormValue(e)}addParticipant(){l("nylas-additional-participants","addParticipant");this.participants=[...this.participants,{name:"",email:"",is_organizer:false}];this.updateFormValue()}removeParticipant(e){l("nylas-additional-participants","removeParticipant");this.participants=this.participants.filter(((n,t)=>t!==e));this.updateFormValue()}updateFormValue(e=true){l("nylas-additional-participants","updateFormValue");const n=this.isRoundRobinConfig?this.includeOrganizerAsParticipant?this.participants:this.participants.filter((e=>!e.is_organizer)):this.participants;if(n.length===0){this.error=o.t("nylasAdditionalParticipants.error");this.isInternalsAvailable&&this.internals.setValidity({customError:true},this.error)}else{this.isInternalsAvailable&&this.internals.setValidity({});this.error="";this.isInternalsAvailable&&this.internals.setFormValue(JSON.stringify(n),this.name);if(e){this.valueChanged.emit({value:JSON.stringify(n),name:this.name})}}}getArrayDifference(e,n,t){const a=e.filter((e=>!n.some(((n,a)=>a!==t&&e.email===n.email))));return a.map((e=>({value:e.email,label:e.email})))}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}render(){return n(s,{part:"nadtnlpart"},n("nylas-form-card",{exportparts:"nfc, nfc__header",themeConfig:this.themeConfig},n("h3",{slot:"header-title",class:"nylas-additional-participants__title",part:"nadtnlpart__title"},o.t("nylasAdditionalParticipants.headerTitle")),n("p",{slot:"header-subtitle",class:"nylas-additional-participants__subtitle",part:"nadtnlpart__subtitle"},o.t("nylasAdditionalParticipants.headerSubTitle")),n("div",{slot:"content",class:"nylas-additional-participants__content",part:"nadtnlpart__content"},n("div",null,this.participants.map(((e,t)=>n("div",{class:"nylas-additional-participants__input_group",part:"nadtnlpart__input_group"},!e.is_organizer&&n("label",null,`${o.t("nylasAdditionalParticipants.participant")} ${t}`),n("div",{part:"nadtnlpart__input_wrapper",class:{"nylas-additional-participants__input_wrapper":true,"nylas-additional-participants__input_wrapper_organizer":e?.is_organizer===true,"nylas-additional-participants__input_wrapper_invalid":e.is_valid===false,error:e.is_valid===false}},n("div",{class:{"nylas-additional-participants__input":true,organizer:e?.is_organizer===true},part:"nadtnlpart__input"},e.is_organizer?n("input-component",{class:"label-input",name:`${t}`,key:t,label:o.t("nylasAdditionalParticipants.organizer"),required:false,requiredError:this.requiredError,patternError:this.patternError,readOnly:e.is_organizer,defaultValue:e.email,themeConfig:this.themeConfig},this.isRoundRobinConfig&&n("div",{class:"required-input",slot:"additional-input"},n("input",{type:"checkbox",name:`organizer_participant`,id:`organizer_participant`,onClick:()=>{this.includeOrganizerAsParticipant=!this.includeOrganizerAsParticipant;this.updateFormValue()},checked:this.includeOrganizerAsParticipant}),n("label",{htmlFor:`organizer_participant`,"aria-label":"Include as participant"},n("span",{class:"org-as-participant",part:"nadtnlpart__org-as-participant"},o.t("nylasAdditionalParticipants.organizerAsParticipant")),n("tooltip-component",{id:"organizer_participant_tooltip"},n("info-icon",{slot:"tooltip-icon"}),n("span",{slot:"tooltip-content"},n("strong",null,o.t("nylasAdditionalParticipants.tooltip.includeOrganizer"),":")," ",o.t("nylasAdditionalParticipants.tooltip.includeOrganizerDesc")," ",n("br",null),n("strong",null,o.t("nylasAdditionalParticipants.tooltip.excludeOrganizer"),":")," ",o.t("nylasAdditionalParticipants.tooltip.excludeOrganizerDesc")))))):n("div",{class:"nylas-additional-participants__input-with-loading"},n("input-dropdown",{id:`${t}`,name:`${t}`,filterable:!this.participantSearch,inputValue:e.email,options:this.getDropdownOptions(t),noResultsText:this.participantSearch&&!this.participantSearchLoading&&this.activeSearchInputIndex===t&&e.email?.trim()&&this.getDropdownOptions(t).length===0?o.t("nylasAdditionalParticipants.noResults"):undefined,themeConfig:this.themeConfig}),this.participantSearch&&this.participantSearchLoading&&this.activeSearchInputIndex===t&&n("span",{class:"nylas-additional-participants__loading",part:"nadtnlpart__loading","aria-live":"polite"},o.t("nylasAdditionalParticipants.searching"))),!e.is_organizer&&n("button",{onClick:()=>this.removeParticipant(t),part:"nadtnlpart__remove-participant"},n("close-icon",null)))),!e.is_valid&&n("p",{class:"nylas-additional-participants__error",part:"nadtnlpart__error"},this.participantErrors[t])))),n("p",{class:"nylas-additional-participants__error",part:"nadtnlpart__error"},this.error)),n("button",{class:"nylas-additional-participants__add",part:"nadtnlpart__add-participant",onClick:()=>this.addParticipant()},n("add-circle-icon",null)," ",n("span",null,this.participants.length>1?o.t("nylasAdditionalParticipants.addParticipant",{context:"next"}):o.t("nylasAdditionalParticipants.addParticipant",{context:"first"}))))))}static get formAssociated(){return true}get host(){return a(this)}static get watchers(){return{name:["elementNameChangedHandler"],currentUser:["selectedConfigurationAndCurrentUserChangedHandler"],selectedConfiguration:["selectedConfigurationAndCurrentUserChangedHandler"],selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};z([h({name:"nylas-additional-participants",stateToProps:new Map([["schedulerConfig.additionalParticipants","participantOptions"],["schedulerConfig.participantSearch","participantSearch"],["schedulerConfig.selectedConfiguration","selectedConfiguration"],["schedulerConfig.currentUser","currentUser"],["schedulerConfig.calendars","currentUserCalendars"],["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{participantSearchResultSelected:async(e,n)=>{const t=e.detail;if(!t?.email)return;const a=n.schedulerConfigStore;const s=a.state.additionalParticipants||[];if(s.some((e=>e.email===t.email)))return;a.set("additionalParticipants",[...s,t])}},fireRegisterEvent:true}),E("design:type",Function),E("design:paramtypes",[]),E("design:returntype",void 0)],O.prototype,"render",null);O.style=T;const P=':host{display:block;height:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff;width:100%}.nylas-event-description{display:flex;flex-direction:column;gap:4px;position:relative;color:var(--nylas-base-900)}.nylas-event-description label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;word-break:break-word;overflow-wrap:break-word;flex-direction:column;gap:4px;font-family:var(--nylas-font-family)}.nylas-event-description label.error{color:var(--nylas-error)}.nylas-event-description label span.required{color:var(--nylas-error);padding:0 0.25rem}.nylas-event-description label p{margin:0;display:flex;align-items:center}.nylas-event-description label span.label-icon{margin-left:4px}.nylas-event-description label span.label-icon tooltip-component{display:flex}.nylas-event-description textarea{padding:12px 16px;border-width:1;resize:vertical;border-radius:8px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px;border:1px solid var(--nylas-base-200)}.nylas-event-description textarea::-webkit-resizer{display:none}.nylas-event-description div.event-description{border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;min-height:50px;padding:12px 16px;overflow-y:auto;white-space:pre-wrap;line-height:1.5;scrollbar-width:thin;color:var(--nylas-base-900);font-family:var(--nylas-font-family);font-size:16px;font-style:normal;font-weight:400;-webkit-text-fill-color:var(--nylas-base-900);display:block;}.nylas-event-description div.event-description::-webkit-scrollbar{width:6px;height:6px}.nylas-event-description div.event-description:focus{color:var(--nylas-base-900);-webkit-text-fill-color:var(--nylas-base-900);outline:2px solid var(--nylas-primary);outline-offset:2px}.nylas-event-description div.event-description:focus-visible{color:var(--nylas-base-900);-webkit-text-fill-color:var(--nylas-base-900);outline:2px solid var(--nylas-primary);outline-offset:2px}.nylas-event-description div.event-description.error{border-color:var(--nylas-error);border-width:2px}.nylas-event-description span.add-additional-fields{display:flex;align-items:center;gap:8px}.nylas-event-description span.add-additional-fields button-component button{height:35px;background-color:var(--nylas-base-0)}.nylas-event-description span.help-text{display:inline-flex;align-items:center;gap:4px;color:var(--nylas-base-500);font-size:14px;font-style:normal;font-weight:400;line-height:21px;position:relative}.nylas-event-description span.help-text span.label-icon{display:inline-flex;align-items:center;flex-shrink:0}.nylas-event-description span.help-text span.label-icon tooltip-component{display:flex}.nylas-event-description span.help-text span.label-icon tooltip-component::part(tc__container){position:unset}.nylas-event-description span.help-text span.label-icon tooltip-component::part(tc__content){position:absolute;top:4px;left:50%;transform:translateX(-50%)}.nylas-event-description .highlighted-tag{background-color:var(--nylas-base-200);border-radius:var(--nylas-border-radius);padding:2px 5px;margin-left:4px;margin-bottom:4px;display:inline-block;vertical-align:baseline}.nylas-event-description .token-options{display:block;background-color:var(--nylas-base-0);width:100%;max-height:336px;margin-top:28px;overflow:auto;z-index:1;border-radius:4px;position:absolute;bottom:108px;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}@media screen and (max-width: 768px){.nylas-event-description .token-options{right:0;width:325px;max-width:unset}}.nylas-event-description .token-options ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px;margin:0}.nylas-event-description .token-options ul li{padding:16px, 12px, 16px, 12px;color:var(--nylas-base-900);padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.nylas-event-description .token-options ul li .token-label{display:flex;flex-direction:column;font-weight:400}.nylas-event-description .token-options ul li .token-label .token{color:var(--nylas-abse-900);font-size:16px;line-height:24px}.nylas-event-description .token-options ul li .token-label .description{color:var(--nylas-base-600);font-size:14px;line-height:21px}.nylas-event-description .token-options ul li:hover,.nylas-event-description .token-options ul li:focus,.nylas-event-description .token-options ul li:active,.nylas-event-description .token-options ul li.active{background-color:var(--nylas-base-100)}.nylas-event-description .token-options ul li:hover .token-label .token,.nylas-event-description .token-options ul li:focus .token-label .token,.nylas-event-description .token-options ul li:active .token-label .token,.nylas-event-description .token-options ul li.active .token-label .token{color:var(--nylas-primary)}.nylas-event-description .token-options .selected{background-color:var(--nylas-base-100)}';var $=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var M=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const R=class{constructor(n){e(this,n);this.valueChanged=t(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.eventDescription=this.selectedConfiguration?.event_booking?.description;this.name="description";this.hideAutoPopulateButton=false;this.noTemplates=false;this.description=this.eventDescription||this.selectedConfiguration?.event_booking?.description||"";this.showTokens=false;this.availableTokens=i.map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=this.availableTokens;this.ariaActivedescendant="";this.currentWord={$value:"",fullText:"",index:-1,focusOffset:-1};this.validationError="";this.additionalFieldTokens=[]}elementNameChangedHandler(e){l("nylas-event-description","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedConfigurationChangedHandler(e){l("nylas-custom-booking-flow","selectedConfigurationChangedHandler",e);const n=e?.event_booking?.description||this.eventDescription||"";const t=e?.scheduler?.additional_fields||{};const a=Object.keys(t)||[];const s=a.map((e=>({token:`$${e}`,value:`\${${e}}`,description:t[e].label||""})));this.additionalFieldTokens=[...s];this.availableTokens=[...i,...s].map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=[...this.availableTokens];this.description=n;if(n){this.updateEventDescriptionFromProp(n)}}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e);const t={$invitee:"invitee",$invitee_email:"inviteeEmail",$duration:"duration"};this.availableTokens=this.availableTokens.map((e=>{if(t[e.label]){e.labelHTML.description=o.t(`nylasEventTitle.eventTitleTokenDescription.${t[e.label]}`)}return e}));this.filteredTokens=[...this.availableTokens]}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}connectedCallback(){l("nylas-event-description","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}componentWillLoad(){l("nylas-event-description","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){l("nylas-event-description","componentDidLoad");if(this.selectedConfiguration){this.selectedConfigurationChangedHandler(this.selectedConfiguration)}else{this.description=this.eventDescription||"";this.updateEventDescriptionFromProp(this.description)}}disconnectedCallback(){l("nylas-event-description","disconnectedCallback")}valueChangedHandler(e){const{name:n,value:t}=e.detail;if(n==="additional-fields"){const e=JSON.parse(t.toString());const n=Object.keys(e)||[];const a=n.map((n=>({token:`$${n}`,value:`\${${n}}`,description:e[n].label||""})));this.additionalFieldTokens=[...a];this.availableTokens=[...i,...a].map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=[...this.availableTokens]}}updateEventDescriptionFromProp(e){l("nylas-event-description","updateEventDescriptionFromProp",e);const n=e||this.description;if(this.descriptionRef){this.descriptionRef.innerHTML=this.highlightTokens(n)}}highlightTokens(e){let n=e;[...i,...this.additionalFieldTokens].forEach((e=>{const t=e.value;const a=new RegExp(`(\\${t})(?!\\w)`,"g");n=n?.replace(a,'<span class="highlighted-tag">$1</span>')||""}));return n}getCurrentSelectionForBrowser(){const e=(e,n,t,a)=>{const s=e.replace(/[\u200B-\u200D\uFEFF]/g,"");const o=s.lastIndexOf("$");const l=s.substring(o).split(" ")[0];return{focusOffset:n,dollarIndex:o,lastWord:l,currentText:s,node:t,allSelected:a}};const n=e=>e.anchorOffset===0&&e.focusOffset===e.focusNode?.nodeValue?.length;const t=d();switch(t){case"Edge (Chromium)":case"Chrome":{const t=this.host.shadowRoot?.getSelection();const a=t?.focusNode;const s=a?.nodeValue||"";const o=t&&n(t);return e(s,t?.focusOffset||-1,a,o)}case"Firefox":{const t=document.getSelection();const a=t?.anchorNode?.nodeValue||"";const s=t&&n(t);return e(a,t?.focusOffset||-1,t?.anchorNode,s)}case"Safari":{const t=window.getSelection();const a=t?.getComposedRanges(this.host.shadowRoot)[0];const s=a?.startContainer?.nodeValue||"";const o=t&&n(t);return e(s,a?.endOffset||-1,a?.startContainer,o)}default:{l("Browser not supported");return null}}}handleChange(e){let n=e.target.textContent||"";n=r(n);const t=this.getCurrentSelectionForBrowser();if(!t){this.updateEventDescription(n);this.resetDropdown();return}const{focusOffset:a,dollarIndex:s,lastWord:o,currentText:l}=t;if(s===-1||a<s){this.updateEventDescription(n);this.resetDropdown();return}if(o.startsWith("$")){this.showTokens=true;this.currentWord={$value:o,fullText:l,index:s,focusOffset:a};this.populateSuggestionsDropdown(o)}else{this.resetDropdown()}this.updateEventDescription(n)}handleInputKeyDown(e){const n=this.getCurrentSelectionForBrowser();if(n?.allSelected&&!c(e)){this.descriptionRef.innerHTML=""}if(e.key==="Enter"){e.preventDefault();const t=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(t){t.click();this.ariaActivedescendant=""}else{const e=n?.node;const t=n?.focusOffset||0;if(!e||t===-1||this.descriptionRef.childNodes.length===0){const e=document.createTextNode("\n");this.descriptionRef.insertBefore(e,this.descriptionRef.firstChild);const n=document.createRange();n.setStart(e,1);n.collapse(true);const t=window.getSelection();t?.removeAllRanges();t?.addRange(n)}else if(e.nodeType===Node.TEXT_NODE){const n=e.nodeValue||"";const a=n.slice(0,t)+"\n"+n.slice(t);e.nodeValue=a;const s=document.createRange();s.setStart(e,t+1);s.collapse(true);const o=window.getSelection();o?.removeAllRanges();o?.addRange(s)}this.descriptionRef.focus()}}else if(e.key==="ArrowDown"){if(this.showTokens){e.preventDefault()}const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.nextElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else if(e.key==="ArrowUp"){if(this.showTokens){e.preventDefault()}const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.previousElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else if(e.key==="Escape"){e.preventDefault();this.resetDropdown()}else if(e.key==="Backspace"||e.key==="Delete"){const t=n?.node?.parentNode;if(n?.currentText.startsWith("${")&&t&&t.nodeName==="SPAN"){e.preventDefault();t.removeChild(n.node);t.remove();this.resetDropdown()}if(this.descriptionRef.textContent===""||n?.allSelected){this.descriptionRef.innerHTML="";this.updateEventDescription("")}}}selectOption(e,n){e.preventDefault();const t=this.currentWord.fullText;const a=this.currentWord.$value;let s=this.descriptionRef.firstChild;let o=null;while(s){if(s.nodeType===3){const e=s.textContent?.replace(/[\u200B-\u200D\uFEFF]/g,"")||"";const n=t.replace(/[\u200B-\u200D\uFEFF]/g,"");if(e.includes(n)){o=s;break}}s=s.nextSibling}if(!o){return}const l=o.textContent||"";const i=l.indexOf(a);const r=l.substring(0,i);const c=l.substring(i+a.length);const d=document.createTextNode(r);const f=document.createRange();const p=document.createElement("span");p.classList.add("highlighted-tag");p.textContent=`${n.value}`;const y=document.createTextNode(c);if(c!==""){o.replaceWith(d,p,y);f.setStart(y,1)}else{const e=document.createTextNode("​");o.replaceWith(d,p,e);f.setStart(e,1)}this.resetDropdown();this.descriptionRef.focus();const h=window.getSelection();f.collapse(true);h?.removeAllRanges();h?.addRange(f);this.updateEventDescription(this.descriptionRef.textContent||"")}populateSuggestionsDropdown(e=""){this.filteredTokens=this.availableTokens.filter((n=>n.label.startsWith(e.toString())||n.value.startsWith(e.toString())));if(this.filteredTokens.length>0){this.ariaActivedescendant=this.filteredTokens[0].label}}get isInternalsAvailable(){return typeof this.internals!=="undefined"&&typeof this.internals.setValidity==="function"&&typeof this.internals.setFormValue==="function"}updateEventDescription(e){const n=e.replace(/ +/g," ");this.isInternalsAvailable&&this.internals?.setFormValue(n,this.name);this.valueChanged.emit({value:n,name:this.name})}resetDropdown(){this.showTokens=false;this.ariaActivedescendant=""}getLabelHTML(e){return n("div",{class:"token-label"},n("span",{class:"token"},e.token),n("span",{class:"description"},e.description))}handleAddAdditionalFields(){if(this.additionalFieldTokens.length===0){return}const e=this.descriptionRef.innerHTML;const n="--- Additional Fields ---";const t="--- End Additional Fields ---";const a=e.indexOf(n);const s=e.indexOf(t);let o=n+"\n";this.additionalFieldTokens.forEach((e=>{o+=`${e.description}: ${e.value}\n`}));o+=t;let l;if(a!==-1&&s!==-1){l=e.substring(0,a)+o+e.substring(s+t.length)}else{l=e+o}this.updateEventDescriptionFromProp(l);this.updateEventDescription(l)}render(){return n(s,{key:"53d3cacafda04b14b7189df270d7fbcecb62725c"},n("div",{key:"22865cbf68472aca10e158564e7e95f337281a8a",class:"nylas-event-description",part:"nedesc"},n("label",{key:"5a449e4b1fedb09a1f5135ffd718e555ab084d7e",htmlFor:"description"},n("p",{key:"18b802e88912341fdc1f0a1093f7fea7277889c4"},o.t("nylasEventDescription.headerTitle"),n("span",{key:"401f2d8936bc7cacb2d6ccd9a559c716ea127162",class:"label-icon"},n("tooltip-component",{key:"de7c05ceb209aa156b6f5db5a90cd324f3ddeb35"},n("info-icon",{key:"44cde9c411e3e4769d5ed98513b41bf01034dcfb",slot:"tooltip-icon"}),n("span",{key:"96e57015a7911d4f966a0c6c1a682f77f3a43250",slot:"tooltip-content"},o.t("nylasEventDescription.tooltip.desc")))))),n("div",{key:"88c3c5822a09ac43ea965dcb8c24e35dcc2baed9",id:"event-description",class:{"event-description":true},part:"nedesc__textarea",contentEditable:"true",onInput:e=>this.handleChange(e),onKeyDown:e=>this.handleInputKeyDown(e),ref:e=>this.descriptionRef=e}),!this.noTemplates&&this.showTokens&&this.filteredTokens?.length>0&&n("div",{key:"68c129489ba73fee92a2496faceeb2d8e4c0bb35",class:"token-options",part:"nedesc__dropdown-content"},n("ul",{key:"28459161c996973c962f8bce4bd95334de7e59fa",tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant},this.filteredTokens.map((e=>n("li",{tabindex:"0",key:e.label,id:e.label,class:{active:this.ariaActivedescendant===e.label},onClick:n=>this.selectOption(n,e),role:"option"},this.getLabelHTML(e.labelHTML)))))),!this.noTemplates&&n("span",{key:"19f781775b3882f3acb9857450403e757d29fbe6",class:"help-text"},o.t("nylasEventTitle.helpText",{context:"start",field:o.t("nylasEventTitle.description")})," ",n("code",{key:"e403e6e6a5342c21cc71a14280a75158978e4fde"},"$")," ",o.t("nylasEventTitle.helpText",{context:"end"}),n("span",{key:"a3810fd7dda4abcf86c5b0114361f964373bbad9",class:"label-icon"},n("tooltip-component",{key:"e238c192ebb2aab79ae87c17a7368411968ecc6a"},n("info-icon",{key:"6ad059d3ac7ba0f30464329d0d29193ce42df9de",slot:"tooltip-icon",width:"13",height:"13"}),n("span",{key:"d7a1786234dac338d11298ee90dea5f7eeabc661",slot:"tooltip-content"},o.t("nylasEventTitle.tooltip.desc")," ",n("code",{key:"2f18fade22e39d1788c6b1d1ff6b17e501b4079c"},"${invitee}"))))),!this.noTemplates&&!this.hideAutoPopulateButton&&n("span",{key:"2d0c2c8c93c89f2674203a22534607ad4761b0fb",class:"add-additional-fields"},n("button-component",{key:"6c17ca47b82203dfc3c909775f88e3f842bbc9ca",variant:"basic",onClick:()=>this.handleAddAdditionalFields()},o.t("nylasEventDescription.addAdditionalFields.buttonText")),n("span",{key:"714a04b438d6cc3f782eac1b0479089ee16bb47f",class:"label-icon"},n("tooltip-component",{key:"62fc5c38ba24009ba43f0f7c0cfecef899fc096c"},n("info-icon",{key:"d838d269ade9dcb389333d6b3503165b6decfa4f",slot:"tooltip-icon"}),n("span",{key:"a8c77933b5c0599c9f2a965e39b32be6df0dd71c",slot:"tooltip-content"},o.t("nylasEventDescription.addAdditionalFields.tooltip.desc")," ",n("code",{key:"b06403678e958e577785ca6bb63036343277ef55"},"${invitee}")))))))}static get formAssociated(){return true}get host(){return a(this)}static get watchers(){return{name:["elementNameChangedHandler"],selectedConfiguration:["selectedConfigurationChangedHandler"],selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};$([h({name:"nylas-event-description",stateToProps:new Map([["schedulerConfig.selectedConfiguration","selectedConfiguration"],["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:true}),M("design:type",Function),M("design:paramtypes",[]),M("design:returntype",void 0)],R.prototype,"render",null);R.style=P;const A=':host{display:block;margin:1rem;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-event-info__title{color:var(--nylas-base-900);font-size:16px;font-style:normal;font-weight:600;line-height:20px;margin:0;text-align:left}.nylas-event-info__subtitle{color:var(--nylas-base-600);font-size:14px;font-style:normal;font-weight:400;line-height:20px;margin:0.25rem 0px 0px;text-align:left}.nylas-event-info__content{padding:1rem;display:flex;flex-direction:column;gap:1rem;background-color:var(--nylas-base-25)}.nylas-event-info__block{display:flex;justify-content:space-between;gap:0.5rem}';var F=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var D=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const j=class{constructor(n){e(this,n);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e)}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.el.style.setProperty(`${n}`,t)}}}connectedCallback(){l("nylas-event-info","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.el.setAttribute("data-themed","")}}))}componentWillLoad(){l("nylas-event-info","componentWillLoad")}componentDidLoad(){l("nylas-event-info","componentDidLoad");f(["inputs"],this.el)}disconnectedCallback(){l("nylas-event-info","disconnectedCallback")}render(){return n(s,{key:"e254da38ec38ce5f256fa7b4901f47dcde156e10"},n("nylas-form-card",{key:"43465d32e381d901a11c4992b6aacdd862116473",exportparts:"nfc__header: nei__header"},n("h1",{key:"0cfc5b552aa6d5b25c7fd1466fbba33ac1f86cae",slot:"header-title",class:"nylas-event-info__title",part:"nei__title"},o.t("nylasEventInfo.headerTitle")),n("div",{key:"0c785166ed9b6ff3df251f9f35f3731784d4bddb",slot:"content",class:"nylas-event-info__content"},n("slot",{key:"68c82a8172a99732463f1c17f167a3ece1e43544",name:"inputs"}))))}static get formAssociated(){return true}get el(){return a(this)}static get watchers(){return{selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};F([h({name:"nylas-event-info",stateToProps:new Map([["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:true}),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",void 0)],j.prototype,"render",null);j.style=A;const S=':host{--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-event-location{display:flex;flex-direction:column;gap:4px;font-family:var(--nylas-font-family)}.nylas-event-location label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:16px;font-style:normal;font-weight:400;line-height:150%;}.nylas-event-location label span.label-icon{margin-left:4px}.nylas-event-location label span.label-icon tooltip-component{display:flex}.nylas-event-location span[slot=select-icon]{border-right:1px solid var(--nylas-base-200);padding:16px 0.75rem 16px 0.5rem;border-radius:var(--nylas-border-radius-2x);border-bottom-right-radius:0;border-top-right-radius:0;height:20px}.nylas-event-location div.location-input{display:grid;grid-template-columns:auto 1fr;width:100%;gap:0.5rem}@media screen and (max-width: 768px){.nylas-event-location div.location-input{grid-template-columns:1fr}}.nylas-event-location div.location-input input{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:12px 16px;font-family:var(--nylas-font-family);font-size:16px;line-height:24px;background-color:var(--nylas-base-0);color:var(--nylas-base-900)}.nylas-event-location select-dropdown{width:208px}@media screen and (max-width: 768px){.nylas-event-location select-dropdown{width:100%}}.nylas-event-location select-dropdown::part(sd_dropdown){width:100%}.nylas-event-location select-dropdown::part(sd_dropdown-content){left:calc(35px + 0.5rem)}.nylas-event-location select-dropdown::part(sd_dropdown-button){display:flex;justify-content:space-between;width:100%;border:1px solid var(--nylas-base-200);padding:0 0.5rem}.nylas-event-location select-dropdown::part(sd_dropdown-button-selected-label){display:inline-flex;align-self:center;padding:14px 0;font-family:var(--nylas-font-family);font-size:16px;line-height:24px}';var I=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var N=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const B=class{constructor(n){e(this,n);this.valueChanged=t(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="location";this.location=this.eventLocation??"";this.grantId=this.eventConferencing?this.setDefaultGrantID(this.eventConferencing):"";this.userProviderState=this.userProvider??this.currentUser?.provider??"";this.locationOptions=[{value:"none",label:o.t("nylasEventLocation.conferenceOptions.none"),labelHTML:this.getLabelHTML("none")},{value:"custom",label:o.t("nylasEventLocation.conferenceOptions.custom"),labelHTML:this.getLabelHTML("custom")}]}elementNameChangedHandler(e){l("nylas-event-location","elementNameChangedHandler",e);this.host.setAttribute("name",e)}selectedConfigurationChangedHandler(e){l("nylas-custom-booking-flow","selectedConfigurationChangedHandler",e);const n=e?.event_booking?.location||this.eventLocation;const t=e?.event_booking?.conferencing||this.eventConferencing;if(t?.provider){this.selectedLocationOption=this.setDefaultLocationOption(t,n??"");this.grantId=this.setDefaultGrantID(t);this.location=n?n:""}else if(n){this.selectedLocationOption=n?"custom":"none";this.location=n}else{this.selectedLocationOption="none";this.location=""}}currentUserChangedHandler(e){l("nylas-custom-booking-flow","currentUserChangedHandler",e);if(e?.provider){this.userProviderState=e?.provider;this.setLocationOptionsForProvider(this.userProviderState)}}conferenceProvidersChanged(e){if(e?.["zoom"]&&!this.locationOptions.some((e=>e.value==="zoom"))){this.locationOptions.push({value:"zoom",label:o.t("nylasEventLocation.conferenceOptions.zoom"),labelHTML:this.getLabelHTML("zoom")})}}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e);const t=this.locationOptions.map((e=>e.value));t.forEach((e=>{const n=this.locationOptions.findIndex((n=>n.value===e));this.locationOptions[n].label=o.t(`nylasEventLocation.conferenceOptions.${e}`);this.locationOptions[n].labelHTML=this.getLabelHTML(e)}));this.locationOptions=[...this.locationOptions]}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}connectedCallback(){l("nylas-event-location","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}componentWillLoad(){l("nylas-event-location","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){l("nylas-event-location","componentDidLoad");if(this.selectedConfiguration?.event_booking){this.selectedConfigurationChangedHandler(this.selectedConfiguration)}else{this.selectedLocationOption=this.setDefaultLocationOption(this.eventConferencing||null,this.eventLocation??"");this.location=this.eventLocation??""}this.userProviderState=this.userProvider??this.currentUser?.provider??"";this.setLocationOptionsForProvider(this.userProviderState);const e=this.internals?.form;if(e){const n=new FormData(e);n.set("conference",this.getConferencePayload());n.set(this.name,this.location)}if(this.conferenceProviders?.["zoom"]&&!this.locationOptions.some((e=>e.value==="zoom"))){this.locationOptions.push({value:"zoom",label:o.t("nylasEventLocation.conferenceOptions.zoom"),labelHTML:this.getLabelHTML("zoom")})}}disconnectedCallback(){l("nylas-event-location","disconnectedCallback")}getConferencePayload(){if(this.selectedLocationOption==="custom"||this.selectedLocationOption==="none"){return JSON.stringify(null)}const e=this.conferenceProviders?.[this.selectedLocationOption];const n={provider:p[this.selectedLocationOption],autocreate:e?{conf_grant_id:e}:{}};return JSON.stringify(n)}nylasFormDropdownChangedHandler(e){this.selectedLocationOption=e.detail.value;let n;switch(this.selectedLocationOption){case"none":{this.location="";this.setFormValue("",this.name);this.valueChanged.emit({value:"",name:this.name});this.valueChanged.emit({value:JSON.stringify(null),name:"conference"});break}case"custom":{this.valueChanged.emit({value:JSON.stringify(null),name:"conference"});break}case"google":{this.location="";this.setFormValue("",this.name);const e=this.conferenceProviders?.["google"];n={provider:p.google,autocreate:e?{conf_grant_id:e}:{}};this.valueChanged.emit({value:JSON.stringify(n),name:"conference"});this.valueChanged.emit({value:"",name:this.name});break}case"microsoft":{this.location="";this.setFormValue("",this.name);const e=this.conferenceProviders?.["microsoft"];n={provider:p.microsoft,autocreate:e?{conf_grant_id:e}:{}};this.valueChanged.emit({value:JSON.stringify(n),name:"conference"});this.valueChanged.emit({value:"",name:this.name});break}case"zoom":{this.location="";this.setFormValue("",this.name);const e=this.conferenceProviders?.["zoom"];n={provider:p.zoom,autocreate:e?{conf_grant_id:e}:{}};this.valueChanged.emit({value:JSON.stringify(n),name:"conference"});this.valueChanged.emit({value:"",name:this.name});break}}}setLocationOptionsForProvider(e){switch(e){case"google":if(!this.locationOptions.some((e=>e.value==="google"))){this.locationOptions.push({value:"google",label:o.t("nylasEventLocation.conferenceOptions.google"),labelHTML:this.getLabelHTML("google")})}break;case"microsoft":if(!this.locationOptions.some((e=>e.value==="microsoft"))){this.locationOptions.push({value:"microsoft",label:o.t("nylasEventLocation.conferenceOptions.google"),labelHTML:this.getLabelHTML("microsoft")})}break}}setDefaultLocationOption(e,n){if(e!=null&&e?.provider!=null){return y[e?.provider]}return n?"custom":"none"}setDefaultGrantID(e){if(e!=null&&e?.autocreate!=null){return e?.autocreate?.conf_grant_id}return""}setFormValue(e,n){if(typeof this.internals.setFormValue==="function"){this.internals.setFormValue(e,n)}}handleChange(e){const n=r(e.target.value);this.location=n;this.setFormValue(n,this.name);this.valueChanged.emit({value:n,name:this.name})}getIcon(e){switch(e){case"none":return n("location-off-icon",null);case"custom":return n("location-icon",null);case"google":return n("google-meet-icon",null);case"microsoft":return n("microsoft-teams-icon",null);case"zoom":return n("zoom-icon",null)}}getLabelHTML(e){return n("span",{class:"location-label",style:{display:"flex",alignItems:"center",gap:"16px",width:"-webkit-fill-available"}},this.getIcon(e),n("span",{class:"location-text",style:{fontSize:"14px",fontWeight:"400"}},o.t(`nylasEventLocation.conferenceOptions.${e}`)))}render(){const e=typeof this.selectedLocationOption!=="undefined"?this.locationOptions.find((e=>e.value==this.selectedLocationOption)):null;return n(s,{key:"35c9bd6c955afe5a03b828b14fb204871dac312a"},n("div",{key:"afb93e5fe3b9c1ba72a3925ac3c27aebb197a009",class:"nylas-event-location",part:"nel"},n("label",{key:"da19dbd14a7eae608d326733408070577d7d28fa",htmlFor:"location"},o.t("nylasEventLocation.headerTitle"),n("span",{key:"c5ac7d2219c2137ad55a0cbf002df402240b7ad7",class:"label-icon"},n("tooltip-component",{key:"055844775fe2e4206b73502d23ff30a55d20032b"},n("info-icon",{key:"45c3ca68f9a6c4a0e039cfdb3fe1bff02edcbfa1",slot:"tooltip-icon"}),n("span",{key:"c17a921e395aa1c7c64d8b472ae24229731bce36",slot:"tooltip-content"},o.t("nylasEventLocation.tooltip.desc"))))),n("div",{key:"20d9f0408959e668b3cdb4b309ea44b71d6a27ae",class:"location-input"},n("select-dropdown",{key:"761df784b8e0f04609f7af7980cc9f4159681b13",withSearch:false,name:"location",options:this.locationOptions,defaultSelectedOption:e,themeConfig:this.themeConfig,exportparts:"sd_dropdown: nel__dropdown, sd_dropdown-button: nel__dropdown-button, sd_dropdown-content: nel__dropdown-content"},n("span",{key:"4508feb415f7cf4ef094411272175f401a482237",slot:"select-icon"},this.getIcon(this.selectedLocationOption))),this.selectedLocationOption==="custom"&&n("input",{key:"35407f43420ea0a1fad4a4f995d193f148530330",type:"text",part:"nel__location",id:"location",name:"location",maxlength:"1024",value:this.location,onInput:e=>this.handleChange(e)}))))}static get formAssociated(){return true}get host(){return a(this)}static get watchers(){return{name:["elementNameChangedHandler"],selectedConfiguration:["selectedConfigurationChangedHandler"],currentUser:["currentUserChangedHandler"],conferenceProviders:["conferenceProvidersChanged"],selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};I([h({name:"nylas-event-location",stateToProps:new Map([["schedulerConfig.selectedConfiguration","selectedConfiguration"],["schedulerConfig.conferenceProviders","conferenceProviders"],["schedulerConfig.currentUser","currentUser"],["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:true}),N("design:type",Function),N("design:paramtypes",[]),N("design:returntype",void 0)],B.prototype,"render",null);B.style=S;const q=':host{display:block;height:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff;width:100%}.nylas-event-title{display:flex;flex-direction:column;gap:4px;position:relative;text-align:left;color:var(--nylas-base-900)}.nylas-event-title div.title{border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background:var(--nylas-base-0);width:-webkit-fill-available;height:48px;padding:12px 16px;overflow:auto;white-space:nowrap;scrollbar-width:thin;color:var(--nylas-base-900);font-family:var(--nylas-font-family);font-size:16px;font-style:normal;font-weight:400;line-height:150%;-webkit-text-fill-color:var(--nylas-base-900);display:block}.nylas-event-title div.title::-webkit-scrollbar{width:6px;height:6px}.nylas-event-title div.title:focus{color:var(--nylas-base-900);-webkit-text-fill-color:var(--nylas-base-900);outline:2px solid var(--nylas-primary);outline-offset:2px}.nylas-event-title div.title:focus-visible{color:var(--nylas-base-900);-webkit-text-fill-color:var(--nylas-base-900);outline:2px solid var(--nylas-primary);outline-offset:2px}.nylas-event-title div.title.error{border-color:var(--nylas-error);border-width:2px}.nylas-event-title input{padding:12px 16px;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-200)}.nylas-event-title span.help-text{display:inline-flex;align-items:center;gap:4px;color:var(--nylas-base-500);font-size:14px;font-style:normal;font-weight:400;line-height:21px;position:relative}.nylas-event-title span.help-text span.label-icon{display:inline-flex;align-items:center;flex-shrink:0}.nylas-event-title span.help-text span.label-icon tooltip-component{display:flex}.nylas-event-title span.help-text span.label-icon tooltip-component::part(tc__container){position:unset}.nylas-event-title span.help-text span.label-icon tooltip-component::part(tc__content){position:absolute;top:4px;left:50%;transform:translateX(-50%)}.nylas-event-title span.error-message{color:var(--nylas-error)}.nylas-event-title label{display:flex;color:var(--nylas-base-800, #293056);font-size:14px;font-style:normal;font-weight:400;line-height:150%;word-break:break-word;overflow-wrap:break-word;flex-direction:column;gap:4px;font-family:var(--nylas-font-family);align-items:flex-start}.nylas-event-title label.error{color:var(--nylas-error)}.nylas-event-title label span.required{color:var(--nylas-error);padding:0 0.25rem}.nylas-event-title label p{margin:0;display:flex;align-items:center}.nylas-event-title label span.required{color:var(--nylas-error, #cc4841)}.nylas-event-title label span.label-icon{margin-left:4px}.nylas-event-title label span.label-icon tooltip-component{display:flex}.highlighted-tag{background-color:var(--nylas-base-200);border-radius:var(--nylas-border-radius);padding:5px;margin-left:4px}.token-options{display:block;background-color:var(--nylas-base-0);width:100%;max-height:336px;overflow:auto;z-index:1;border-radius:4px;position:absolute;top:80px;box-shadow:0px 4px 6px -2px rgba(0, 0, 0, 0.0509803922);box-shadow:0px 10px 15px -3px rgba(0, 0, 0, 0.1019607843)}@media screen and (max-width: 768px){.token-options{right:0;width:325px;max-width:unset}}.token-options ul{padding:0;list-style-type:none;color:var(--nylas-base-900);max-height:336px;margin:0}.token-options ul li{padding:16px, 12px, 16px, 12px;color:var(--nylas-base-900);padding:12px 16px;text-decoration:none;display:block;font-family:inherit;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px;text-align:left;cursor:pointer}.token-options ul li .token-label{display:flex;flex-direction:column;font-weight:400}.token-options ul li .token-label .token{color:var(--nylas-abse-900);font-size:16px;line-height:24px}.token-options ul li .token-label .description{color:var(--nylas-base-600);font-size:14px;line-height:21px}.token-options ul li:hover,.token-options ul li:focus,.token-options ul li:active,.token-options ul li.active{background-color:var(--nylas-base-100)}.token-options ul li:hover .token-label .token,.token-options ul li:focus .token-label .token,.token-options ul li:active .token-label .token,.token-options ul li.active .token-label .token{color:var(--nylas-primary)}.token-options .selected{background-color:var(--nylas-base-100)}';var Z=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var V=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const W=class{constructor(n){e(this,n);this.valueChanged=t(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.eventTitle=this.selectedConfiguration?.event_booking?.title;this.name="title";this.noTemplates=false;this.showTokens=false;this.availableTokens=i.map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=this.availableTokens;this.ariaActivedescendant="";this.currentWord={$value:"",fullText:"",index:-1,focusOffset:-1};this.validationError="";this.configEventTitle="";this.additionalFieldTokens=[]}elementNameChangedHandler(e){l("[nylas-event-title]","elementNameChangedHandler",e);this.host.setAttribute("name",e)}ariaActivedescendantChangedHandler(e){l("[nylas-event-title]","ariaActivedescendantChangedHandler",e);if(e!==""){const n=this.host.shadowRoot?.getElementById(e);n?.classList.add("active")}else{const e=this.host.shadowRoot?.querySelectorAll(".token-options li.active");e?.forEach((e=>e.classList.remove("active")))}}configChangedHandler(e){const n=e?.event_booking?.title;const t=e?.scheduler?.additional_fields||{};const a=Object.keys(t)||[];const s=a.map((e=>({token:`$${e}`,value:`\${${e}}`,description:t[e].label||""})));this.additionalFieldTokens=[...s];this.availableTokens=[...i,...s].map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=[...this.availableTokens];if(n){this.configEventTitle=n;this.updateEventTitleFromProp(n)}}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e);const t={$invitee:"invitee",$invitee_email:"inviteeEmail",$duration:"duration"};this.availableTokens=this.availableTokens.map((e=>{if(t[e.label]){e.labelHTML.description=o.t(`nylasEventTitle.eventTitleTokenDescription.${t[e.label]}`)}return e}));this.filteredTokens=[...this.availableTokens]}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}connectedCallback(){l("[nylas-event-title]","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}componentWillLoad(){l("[nylas-event-title]","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){l("[nylas-event-title]","componentDidLoad");let e=this.eventTitle||this.configEventTitle;if(this.selectedConfiguration?.event_booking?.title){e=this.selectedConfiguration?.event_booking?.title}if(e){this.updateEventTitleFromProp(e);this.updateEventTitle(e,true)}}disconnectedCallback(){l("[nylas-event-title]","disconnectedCallback")}formSubmittedHandler(e){l("[nylas-event-title]","formSubmittedHandler",e);if(!this.internals?.validity?.valid){this.validationError="eventTitleRequired"}else{this.validationError=""}}valueChangedHandler(e){const{name:n,value:t}=e.detail;if(n==="additional-fields"){const e=JSON.parse(t.toString());const n=Object.keys(e)||[];const a=n.map((n=>({token:`$${n}`,value:`\${${n}}`,description:e[n].label||""})));this.additionalFieldTokens=[...a];this.availableTokens=[...i,...a].map((e=>({label:e.token,value:e.value,labelHTML:e})));this.filteredTokens=[...this.availableTokens]}}updateEventTitleFromProp(e){l("[nylas-event-title]","eventTitleChangedHandler",e);const n=e||this.configEventTitle;if(this.titleRef){this.titleRef.innerHTML=this.highlightTokens(n);if(typeof this.internals.setValidity==="function"){if(!n||n===""){this.titleRef.focus();this.internals?.setValidity({customError:true},`Event title is required`,this.titleRef)}else{this.internals?.setValidity({customError:false});this.isInternalsAvailable&&this.internals?.setFormValue(n,this.name)}}}}highlightTokens(e){let n=e;[...i,...this.additionalFieldTokens].forEach((e=>{const t=e.value;const a=new RegExp(`(\\${t})(?!\\w)`,"g");n=n?.replace(a,'<span class="highlighted-tag">$1</span>')||""}));return n}getCurrentSelectionForBrowser(){const e=(e,n,t,a)=>{const s=e.replace(/[\u200B-\u200D\uFEFF]/g,"");const o=s.lastIndexOf("$");const l=s.substring(o).split(" ")[0];return{focusOffset:n,dollarIndex:o,lastWord:l,currentText:s,node:t,allSelected:a}};const n=e=>e.anchorOffset===0&&e.focusOffset===e.focusNode?.nodeValue?.length;const t=d();switch(t){case"Edge (Chromium)":case"Chrome":{const t=this.host.shadowRoot?.getSelection();const a=t?.focusNode;const s=a?.nodeValue||"";const o=t&&n(t);return e(s,t?.focusOffset||-1,a,o)}case"Firefox":{const t=document.getSelection();const a=t?.anchorNode?.nodeValue||"";const s=t&&n(t);return e(a,t?.focusOffset||-1,t?.anchorNode,s)}case"Safari":{const t=window.getSelection();const a=t?.getComposedRanges(this.host.shadowRoot)[0];const s=a?.startContainer?.nodeValue||"";const o=t&&n(t);return e(s,a?.endOffset||-1,a?.startContainer,o)}default:{l("Browser not supported");return null}}}handleChange(e){let n=e.target.textContent||"";n=r(n);const t=this.getCurrentSelectionForBrowser();if(!t){this.updateEventTitle(n);this.resetDropdown();return}const{focusOffset:a,dollarIndex:s,lastWord:o,currentText:l}=t;if(s===-1||a<s){this.updateEventTitle(n);this.resetDropdown();return}if(o.startsWith("$")){this.showTokens=true;this.currentWord={$value:o,fullText:l,index:s,focusOffset:a};this.populateSuggestionsDropdown(o)}else{this.resetDropdown()}this.updateEventTitle(n)}handleInputKeyDown(e){const n=this.getCurrentSelectionForBrowser();if(n?.allSelected&&!c(e)){this.titleRef.innerHTML=""}if(e.key==="Enter"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){n.click();this.ariaActivedescendant=""}}else if(e.key==="ArrowDown"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.nextElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else{this.ariaActivedescendant=this.filteredTokens[0].label}}else if(e.key==="ArrowUp"){e.preventDefault();const n=this.host.shadowRoot?.getElementById(this.ariaActivedescendant);if(n){const e=n.previousElementSibling;if(e){this.ariaActivedescendant=e.id}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else{this.ariaActivedescendant=this.filteredTokens[this.filteredTokens.length-1].label}}else if(e.key==="Escape"){e.preventDefault();this.resetDropdown()}else if(e.key==="Backspace"||e.key==="Delete"){const t=n?.node?.parentNode;if(n?.currentText.startsWith("${")&&t&&t.nodeName==="SPAN"){e.preventDefault();t.removeChild(n.node);t.remove();this.resetDropdown();this.updateEventTitle(this.titleRef?.textContent||"")}if(this.titleRef.textContent===""||n?.allSelected){this.titleRef.innerHTML="";this.updateEventTitle("")}}}selectOption(e,n){e.preventDefault();const t=this.currentWord.fullText;const a=this.currentWord.$value;let s=this.titleRef.firstChild;let o=null;while(s){if(s.nodeType===3){const e=s.textContent?.replace(/[\u200B-\u200D\uFEFF]/g,"")||"";const n=t.replace(/[\u200B-\u200D\uFEFF]/g,"");if(e.includes(n)){o=s;break}}s=s.nextSibling}if(!o){return}const l=o.textContent||"";const i=l.indexOf(a);const r=l.substring(0,i);const c=l.substring(i+a.length);const d=document.createTextNode(r);const f=document.createRange();const p=document.createElement("span");p.classList.add("highlighted-tag");p.textContent=`${n.value}`;const y=document.createTextNode(c);if(c!==""){o.replaceWith(d,p,y);f.setStart(y,1)}else{const e=document.createTextNode("​");o.replaceWith(d,p,e);f.setStart(e,1)}this.resetDropdown();this.titleRef.focus();const h=window.getSelection();f.collapse(true);h?.removeAllRanges();h?.addRange(f);this.updateEventTitle(this.titleRef.textContent||"")}populateSuggestionsDropdown(e=""){this.filteredTokens=this.availableTokens.filter((n=>n.label.startsWith(e.toString())||n.value.startsWith(e.toString())));if(this.filteredTokens.length>0){this.ariaActivedescendant=this.filteredTokens[0].label}}get isInternalsAvailable(){return typeof this.internals!=="undefined"&&typeof this.internals.setValidity==="function"&&typeof this.internals.setFormValue==="function"}updateEventTitle(e,n=false){const t=e.replace(/ +/g," ");if(t===""||/^[\s]*$/.test(t)){this.validationError="eventTitleRequired";this.isInternalsAvailable&&this.internals?.setValidity({customError:true},`Event title is required`,this.titleRef)}else{this.validationError="";this.isInternalsAvailable&&this.internals?.setValidity({customError:false})}this.isInternalsAvailable&&this.internals?.setFormValue(t,this.name);if(!n){this.valueChanged.emit({value:t,name:this.name})}}resetDropdown(){this.showTokens=false;this.ariaActivedescendant=""}getLabelHTML(e){return n("div",{class:"token-label"},n("span",{class:"token"},e.token),n("span",{class:"description"},e.description))}render(){return n(s,{key:"3604606cc0de1d29de92fd21d2b560d3ca392572"},n("div",{key:"9f1ecaa4adcb1f911d5f2801cabde787d260e980",class:"nylas-event-title",part:"net"},n("label",{key:"45279a83fb0e167d26c9d05ff6aa67b833baee05",htmlFor:"title"},n("p",{key:"a7735d4b980b402f627d7ec62fb6943cc8f91dd6"},o.t("nylasEventTitle.headerTitle"),n("span",{key:"8fd19ca367d1cb6bcd6eb7411833974f324cb6da",class:"required"},"*"))),n("div",{key:"74d707a90fe47424b00174845b0c3dc23b17e6aa",class:{title:true,error:this.validationError!==""},part:"net__title",ref:e=>this.titleRef=e,contentEditable:"true",onInput:e=>this.handleChange(e),onKeyDown:e=>this.handleInputKeyDown(e)}),!this.noTemplates&&this.showTokens&&this.filteredTokens?.length>0&&n("div",{key:"16b297a4298867ea952cf43cbe8d20ce7f4c1538",class:"token-options",part:"net__dropdown-content"},n("ul",{key:"e30fbd7643d315ad8ef53bc54baa3cfdfbf763d4",tabindex:"-1",role:"listbox","aria-label":this.name,"aria-activedescendant":this.ariaActivedescendant},this.filteredTokens.map((e=>n("li",{tabindex:"0",key:e.label,id:e.label,class:{active:this.ariaActivedescendant===e.label},onClick:n=>this.selectOption(n,e),role:"option"},this.getLabelHTML(e.labelHTML)))))),!this.noTemplates&&n("span",{key:"868b0cc3391b0958dc09a65ef113be0143706c35",class:"help-text"},o.t("nylasEventTitle.helpText",{context:"start",field:o.t("nylasEventTitle.title")})," ",n("code",{key:"9f3f2e79e5b261d49bd1325fdac2afa99bc3789f"},"$")," ",o.t("nylasEventTitle.helpText",{context:"end"}),n("span",{key:"e1a39fcf4b862e2c4b4770d1b04442305ebe4cc6",class:"label-icon"},n("tooltip-component",{key:"8917b60d4abb8b100cd2d857b3964fafcb7ad69c"},n("info-icon",{key:"7afc14c64e8c00cb08fa5fd22f740508911cd9b5",slot:"tooltip-icon"}),n("span",{key:"fa4e054a1d58831030e6f0c9278e106506e60f7e",slot:"tooltip-content"},o.t("nylasEventTitle.tooltip.desc")," ",n("code",{key:"26f4a35890c68b0bcd8c5ba7446932e1f3a579a9"},"${invitee}"))))),this.validationError!=""&&n("span",{key:"215db5fa24c611e66f343ef24e364ea4cd2466b7",class:"error-message"},o.t(`nylasEventTitle.${this.validationError}`))))}static get formAssociated(){return true}get host(){return a(this)}static get watchers(){return{name:["elementNameChangedHandler"],ariaActivedescendant:["ariaActivedescendantChangedHandler"],selectedConfiguration:["configChangedHandler"],selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};Z([h({name:"nylas-event-title",stateToProps:new Map([["schedulerConfig.selectedConfiguration","selectedConfiguration"],["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:true}),V("design:type",Function),V("design:paramtypes",[]),V("design:returntype",void 0)],W.prototype,"render",null);W.style=q;const U=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.card-wrapper{background:var(--nylas-base-0);display:flex;flex-direction:column;font-family:var(--nylas-font-family);background-color:var(--nylas-base-0);color:var(--nylas-base-900);border-radius:var(--nylas-border-radius-3x);position:relative;padding:32px;width:562px;box-shadow:0px 1px 4px rgba(0, 0, 0, 0.1), 0px 3px 6px rgba(0, 0, 0, 0.06)}@media screen and (max-width: 768px){.card-wrapper{width:100%;border-radius:0px}}.header{overflow-wrap:anywhere;display:flex;flex-direction:column;font-size:16px;font-weight:400}.header h2{color:var(--nylas-base-900);font-size:24px;font-weight:600;text-align:left;margin:0}.description.title-desc{margin-bottom:2rem}.description.footer-desc{margin-top:2rem}.description.footer-desc a{color:var(--nylas-primary);text-decoration:none}.description p{margin:0;font-size:18px;color:var(--nylas-base-600)}.footer{margin-top:1rem;padding-top:1rem;display:flex;justify-content:flex-end;gap:0.5rem;box-sizing:border-box;background-color:var(--nylas-base-25);width:100%;border-radius:0 0 var(--nylas-border-radius-2x) var(--nylas-border-radius-2x)}.close-button{width:100%;display:flex;justify-content:flex-end}.close-button button-component button{padding:0;height:auto}.close-button button-component button:hover{background-color:transparent !important}button-component{--dot-color:var(--nylas-base-700)}';var J=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var K=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const Q=class{constructor(n){e(this,n);this.feedbackModalClosed=t(this,"feedbackModalClosed",7);this.feedbackSubmitted=t(this,"feedbackSubmitted",7);this.triggerValidation=t(this,"triggerValidation",7);this.feedbackMessage="";this.handleConfirmBookingButtonClicked=()=>{const e=this.triggerValidation.emit();if(e.defaultPrevented){return}this.feedbackSubmitted.emit({feedback:this.feedbackMessage})}}connectedCallback(){queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}disconnectedCallback(){}async componentWillLoad(){l(`[nylas-feedback-form] Component will load`)}async componentDidLoad(){l(`[nylas-feedback-form] Component did load`)}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}handleFormInputChanged(e){l(`[nylas-feedback-form] Form input changed`);if(!e.detail.value){return}this.triggerValidation.emit();if(e.detail.name==="feedback"){this.feedbackMessage=e.detail.value}}closeModal(e){e.preventDefault();e.stopImmediatePropagation();this.feedbackModalClosed.emit()}render(){return n(s,{key:"dd8583c0ff54efe7e2a560ae93d499d4bf6f2ff1",part:"nfbf"},n("div",{key:"90fea0a4b8670345075efb3c20f08497c7d58b10",class:"card-wrapper",part:"nfbfc__card"},n("div",{key:"4229209b5c3f703d9bd54760df7a0cb3c61115a5",class:"close-button"},n("button-component",{key:"0c18bfb08ae7655d29ada898e70a9f0074029924",tooltip:"Close",id:"close",variant:"invisible",onClick:e=>this.closeModal(e),part:"nfbf__close-button"},n("close-icon",{key:"2b7f378449fd6d021b1f553b90c67b56a16849c5"}))),n("div",{key:"fbbad7a34a8d5c8aa7968686c99a8903c962d749",class:"header"},n("h2",{key:"1f5ea51f53a0d552a52132e8b7d50c31bf05abc9",slot:"card-title",part:"nfbf__title"},o.t("feedbackFormTitle"))),n("div",{key:"4b181480d2f5d956dafc4a98d6b6160d8c5f8b14",class:"description title-desc"},n("p",{key:"daca2ee189bab0951136385375ac8238c3889803"},o.t("feedbackFormDescription"))),n("textarea-component",{key:"69e5628b84312e4845f400878fcc4e35f436115e",label:o.t("feedbackMessageLabel"),required:true,maxLength:500,part:"nfbf__description",name:"feedback",placeholder:o.t("feedbackMessagePlaceholder")}),n("div",{key:"ae58150777756daaf26d08c6a21febea777ca07a",class:"description footer-desc"},n("p",{key:"a490962defbd31973e69eb791160e9064f6c8326"},"By sending this report, you agree to Nylas’ access to the data necessary to respond to this issue, subject to Nylas’"," ",n("a",{key:"c7235f21e6301f5489d362aa50bef6d46bf8c256",href:"https://www.nylas.com/privacy-policy/",target:"_blank",rel:"nofollow noreferrer noopener"},"Privacy Policy"),".")),n("div",{key:"11557b6f4a548c2afaedc501772a2edf6e08f4c5",class:{footer:true}},n("button-component",{key:"11779b6aa43a5430e9a55c3cc48e5cfc8a026ccf",variant:"invisible",onClick:e=>this.closeModal(e),part:"nfbf__button-outline nfbf__cancel-cta"},`${o.t("feedbackModalCloseButton")}`),n("button-component",{key:"d1a8f14239b7d72e6b25c80cdb055af953fd8b9a",variant:"primary",onClick:this.handleConfirmBookingButtonClicked,part:"nfbf__button-outline nfbf__reschedule-cta"},`${o.t("feedbackModalSubmitButton")}`))))}get host(){return a(this)}};J([h({name:"nylas-feedback-form",stateToProps:new Map([]),eventToProps:{feedbackSubmitted:async(e,n)=>{}},localPropsToProp:new Map([["themeConfig","themeConfig"]]),fireRegisterEvent:true}),K("design:type",Function),K("design:paramtypes",[]),K("design:returntype",void 0)],Q.prototype,"render",null);Q.style=U;const X=':host{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-50:#ffeae8;--nylas-error-100:#ffc5bf;--nylas-error-200:#fecaca;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-color-blue-100:#e0e6f9;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif;--nylas-color-black:#000000;--nylas-color-grey-900:#2c2c2c;--nylas-color-grey-800:#4b4b4b;--nylas-color-grey-700:#6e6e6e;--nylas-color-grey-600:#8e8e8e;--nylas-color-grey-500:#b3b3b3;--nylas-color-grey-400:#cacaca;--nylas-color-grey-300:#e1e1e1;--nylas-color-grey-200:#eaeaea;--nylas-color-grey-100:#f5f5f5;--nylas-color-grey-50:#fbfcfe;--nylas-color-white:#ffffff;--nylas-color-red-900:#992222;--nylas-color-red-700:#cc4841;--nylas-color-red-500:#ff786a;--nylas-color-red-300:#ffa79e;--nylas-color-red-100:#ffc5bf;--nylas-color-red-50:#ffeae8;--nylas-color-blue-900:#213571;--nylas-color-blue-700:#314fa9;--nylas-color-blue-500:#4169e1;--nylas-color-blue-300:#bdccf9;--nylas-color-blue-100:#e0e6f9;--nylas-color-blue-50:#f6f8fd;--nylas-color-yellow-900:#7c6506;--nylas-color-yellow-700:#c29f09;--nylas-color-yellow-500:#f7c90b;--nylas-color-yellow-300:#f9de70;--nylas-color-yellow-100:#fceba9;--nylas-color-yellow-50:#fdf4ce;--nylas-color-green-900:#0e6b60;--nylas-color-green-700:#16a392;--nylas-color-green-500:#17c3b2;--nylas-color-green-300:#74dbd1;--nylas-color-green-100:#a2e7e0;--nylas-color-green-50:#d1f3f0;--nylas-color-purple-900:#643554;--nylas-color-purple-700:#954f7d;--nylas-color-purple-500:#c769a7;--nylas-color-purple-300:#dda5ca;--nylas-color-purple-100:#e0bdd6;--nylas-color-purple-50:#e9dde5;--nylas-color-sky-900:#20698f;--nylas-color-sky-700:#2b8fc2;--nylas-color-sky-500:#6dceff;--nylas-color-sky-300:#8fdaff;--nylas-color-sky-100:#b8e7ff;--nylas-color-sky-50:#d9f2ff}.nylas-reminder-time{display:flex;flex-direction:column;gap:4px}.nylas-reminder-time label{display:flex;align-items:center;color:var(--nylas-base-800);font-size:16px;font-style:normal;font-weight:400;line-height:150%;}.nylas-reminder-time label span.required{color:var(--nylas-error, #cc4841)}.nylas-reminder-time label span.label-icon{margin-left:4px}.nylas-reminder-time label span.label-icon tooltip-component{display:flex}.nylas-reminder-time__wrapper{display:flex;align-items:center;justify-content:flex-end;gap:0.5rem}.nylas-reminder-time__wrapper input{padding:12px 16px;border-width:1;border-radius:8px;border:1px solid var(--nylas-base-200);font-family:var(--nylas-font-family);font-size:16px;line-height:24px;width:48px}.nylas-reminder-time__wrapper input-dropdown{width:80px}.nylas-reminder-time__wrapper input-dropdown::part(id_dropdown-input){border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);padding:14px 16px}.nylas-reminder-time__wrapper input-dropdown::part(id_dropdown-content){width:100%;min-width:unset;height:160px}.nylas-reminder-time__wrapper select-dropdown{width:120px}@media screen and (max-width: 768px){.nylas-reminder-time__wrapper select-dropdown{width:100%}}.nylas-reminder-time__wrapper select-dropdown::part(sd_dropdown-button){border:1px solid var(--nylas-base-200)}';var Y=undefined&&undefined.__decorate||function(e,n,t,a){var s=arguments.length,o=s<3?n:a===null?a=Object.getOwnPropertyDescriptor(n,t):a,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,n,t,a);else for(var i=e.length-1;i>=0;i--)if(l=e[i])o=(s<3?l(o):s>3?l(n,t,o):l(n,t))||o;return s>3&&o&&Object.defineProperty(n,t,o),o};var G=undefined&&undefined.__metadata||function(e,n){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,n)};const ee=class{constructor(n){e(this,n);this.valueChanged=t(this,"valueChanged",7);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.name="reminder-time";this.errorState=false}elementNameChangedHandler(e){l("nylas-reminder-time","elementNameChangedHandler",e);this.host.setAttribute("name",e)}eventReminderTimeMinutesChangedHandler(e,n){l("nylas-reminder-time","eventReminderTimeMinutesChangedHandler",e);this.updateNumberAndPeriodFromMinutes(e);this.isInternalsAvailable&&this.internals.setFormValue(e?.toString(),this.name)}selectedLanguageChangedHandler(e,n){if(e===n)return;o.changeLanguage(e)}themeConfigChangedHandler(e,n){if(e===n)return;this.applyThemeConfig(e)}connectedCallback(){l("nylas-reminder-time","connectedCallback");queueMicrotask((()=>{if(this.themeConfig){this.applyThemeConfig(this.themeConfig);this.host.setAttribute("data-themed","")}}))}componentWillLoad(){l("nylas-reminder-time","componentWillLoad");this.host.setAttribute("name",this.name)}componentDidLoad(){l("nylas-reminder-time","componentDidLoad");this.updateNumberAndPeriodFromMinutes(this.eventReminderTimeMinutes||30)}disconnectedCallback(){l("nylas-reminder-time","disconnectedCallback")}applyThemeConfig(e){if(e){for(const[n,t]of Object.entries(e)){this.host.style.setProperty(`${n}`,t)}}}nylasSuggestReminderMinutesHandler(e){const{minutes:n}=e.detail;this.errorState=false;this.valueChanged.emit({value:n.toString(),name:this.name});this.isInternalsAvailable&&this.internals.setFormValue(n.toString(),this.name);this.updateNumberAndPeriodFromMinutes(n+7);setTimeout((()=>{this.updateNumberAndPeriodFromMinutes(n)}),10)}timePeriodChangedHandler(e){const{number:n,period:t}=e.detail;let a;const s=60;const o=s*24;const l=o*7;const i=o*30;if(t==="minute"){a=n}else if(t==="hour"){a=n*s}else if(t==="day"){a=n*o}else if(t==="week"){a=n*l}else if(t==="month"){a=n*i}else{a=0}this.errorState=a%5!==0;this.valueChanged.emit({value:a,name:this.name});this.isInternalsAvailable&&this.internals.setFormValue(a.toString(),this.name)}updateNumberAndPeriodFromMinutes(e){const n=60;const t=n*24;const a=t*7;const s=t*30;let o,l;if(e===0){o=0;l="minute"}else if(e>=s&&e%s===0){o=Math.floor(e/s);l="month"}else if(e>=a&&e%a===0){o=Math.floor(e/a);l="week"}else if(e>=t&&e%t===0){o=Math.floor(e/t);l="day"}else if(e>=n&&e%n===0){o=Math.floor(e/n);l="hour"}else{o=e;l="minute"}this.selectedNumber=o;this.selectedPeriod=l}get isInternalsAvailable(){return this.internals!==undefined&&typeof this.internals.setFormValue==="function"&&typeof this.internals.setValidity==="function"}render(){const e=typeof this.selectedNumber=="number"&&typeof this.selectedPeriod=="string";return n(s,{key:"385ed7c26be8961ea8a3a38136a935ed7eea94da"},n("div",{key:"105c3fe6b87f82b5b3d4f19e9af0732cc6bfa00e",class:"nylas-reminder-time",part:"nrt"},n("div",{key:"f7ed0f2b641d31c8e19477c5a534295fb10d37ad",class:"nylas-reminder-time__wrapper"},e&&n("time-period-selector",{key:"9632d0a83fc484bf202ba6d9f1904c06aa8dc515",id:"limit-future-bookings",part:"nrt__time-period-selector",hasError:this.errorState,timePeriods:[{value:"minute",label:o.t("timeDuration",{context:"minute"})},{value:"hour",label:o.t("timeDuration",{context:"hour"})},{value:"day",label:o.t("timePeriod",{context:"day"})}],exportparts:"tps__number-dropdown: nrt__number-dropdown, tps__number-dropdown-button: nrt__number-dropdown-button, tps__number-dropdown-content: nrt__number-dropdown-content, tps__period-dropdown: nrt__period-dropdown, tps__period-dropdown-button: nrt__period-dropdown-button, tps__period-dropdown-content: nrt__period-dropdown-content",defaultSelectedNumber:this.selectedNumber,defaultSelectedPeriod:this.selectedPeriod,themeConfig:this.themeConfig}))))}static get formAssociated(){return true}get host(){return a(this)}static get watchers(){return{name:["elementNameChangedHandler"],eventReminderTimeMinutes:["eventReminderTimeMinutesChangedHandler"],selectedLanguage:["selectedLanguageChangedHandler"],themeConfig:["themeConfigChangedHandler"]}}};Y([h({name:"nylas-reminder-time",stateToProps:new Map([["schedulerConfig.selectedLanguage","selectedLanguage"],["schedulerConfig.themeConfig","themeConfig"]]),eventToProps:{},fireRegisterEvent:true}),G("design:type",Function),G("design:paramtypes",[]),G("design:returntype",void 0)],ee.prototype,"render",null);ee.style=X;const ne=".sc-trash-icon-h{display:flex}";const te=class{constructor(n){e(this,n);this.width="20";this.height="21"}render(){return n("svg",{key:"968d758513738446ce03862a916f385a2c8d63fd",width:this.width,height:this.height,viewBox:"0 0 20 21",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{key:"fdc08f18f0b0df669431f58ab55c90f4a3742cc4",d:"M10 0.25C11.733 0.25 13.1492 1.60645 13.2449 3.31558L13.25 3.5H18.5C18.9142 3.5 19.25 3.83579 19.25 4.25C19.25 4.6297 18.9678 4.94349 18.6018 4.99315L18.5 5H17.704L16.4239 18.0192C16.2912 19.3683 15.1984 20.41 13.8626 20.4945L13.6871 20.5H6.31293C4.95734 20.5 3.81365 19.5145 3.59883 18.1934L3.57614 18.0192L2.295 5H1.5C1.1203 5 0.806509 4.71785 0.756847 4.35177L0.75 4.25C0.75 3.8703 1.03215 3.55651 1.39823 3.50685L1.5 3.5H6.75C6.75 1.70507 8.20507 0.25 10 0.25ZM16.197 5H3.802L5.06893 17.8724C5.12768 18.4696 5.60033 18.9343 6.18585 18.9936L6.31293 19H13.6871C14.2872 19 14.7959 18.5751 14.9123 17.9982L14.9311 17.8724L16.197 5ZM11.75 7.75C12.1297 7.75 12.4435 8.03215 12.4932 8.39823L12.5 8.5V15.5C12.5 15.9142 12.1642 16.25 11.75 16.25C11.3703 16.25 11.0565 15.9678 11.0068 15.6018L11 15.5V8.5C11 8.08579 11.3358 7.75 11.75 7.75ZM8.25 7.75C8.6297 7.75 8.94349 8.03215 8.99315 8.39823L9 8.5V15.5C9 15.9142 8.66421 16.25 8.25 16.25C7.8703 16.25 7.55651 15.9678 7.50685 15.6018L7.5 15.5V8.5C7.5 8.08579 7.83579 7.75 8.25 7.75ZM10 1.75C9.08183 1.75 8.32881 2.45711 8.2558 3.35647L8.25 3.5H11.75C11.75 2.5335 10.9665 1.75 10 1.75Z",fill:"currentColor"}))}};te.style=ne;export{u as checkmark_icon,m as copy_icon,x as dragable_icon,w as eye_icon,_ as feedback_icon,H as input_color_picker,O as nylas_additional_participants,R as nylas_event_description,j as nylas_event_info,B as nylas_event_location,W as nylas_event_title,Q as nylas_feedback_form,ee as nylas_reminder_time,te as trash_icon};
2
+ //# sourceMappingURL=p-f5cf565f.entry.js.map