@livechat/widget-core
Version:
LiveChat Chat Widget adapters implementation core
2 lines (1 loc) • 6.97 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LiveChatWidgetCore={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var i,o,r=[],a=!0,d=!1;try{for(n=n.call(e);!(a=(i=n.next()).done)&&(r.push(i.value),!t||r.length!==t);a=!0);}catch(e){d=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(d)throw o}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var r={current:null};function a(){var e,t=Array.prototype.slice;function n(e){return i._h?i._h.apply(null,e):i._q.push(e)}var i={_q:[],_h:null,_v:"2.0",on:function(){n(["on",t.call(arguments)])},once:function(){n(["once",t.call(arguments)])},off:function(){n(["off",t.call(arguments)])},get:function(){if(!i._h)throw new Error("[LiveChatWidget] You can't use getters before load.");return n(["get",t.call(arguments)])},call:function(){n(["call",t.call(arguments)])},init:function(){var e=document.createElement("script");e.async=!0,e.type="text/javascript",e.src="https://cdn.livechatinc.com/tracking.js",document.head.appendChild(e),r.current=e}};return null===(e=r.current)||void 0===e||e.remove(),window.LiveChatWidget=window.LiveChatWidget||i,r}function d(e){var t=e.license,n=e.group,o=e.chatBetweenGroups,r=e.sessionVariables,a=e.customIdentityProvider;if(window.__lc=window.__lc||{},"string"!=typeof t)throw new Error("[LiveChatWidget] The license property is required for initialization");window.__lc.license=Number(t),void 0!==n&&(window.__lc.group=Number(n)),void 0!==o&&(window.__lc.chat_between_groups=Boolean(o)),r instanceof Object&&(window.__lc.params=Object.entries(r).map((function(e){var t=i(e,2);return{name:t[0],value:t[1]}}))),"function"==typeof a&&(window.__lc.custom_identity_provider=a)}function c(e,t){"off"===e&&void 0===window.LiveChatWidget||("function"==typeof t.onReady&&window.LiveChatWidget[e]("ready",t.onReady),"function"==typeof t.onAvailabilityChanged&&window.LiveChatWidget[e]("availability_changed",t.onAvailabilityChanged),"function"==typeof t.onVisibilityChanged&&window.LiveChatWidget[e]("visibility_changed",t.onVisibilityChanged),"function"==typeof t.onCustomerStatusChanged&&window.LiveChatWidget[e]("customer_status_changed",t.onCustomerStatusChanged),"function"==typeof t.onNewEvent&&window.LiveChatWidget[e]("new_event",t.onNewEvent),"function"==typeof t.onFormSubmitted&&window.LiveChatWidget[e]("form_submitted",t.onFormSubmitted),"function"==typeof t.onRatingSubmitted&&window.LiveChatWidget[e]("rating_submitted",t.onRatingSubmitted),"function"==typeof t.onGreetingDisplayed&&window.LiveChatWidget[e]("greeting_displayed",t.onGreetingDisplayed),"function"==typeof t.onGreetingHidden&&window.LiveChatWidget[e]("greeting_hidden",t.onGreetingHidden),"function"==typeof t.onRichMessageButtonClicked&&window.LiveChatWidget[e]("rich_message_button_clicked",t.onRichMessageButtonClicked))}function u(e){"string"==typeof e.name&&window.LiveChatWidget.call("set_customer_name",e.name),"string"==typeof e.email&&window.LiveChatWidget.call("set_customer_email",e.email)}function l(e){"hidden"===e&&window.LiveChatWidget.call("hide"),"maximized"===e&&window.LiveChatWidget.call("maximize"),"minimized"===e&&window.LiveChatWidget.call("minimize")}var s,f={all:s=s||new Map,on:function(e,t){var n=s.get(e);n?n.push(t):s.set(e,[t])},off:function(e,t){var n=s.get(e);n&&(t?n.splice(n.indexOf(t)>>>0,1):s.set(e,[]))},emit:function(e,t){var n=s.get(e);n&&n.slice().map((function(e){e(t)})),(n=s.get("*"))&&n.slice().map((function(n){n(e,t)}))}},g=f.emit.bind(null);e.assignConfiguration=d,e.assignCustomerData=u,e.assignEventHandlers=c,e.assignVisibility=l,e.createWidget=function(e){var i={isLoading:!1,desiredState:"unknown",currentEventHandlers:{onReady:e.onReady,onNewEvent:e.onNewEvent,onFormSubmitted:e.onFormSubmitted,onGreetingHidden:e.onGreetingHidden,onRatingSubmitted:e.onRatingSubmitted,onGreetingDisplayed:e.onGreetingDisplayed,onVisibilityChanged:e.onVisibilityChanged,onAvailabilityChanged:e.onAvailabilityChanged,onCustomerStatusChanged:e.onCustomerStatusChanged,onRichMessageButtonClicked:e.onRichMessageButtonClicked}},o=a();return d(e),l(e.visibility),c("on",i.currentEventHandlers),u({name:e.customerName,email:e.customerEmail}),window.__lc.integration_name="@livechat/widget-core",{init:function(){var e=this;i.desiredState="loaded",i.isLoading||(window.LC_API=window.LC_API||{},window.LC_API.on_after_load=function(){i.isLoading=!1,"destroyed"===i.desiredState&&e.destroy(),i.desiredState="unknown"},g("init"),i.isLoading=!0,window.LiveChatWidget.init())},destroy:function(){var e;i.desiredState="destroyed",i.isLoading||(g("destroy"),null===(e=o.current)||void 0===e||e.remove(),window.LiveChatWidget.call("destroy"))},updateVisibility:function(e){l(e)},updateEventHandlers:function(e){c("off",i.currentEventHandlers),c("on",e),i.currentEventHandlers=function(e){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?t(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):t(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({},e)},updateSessionVariables:function(e){e&&window.LiveChatWidget.call("update_session_variables",e)},hideGreeting:function(){window.LiveChatWidget.call("hide_greeting")},updateCustomerData:function(e){u(e)}}},e.getData=function(e){return"state"===e?window.LiveChatWidget.get("state"):"chat"===e?window.LiveChatWidget.get("chat_data"):"customer"===e?window.LiveChatWidget.get("customer_data"):null},e.lcOnDestroy=function(e){return f.on("destroy",e),function(){f.off("destroy",e)}},e.lcOnInit=function(e){return f.on("init",e),"LiveChatWidget"in window&&e(),function(){f.off("init",e)}},Object.defineProperty(e,"__esModule",{value:!0})}));