@meetelise/chat 1.20.94 → 1.20.95

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetelise/chat",
3
- "version": "1.20.94",
3
+ "version": "1.20.95",
4
4
  "description": "",
5
5
  "main": "public/dist/index.js",
6
6
  "type": "module",
@@ -3387,4 +3387,4 @@ var e={8005:function(e,t,n){var i,r=this&&this.__extends||(i=function(e,t){retur
3387
3387
  position: fixed;
3388
3388
  bottom: 0;
3389
3389
  }
3390
- `,Jr.session=null,Lr([de({type:String})],Jr.prototype,"buildingSlug",void 0),Lr([de({type:String})],Jr.prototype,"orgSlug",void 0),Lr([de({type:String})],Jr.prototype,"themeId",void 0),Lr([de({attribute:!1})],Jr.prototype,"avatarSrc",void 0),Lr([de({type:Boolean})],Jr.prototype,"useMiniWidget",void 0),Lr([de({type:Object})],Jr.prototype,"launcherStyles",void 0),Lr([de({type:Boolean})],Jr.prototype,"isMinimized",void 0),Lr([de({type:String})],Jr.prototype,"brandColor",void 0),Lr([ce()],Jr.prototype,"popup",void 0),Lr([ce()],Jr.prototype,"theme",void 0),Lr([ce()],Jr.prototype,"chatId",void 0),Lr([ce()],Jr.prototype,"analytics",void 0),Lr([ce()],Jr.prototype,"isMobile",void 0),Lr([ce()],Jr.prototype,"launcher",void 0),Lr([ce()],Jr.prototype,"building",void 0),Lr([ce()],Jr.prototype,"buildingABTestType",void 0),Lr([ce()],Jr.prototype,"leadSources",void 0),Lr([ce()],Jr.prototype,"currentLeadSource",void 0),Lr([ce()],Jr.prototype,"featureFlagShowDropdown",void 0),Lr([ce()],Jr.prototype,"phoneNumberForSource",void 0),Lr([ce()],Jr.prototype,"hasMounted",void 0),Lr([ce()],Jr.prototype,"hideLauncher",void 0),Lr([ce()],Jr.prototype,"isLoading",void 0),Lr([ce()],Jr.prototype,"talkjsPopupElement",void 0),Lr([ce()],Jr.prototype,"chatProvider",void 0),Lr([ce()],Jr.prototype,"displayPubnubChat",void 0),Lr([ce()],Jr.prototype,"myPubnub",void 0),Jr=qr=Lr([ue("me-chat")],Jr);class jr{static start(e,t=!0){if(window.location.pathname.includes("residentservices")||window.location.pathname.includes("onlineleasing"))return;t&&(this.orgSlug=e.organization,this.hasBuildingSlug=!!e.building),Hr(),Gr();const n=document.createElement("me-chat");n.setAttribute("orgSlug",e.organization),this.handleBuildingslug(n,e.building),n.setAttribute("class","meetelise-chat"),n.setAttribute("role","dialog"),n.setAttribute("aria-label","EliseAI Widget"),n.setAttribute("aria-describedby","aria-describe-info"),n.setAttribute("aria-modal","true"),e.themeId&&n.setAttribute("themeId",e.themeId),e.avatarSrc&&n.setAttribute("avatarSrc",e.avatarSrc),void 0!==e.mini&&(n.useMiniWidget=e.mini),e.launcherStyles&&(n.launcherStyles=e.launcherStyles),e.brandColor&&(this.brandColor=e.brandColor,n.setAttribute("brandColor",((e,t)=>{const n=(r=e,{r:parseInt(r.substring(1,3),16),g:parseInt(r.substring(3,5),16),b:parseInt(r.substring(5,7),16)}),i={r:n.r+Math.round(.3*(0-n.r)),g:n.g+Math.round(.3*(0-n.g)),b:n.b+Math.round(.3*(0-n.b))};var r;return((e,t,n)=>"#"+[e,t,n].map((e=>{const t=e.toString(16);return 1===t.length?"0"+t:t})).join(""))(i.r,i.g,i.b)})(e.brandColor))),document.body.appendChild(n),jr.meChat=n,e.building&&e.organization&&zr(e.organization,e.building)}static async restartConversation(){this.meChat&&await this.meChat.restartConversation()}static async remove(){this.meChat&&(await this.meChat.remove(),document.body.removeChild(this.meChat),jr.meChat=null)}static async handleBuildingslug(e,t){t?e.setAttribute("buildingSlug",t):this.mutationObserver||(this.handleSingleFamilyUrl(),this.previousUrl=window.location.href,document.body.addEventListener("click",(()=>{requestAnimationFrame((()=>{this.previousUrl===window.location.href||this.hasBuildingSlug||(this.previousUrl=window.location.href,this.handleSingleFamilyUrl())}))}),!0))}static async handleSingleFamilyUrl(){if(this.hasBuildingSlug)return;this.remove();const e=window.location.href,n=`https://app.meetelise.com/platformApi/webchat/microsite_slug?uri=${encodeURIComponent(e)}`,i=await t().get(n,{headers:{"org-slug":this.orgSlug}});if(!i||!i.data)return;const r={organization:this.orgSlug,building:i.data,brandColor:this.brandColor};this.start(r,!1)}}jr.meChat=null,jr.orgSlug="",jr.mutationObserver=null,jr.previousUrl="",jr.hasBuildingSlug=null,jr.brandColor="";const Hr=()=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),document.head.appendChild(e)},Gr=()=>{const e=document.createElement("meta");e.setAttribute("name","viewport"),e.setAttribute("content","width=device-width, initial-scale=1, maximum-scale=2"),document.head.appendChild(e)},zr=async(e,n)=>{var i;const r=await async function(e){try{return(await t().get(Un(e),{params:{building_slug:e,flag_type:"bool",feature_flag:"webchat-use-override-contact-us-form",default_str:null,default_bool:!1}})).data}catch(e){return!1}}(n);if(!r)return;const o=document.getElementById("myContactForm");let a;if(!(o&&o instanceof HTMLFormElement))return void(window.location.pathname.toLowerCase().includes("contactus")&&Qr(n,e,"Could not find form"));for(let e=0;e<o.elements.length;e++){const t=o.elements[e];if("button"===t.tagName.toLowerCase()&&"fakebutton"===t.getAttribute("data-selenium-id")){a=t;break}}if(!a)return Qr(n,e,"Could not find submit button");const s=()=>({firstName:document.getElementById("firstname"),lastName:document.getElementById("lastname"),email:document.getElementById("email"),phone:document.getElementById("phonenumber"),message:document.getElementById("message")});if(Object.values(s()).some((e=>null===e))){const t=Object.entries(s()).filter((([,e])=>null===e)).map((([e])=>e));return Qr(n,e,"Missing the following form elements: "+t.join(", "))}const u=a.textContent,l=a.cloneNode(!0);null===(i=a.parentNode)||void 0===i||i.replaceChild(l,a),l.onclick=async function(t){if(Object.values(s()).forEach((e=>{"true"!==(null==e?void 0:e.getAttribute("aria-required"))||e.value||(e.className="form-control required is-invalid")})),!Object.values(s()).every((e=>null!==e&&!("true"===e.getAttribute("aria-required")&&!e.value)&&("email"!==e.id&&"phonenumber"!==e.id||"true"!==e.getAttribute("aria-invalid")))))return;t.preventDefault(),l.textContent="Processing request...",l.disabled=!0;const i={};Object.entries(s()).forEach((([e,t])=>i[e]=null==t?void 0:t.value));const r=await Ai(e,n),a=await Ni(n,document.referrer);if(!r)return Qr(n,e,"Could not find building"),null;const d={email_address:i.email,first_name:i.firstName,last_name:i.lastName,phone_number:i.phone,first_message:i.message,building_id:r.id,is_external_form:!0,lead_sources:[...new Set(a?[a,"property-website"]:["property-website"])]},c=JSON.stringify(d);fetch("https://app.meetelise.com/platformApi/state/create/contactMe",{method:"POST",headers:{"Content-Type":"application/json","building-slug":n,"org-slug":e},body:c}).then((e=>{if(!e.ok)throw new Error(`HTTP error ${e.status}`);return o.reset(),Object.values(s()).forEach((e=>{e&&(e.disabled=!0)})),l.textContent="Submitted",l.disabled=!0,e.json()})).catch((()=>{l.textContent=u}))}},Qr=(e,t,n)=>{const i=JSON.stringify({orgSlug:t,buildingSlug:e,reason:n});fetch("https://app.meetelise.com/platformApi/webchat/form-override-error",{method:"POST",headers:{"Content-Type":"application/json","building-slug":e,"org-slug":t},body:i})}})();var r=i.Z;export{r as default};
3390
+ `,Jr.session=null,Lr([de({type:String})],Jr.prototype,"buildingSlug",void 0),Lr([de({type:String})],Jr.prototype,"orgSlug",void 0),Lr([de({type:String})],Jr.prototype,"themeId",void 0),Lr([de({attribute:!1})],Jr.prototype,"avatarSrc",void 0),Lr([de({type:Boolean})],Jr.prototype,"useMiniWidget",void 0),Lr([de({type:Object})],Jr.prototype,"launcherStyles",void 0),Lr([de({type:Boolean})],Jr.prototype,"isMinimized",void 0),Lr([de({type:String})],Jr.prototype,"brandColor",void 0),Lr([ce()],Jr.prototype,"popup",void 0),Lr([ce()],Jr.prototype,"theme",void 0),Lr([ce()],Jr.prototype,"chatId",void 0),Lr([ce()],Jr.prototype,"analytics",void 0),Lr([ce()],Jr.prototype,"isMobile",void 0),Lr([ce()],Jr.prototype,"launcher",void 0),Lr([ce()],Jr.prototype,"building",void 0),Lr([ce()],Jr.prototype,"buildingABTestType",void 0),Lr([ce()],Jr.prototype,"leadSources",void 0),Lr([ce()],Jr.prototype,"currentLeadSource",void 0),Lr([ce()],Jr.prototype,"featureFlagShowDropdown",void 0),Lr([ce()],Jr.prototype,"phoneNumberForSource",void 0),Lr([ce()],Jr.prototype,"hasMounted",void 0),Lr([ce()],Jr.prototype,"hideLauncher",void 0),Lr([ce()],Jr.prototype,"isLoading",void 0),Lr([ce()],Jr.prototype,"talkjsPopupElement",void 0),Lr([ce()],Jr.prototype,"chatProvider",void 0),Lr([ce()],Jr.prototype,"displayPubnubChat",void 0),Lr([ce()],Jr.prototype,"myPubnub",void 0),Jr=qr=Lr([ue("me-chat")],Jr);class jr{static start(e,t=!0){if(window.location.pathname.includes("residentservices")||window.location.pathname.includes("onlineleasing"))return;t&&(this.orgSlug=e.organization,this.hasBuildingSlug=!!e.building),Hr(),Gr();const n=document.createElement("me-chat");n.setAttribute("orgSlug",e.organization),this.handleBuildingslug(n,e.building),n.setAttribute("class","meetelise-chat"),n.setAttribute("role","dialog"),n.setAttribute("aria-label","EliseAI Widget"),n.setAttribute("aria-describedby","aria-describe-info"),n.setAttribute("aria-modal","true"),e.themeId&&n.setAttribute("themeId",e.themeId),e.avatarSrc&&n.setAttribute("avatarSrc",e.avatarSrc),void 0!==e.mini&&(n.useMiniWidget=e.mini),e.launcherStyles&&(n.launcherStyles=e.launcherStyles),e.brandColor&&(this.brandColor=e.brandColor,n.setAttribute("brandColor",((e,t)=>{const n=(r=e,{r:parseInt(r.substring(1,3),16),g:parseInt(r.substring(3,5),16),b:parseInt(r.substring(5,7),16)}),i={r:n.r+Math.round(.3*(0-n.r)),g:n.g+Math.round(.3*(0-n.g)),b:n.b+Math.round(.3*(0-n.b))};var r;return((e,t,n)=>"#"+[e,t,n].map((e=>{const t=e.toString(16);return 1===t.length?"0"+t:t})).join(""))(i.r,i.g,i.b)})(e.brandColor))),document.body.appendChild(n),jr.meChat=n,e.building&&e.organization&&zr(e.organization,e.building)}static async restartConversation(){this.meChat&&await this.meChat.restartConversation()}static async remove(){this.meChat&&(await this.meChat.remove(),document.body.removeChild(this.meChat),jr.meChat=null)}static async handleBuildingslug(e,t){t?e.setAttribute("buildingSlug",t):this.mutationObserver||(this.handleSingleFamilyUrl(),this.previousUrl=window.location.href,document.body.addEventListener("click",(()=>{requestAnimationFrame((()=>{this.previousUrl===window.location.href||this.hasBuildingSlug||(this.previousUrl=window.location.href,this.handleSingleFamilyUrl())}))}),!0))}static async handleSingleFamilyUrl(){if(this.hasBuildingSlug)return;this.remove();const e=window.location.href,n=`https://app.meetelise.com/platformApi/webchat/microsite_slug?uri=${encodeURIComponent(e)}`,i=await t().get(n,{headers:{"org-slug":this.orgSlug}});if(!i||!i.data)return;const r={organization:this.orgSlug,building:i.data,brandColor:this.brandColor};this.start(r,!1)}}jr.meChat=null,jr.orgSlug="",jr.mutationObserver=null,jr.previousUrl="",jr.hasBuildingSlug=null,jr.brandColor="";const Hr=()=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),document.head.appendChild(e)},Gr=()=>{const e=document.createElement("meta");e.setAttribute("name","viewport"),e.setAttribute("content","width=device-width, initial-scale=1, maximum-scale=2"),document.head.appendChild(e)},zr=async(e,n)=>{var i;const r=await async function(e){if(!e)return!1;try{return(await t().get(Un(e),{params:{building_slug:e,flag_type:"bool",feature_flag:"webchat-use-override-contact-us-form",default_str:null,default_bool:!1}})).data}catch(e){return!1}}(n);if(!r)return;const o=document.getElementById("myContactForm");let a;if(!(o&&o instanceof HTMLFormElement))return void(window.location.pathname.toLowerCase().includes("contactus")&&Qr(n,e,"Could not find form"));for(let e=0;e<o.elements.length;e++){const t=o.elements[e];if("button"===t.tagName.toLowerCase()&&"fakebutton"===t.getAttribute("data-selenium-id")){a=t;break}}if(!a)return Qr(n,e,"Could not find submit button");const s=()=>({firstName:document.getElementById("firstname"),lastName:document.getElementById("lastname"),email:document.getElementById("email"),phone:document.getElementById("phonenumber"),message:document.getElementById("message")});if(Object.values(s()).some((e=>null===e))){const t=Object.entries(s()).filter((([,e])=>null===e)).map((([e])=>e));return Qr(n,e,"Missing the following form elements: "+t.join(", "))}const u=a.textContent,l=a.cloneNode(!0);null===(i=a.parentNode)||void 0===i||i.replaceChild(l,a),l.onclick=async function(t){if(Object.values(s()).forEach((e=>{"true"!==(null==e?void 0:e.getAttribute("aria-required"))||e.value||(e.className="form-control required is-invalid")})),!Object.values(s()).every((e=>null!==e&&!("true"===e.getAttribute("aria-required")&&!e.value)&&("email"!==e.id&&"phonenumber"!==e.id||"true"!==e.getAttribute("aria-invalid")))))return;t.preventDefault(),l.textContent="Processing request...",l.disabled=!0;const i={};Object.entries(s()).forEach((([e,t])=>i[e]=null==t?void 0:t.value));const r=await Ai(e,n),a=await Ni(n,document.referrer);if(!r)return Qr(n,e,"Could not find building"),null;const d={email_address:i.email,first_name:i.firstName,last_name:i.lastName,phone_number:i.phone,first_message:i.message,building_id:r.id,is_external_form:!0,lead_sources:[...new Set(a?[a,"property-website"]:["property-website"])]},c=JSON.stringify(d);fetch("https://app.meetelise.com/platformApi/state/create/contactMe",{method:"POST",headers:{"Content-Type":"application/json","building-slug":n,"org-slug":e},body:c}).then((e=>{if(!e.ok)throw new Error(`HTTP error ${e.status}`);return o.reset(),Object.values(s()).forEach((e=>{e&&(e.disabled=!0)})),l.textContent="Submitted",l.disabled=!0,e.json()})).catch((()=>{l.textContent=u}))}},Qr=(e,t,n)=>{const i=JSON.stringify({orgSlug:t,buildingSlug:e,reason:n});fetch("https://app.meetelise.com/platformApi/webchat/form-override-error",{method:"POST",headers:{"Content-Type":"application/json","building-slug":e,"org-slug":t},body:i})}})();var r=i.Z;export{r as default};
@@ -200,7 +200,6 @@ export class MEChat extends LitElement {
200
200
  return;
201
201
  }
202
202
  const building = await fetchBuildingInfo(this.orgSlug, this.buildingSlug);
203
-
204
203
  if (building.active !== 1) {
205
204
  return;
206
205
  }
@@ -64,6 +64,9 @@ export async function fetchFeatureFlagUsePhoneNumberBySource(
64
64
  export async function fetchFeatureFlagUseOverrideContactUsForm(
65
65
  buildingSlug: string
66
66
  ): Promise<boolean> {
67
+ if (!buildingSlug) {
68
+ return false;
69
+ }
67
70
  try {
68
71
  const featureFlagResponse = await axios.get(
69
72
  featureFlagEndpoint(buildingSlug),