@meetelise/chat 1.20.102 → 1.20.103
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 +2 -1
package/package.json
CHANGED
package/public/dist/index.js
CHANGED
|
@@ -3420,4 +3420,4 @@ otherwise there's some empty space at the bottom of the button, which interferes
|
|
|
3420
3420
|
position: fixed;
|
|
3421
3421
|
bottom: 0;
|
|
3422
3422
|
}
|
|
3423
|
-
`,Hr.session=null,jr([de({type:String})],Hr.prototype,"buildingSlug",void 0),jr([de({type:String})],Hr.prototype,"orgSlug",void 0),jr([de({type:String})],Hr.prototype,"themeId",void 0),jr([de({attribute:!1})],Hr.prototype,"avatarSrc",void 0),jr([de({type:Boolean})],Hr.prototype,"useMiniWidget",void 0),jr([de({type:Object})],Hr.prototype,"launcherStyles",void 0),jr([de({type:Boolean})],Hr.prototype,"isMinimized",void 0),jr([de({type:String})],Hr.prototype,"brandColor",void 0),jr([ce()],Hr.prototype,"popup",void 0),jr([ce()],Hr.prototype,"theme",void 0),jr([ce()],Hr.prototype,"chatId",void 0),jr([ce()],Hr.prototype,"analytics",void 0),jr([ce()],Hr.prototype,"isMobile",void 0),jr([ce()],Hr.prototype,"launcher",void 0),jr([ce()],Hr.prototype,"building",void 0),jr([ce()],Hr.prototype,"buildingABTestType",void 0),jr([ce()],Hr.prototype,"leadSources",void 0),jr([ce()],Hr.prototype,"currentLeadSource",void 0),jr([ce()],Hr.prototype,"featureFlagShowDropdown",void 0),jr([ce()],Hr.prototype,"phoneNumberForSource",void 0),jr([ce()],Hr.prototype,"hasMounted",void 0),jr([ce()],Hr.prototype,"hideLauncher",void 0),jr([ce()],Hr.prototype,"isLoading",void 0),jr([ce()],Hr.prototype,"talkjsPopupElement",void 0),jr([ce()],Hr.prototype,"chatProvider",void 0),jr([ce()],Hr.prototype,"showTourNextToChat",void 0),jr([ce()],Hr.prototype,"displayPubnubChat",void 0),jr([ce()],Hr.prototype,"myPubnub",void 0),Hr=Lr=jr([ue("me-chat")],Hr);class Gr{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),zr(),Qr();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),Gr.meChat=n,e.building&&e.organization&&Wr(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),Gr.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)}}Gr.meChat=null,Gr.orgSlug="",Gr.mutationObserver=null,Gr.previousUrl="",Gr.hasBuildingSlug=null,Gr.brandColor="";const zr=()=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),document.head.appendChild(e)},Qr=()=>{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)},Wr=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")&&Vr(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 Vr(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 Vr(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 xi(e,n),a=await Ei(n,document.referrer);if(!r)return Vr(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}))}},Vr=(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};
|
|
3423
|
+
`,Hr.session=null,jr([de({type:String})],Hr.prototype,"buildingSlug",void 0),jr([de({type:String})],Hr.prototype,"orgSlug",void 0),jr([de({type:String})],Hr.prototype,"themeId",void 0),jr([de({attribute:!1})],Hr.prototype,"avatarSrc",void 0),jr([de({type:Boolean})],Hr.prototype,"useMiniWidget",void 0),jr([de({type:Object})],Hr.prototype,"launcherStyles",void 0),jr([de({type:Boolean})],Hr.prototype,"isMinimized",void 0),jr([de({type:String})],Hr.prototype,"brandColor",void 0),jr([ce()],Hr.prototype,"popup",void 0),jr([ce()],Hr.prototype,"theme",void 0),jr([ce()],Hr.prototype,"chatId",void 0),jr([ce()],Hr.prototype,"analytics",void 0),jr([ce()],Hr.prototype,"isMobile",void 0),jr([ce()],Hr.prototype,"launcher",void 0),jr([ce()],Hr.prototype,"building",void 0),jr([ce()],Hr.prototype,"buildingABTestType",void 0),jr([ce()],Hr.prototype,"leadSources",void 0),jr([ce()],Hr.prototype,"currentLeadSource",void 0),jr([ce()],Hr.prototype,"featureFlagShowDropdown",void 0),jr([ce()],Hr.prototype,"phoneNumberForSource",void 0),jr([ce()],Hr.prototype,"hasMounted",void 0),jr([ce()],Hr.prototype,"hideLauncher",void 0),jr([ce()],Hr.prototype,"isLoading",void 0),jr([ce()],Hr.prototype,"talkjsPopupElement",void 0),jr([ce()],Hr.prototype,"chatProvider",void 0),jr([ce()],Hr.prototype,"showTourNextToChat",void 0),jr([ce()],Hr.prototype,"displayPubnubChat",void 0),jr([ce()],Hr.prototype,"myPubnub",void 0),Hr=Lr=jr([ue("me-chat")],Hr);class Gr{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),zr(),Qr();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),Gr.meChat=n,e.building&&e.organization&&Wr(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),Gr.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)}}Gr.meChat=null,Gr.orgSlug="",Gr.mutationObserver=null,Gr.previousUrl="",Gr.hasBuildingSlug=null,Gr.brandColor="";const zr=()=>{const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("type","text/css"),document.head.appendChild(e)},Qr=()=>{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)},Wr=async(e,n)=>{var i;if(!n||!e)return;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")&&Vr(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 Vr(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 Vr(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 xi(e,n),a=await Ei(n,document.referrer);if(!r)return Vr(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}))}},Vr=(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/MEChat.ts
CHANGED
|
@@ -181,8 +181,9 @@ const installTalkjsMobileStyleFix = () => {
|
|
|
181
181
|
|
|
182
182
|
const overrideContactUsForm = async (
|
|
183
183
|
orgSlug: string,
|
|
184
|
-
buildingSlug
|
|
184
|
+
buildingSlug?: string
|
|
185
185
|
): Promise<void> => {
|
|
186
|
+
if (!buildingSlug || !orgSlug) return;
|
|
186
187
|
const shouldUseOverrideContactUsForm =
|
|
187
188
|
await fetchFeatureFlagUseOverrideContactUsForm(buildingSlug);
|
|
188
189
|
if (!shouldUseOverrideContactUsForm) return;
|