@meetelise/chat 1.20.144 → 1.20.145
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 +1 -1
- package/public/dist/index.js +1 -1
- package/src/MEChat.ts +0 -8
package/package.json
CHANGED
package/public/dist/index.js
CHANGED
|
@@ -3633,4 +3633,4 @@ otherwise there's some empty space at the bottom of the button, which interferes
|
|
|
3633
3633
|
position: fixed;
|
|
3634
3634
|
bottom: 0;
|
|
3635
3635
|
}
|
|
3636
|
-
`,Pr([ue({type:String})],Fr.prototype,"buildingSlug",void 0),Pr([ue({type:String})],Fr.prototype,"orgSlug",void 0),Pr([ue({type:Object})],Fr.prototype,"launcherStyles",void 0),Pr([ue({type:Boolean})],Fr.prototype,"isMinimized",void 0),Pr([ue({type:String})],Fr.prototype,"brandColor",void 0),Pr([le()],Fr.prototype,"chatId",void 0),Pr([le()],Fr.prototype,"analytics",void 0),Pr([le()],Fr.prototype,"launcher",void 0),Pr([le()],Fr.prototype,"building",void 0),Pr([le()],Fr.prototype,"designConcept",void 0),Pr([le()],Fr.prototype,"leadSources",void 0),Pr([le()],Fr.prototype,"currentLeadSource",void 0),Pr([le()],Fr.prototype,"featureFlagShowDropdown",void 0),Pr([le()],Fr.prototype,"phoneNumberForSource",void 0),Pr([le()],Fr.prototype,"hasMounted",void 0),Pr([le()],Fr.prototype,"hideLauncher",void 0),Pr([le()],Fr.prototype,"isLoading",void 0),Pr([le()],Fr.prototype,"showTourNextToChat",void 0),Pr([le()],Fr.prototype,"displayPubnubChat",void 0),Pr([le()],Fr.prototype,"myPubnub",void 0),Pr([le()],Fr.prototype,"enabledChatWidgets",void 0),Pr([le()],Fr.prototype,"webchatConfigHasAutoOpenChat",void 0),Pr([le()],Fr.prototype,"requiresConsent",void 0),Pr([le()],Fr.prototype,"privacyPolicyUrl",void 0),Fr=Pr([ae("me-chat")],Fr);class Mr{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),Dr()
|
|
3636
|
+
`,Pr([ue({type:String})],Fr.prototype,"buildingSlug",void 0),Pr([ue({type:String})],Fr.prototype,"orgSlug",void 0),Pr([ue({type:Object})],Fr.prototype,"launcherStyles",void 0),Pr([ue({type:Boolean})],Fr.prototype,"isMinimized",void 0),Pr([ue({type:String})],Fr.prototype,"brandColor",void 0),Pr([le()],Fr.prototype,"chatId",void 0),Pr([le()],Fr.prototype,"analytics",void 0),Pr([le()],Fr.prototype,"launcher",void 0),Pr([le()],Fr.prototype,"building",void 0),Pr([le()],Fr.prototype,"designConcept",void 0),Pr([le()],Fr.prototype,"leadSources",void 0),Pr([le()],Fr.prototype,"currentLeadSource",void 0),Pr([le()],Fr.prototype,"featureFlagShowDropdown",void 0),Pr([le()],Fr.prototype,"phoneNumberForSource",void 0),Pr([le()],Fr.prototype,"hasMounted",void 0),Pr([le()],Fr.prototype,"hideLauncher",void 0),Pr([le()],Fr.prototype,"isLoading",void 0),Pr([le()],Fr.prototype,"showTourNextToChat",void 0),Pr([le()],Fr.prototype,"displayPubnubChat",void 0),Pr([le()],Fr.prototype,"myPubnub",void 0),Pr([le()],Fr.prototype,"enabledChatWidgets",void 0),Pr([le()],Fr.prototype,"webchatConfigHasAutoOpenChat",void 0),Pr([le()],Fr.prototype,"requiresConsent",void 0),Pr([le()],Fr.prototype,"privacyPolicyUrl",void 0),Fr=Pr([ae("me-chat")],Fr);class Mr{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),Dr();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.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),Mr.meChat=n,e.building&&e.organization&&kr(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),Mr.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)}}Mr.meChat=null,Mr.orgSlug="",Mr.mutationObserver=null,Mr.previousUrl="",Mr.hasBuildingSlug=null,Mr.brandColor="";const Dr=()=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),document.head.appendChild(e)},Ur=e=>{for(const t of e){const e=document.getElementById(t);if(e)return e}return null},kr=async(e,n)=>{var i;if(!n||!e)return;const r=await async function(e){if(!e)return!1;try{return(await t().get(Hn(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=Ur(["myContactForm","contactus"]);let a;if(!(o&&o instanceof HTMLFormElement)){const t=document.querySelector("form");return void(window.location.pathname.toLowerCase().includes("contactus")&&qr(n,e,"Could not find form",t?{id:t.id}:void 0))}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:Ur(["firstname","txtName"]),lastName:Ur(["lastname","txtName2"]),email:Ur(["email","txtEmail"]),phone:Ur(["phonenumber","txtPhone"]),message:Ur(["message","txtComments"])});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 ui(e,n),a=await hi(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&&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,i)=>{const r=JSON.stringify({orgSlug:t,buildingSlug:e,reason:n,url:window.location.href,formIdInfo:i});fetch("https://app.meetelise.com/platformApi/webchat/form-override-error",{method:"POST",headers:{"Content-Type":"application/json","building-slug":e,"org-slug":t},body:r})}})();var r=i.Z;export{r as default};
|
package/src/MEChat.ts
CHANGED
|
@@ -41,7 +41,6 @@ export default class MEChat {
|
|
|
41
41
|
this.hasBuildingSlug = !!opts.building;
|
|
42
42
|
}
|
|
43
43
|
installFont();
|
|
44
|
-
removeAllNegativeTabIndexes(); // remove negative tab indexes from the page that interfer with webchat input
|
|
45
44
|
const meChat = document.createElement("me-chat");
|
|
46
45
|
meChat.setAttribute("orgSlug", opts.organization);
|
|
47
46
|
this.handleBuildingslug(meChat, opts.building);
|
|
@@ -392,10 +391,3 @@ const logContactUsFormError = (
|
|
|
392
391
|
body,
|
|
393
392
|
});
|
|
394
393
|
};
|
|
395
|
-
|
|
396
|
-
const removeAllNegativeTabIndexes = () => {
|
|
397
|
-
const elems = document.querySelectorAll('[tabindex="-1"]');
|
|
398
|
-
for (let i = 0; i < elems.length; i++) {
|
|
399
|
-
elems[i].removeAttribute("tabindex");
|
|
400
|
-
}
|
|
401
|
-
};
|