UNPKG

@livechat/widget-vue

Version:

This library allows to render and interact with the LiveChat Chat Widget inside a Vue 3 application

2 lines (1 loc) 3.93 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@livechat/widget-core")):"function"==typeof define&&define.amd?define(["exports","@livechat/widget-core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LiveChatWidgetVue={},e.LiveChatWidgetCore)}(this,(function(e,t){"use strict";function i(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var o=a("textapp"),u=a("livechat");function a(e){return{props:n({license:{type:String,required:!1,default:void 0},organizationId:{type:String,required:!1,default:void 0},group:{type:String,required:!1,default:void 0},visibility:{type:String,required:!1,default:void 0},customerName:{type:String,required:!1,default:void 0},customerEmail:{type:String,required:!1,default:void 0},sessionVariables:{type:Object,required:!1,default:void 0},chatBetweenGroups:{type:Boolean,required:!1,default:void 0},customIdentityProvider:{type:Function,required:!1,default:void 0}},{env:{type:String,required:!1,default:void 0}}),emits:["ready","new-event","form-submitted","rating-submitted","greeting-hidden","greeting-displayed","visibility-changed","customer-status-changed","rich-message-button-clicked","availability-changed"],data:function(){return{widget:null}},watch:{license:"reinitialize",organizationId:"reinitialize",group:"reinitialize",chatBetweenGroups:"reinitialize",env:"reinitialize",visibility:function(e){var t;null===(t=this.widget)||void 0===t||t.updateVisibility(e)},customerName:function(e){var t;null===(t=this.widget)||void 0===t||t.updateCustomerData({name:e})},customerEmail:function(e){var t;null===(t=this.widget)||void 0===t||t.updateCustomerData({email:e})},sessionVariables:function(e){var t;null===(t=this.widget)||void 0===t||t.updateSessionVariables(e)}},mounted:function(){this.setupWidget()},unmounted:function(){var e;null===(e=this.widget)||void 0===e||e.destroy()},methods:{setupWidget:function(){var i=this,n={group:this.group,license:this.license,organizationId:this.organizationId,customerName:this.customerName,customerEmail:this.customerEmail,sessionVariables:this.sessionVariables,chatBetweenGroups:this.chatBetweenGroups,visibility:this.visibility,customIdentityProvider:this.customIdentityProvider,env:this.$props.env,onReady:function(e){return i.$emit("ready",e)},onNewEvent:function(e){return i.$emit("new-event",e)},onFormSubmitted:function(e){return i.$emit("form-submitted",e)},onRatingSubmitted:function(e){return i.$emit("rating-submitted",e)},onGreetingHidden:function(e){return i.$emit("greeting-hidden",e)},onGreetingDisplayed:function(e){return i.$emit("greeting-displayed",e)},onVisibilityChanged:function(e){return i.$emit("visibility-changed",e)},onCustomerStatusChanged:function(e){return i.$emit("customer-status-changed",e)},onRichMessageButtonClicked:function(e){return i.$emit("rich-message-button-clicked",e)},onAvailabilityChanged:function(e){return i.$emit("availability-changed",e)}};this.widget=t.createWidget(n),window.__lc.integration_name="@livechat/widget-vue/v2","textapp"===e&&(window.__lc.product_name="text"),this.widget.init()},reinitialize:function(){var e;null===(e=this.widget)||void 0===e||e.destroy(),this.setupWidget()}},render:function(){return null}}}e.LiveChatWidget=u,e.TextWidget=o,Object.defineProperty(e,"__esModule",{value:!0})}));