@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
package/public/dist/index.js
CHANGED
|
@@ -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};
|
package/src/fetchFeatureFlag.ts
CHANGED
|
@@ -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),
|