@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) • 2.9 kB
JavaScript
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("@livechat/widget-core")):"function"==typeof define&&define.amd?define(["exports","@livechat/widget-core"],i):i((e="undefined"!=typeof globalThis?globalThis:e||self).LiveChatWidgetVue={},e.LiveChatWidgetCore)}(this,(function(e,i){"use strict";var t={props:{license:{type:String,required:!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}},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",group:"reinitialize",chatBetweenGroups:"reinitialize",visibility:function(e){var i;null===(i=this.widget)||void 0===i||i.updateVisibility(e)},customerName:function(e){var i;null===(i=this.widget)||void 0===i||i.updateCustomerData({name:e})},customerEmail:function(e){var i;null===(i=this.widget)||void 0===i||i.updateCustomerData({email:e})},sessionVariables:function(e){var i;null===(i=this.widget)||void 0===i||i.updateSessionVariables(e)}},mounted:function(){this.setupWidget()},unmounted:function(){var e;null===(e=this.widget)||void 0===e||e.destroy()},methods:{setupWidget:function(){var e=this;this.widget=i.createWidget({group:this.group,license:this.license,customerName:this.customerName,customerEmail:this.customerEmail,sessionVariables:this.sessionVariables,chatBetweenGroups:this.chatBetweenGroups,visibility:this.visibility,customIdentityProvider:this.customIdentityProvider,onReady:function(i){return e.$emit("ready",i)},onNewEvent:function(i){return e.$emit("new-event",i)},onFormSubmitted:function(i){return e.$emit("form-submitted",i)},onRatingSubmitted:function(i){return e.$emit("rating-submitted",i)},onGreetingHidden:function(i){return e.$emit("greeting-hidden",i)},onGreetingDisplayed:function(i){return e.$emit("greeting-displayed",i)},onVisibilityChanged:function(i){return e.$emit("visibility-changed",i)},onCustomerStatusChanged:function(i){return e.$emit("customer-status-changed",i)},onRichMessageButtonClicked:function(i){return e.$emit("rich-message-button-clicked",i)},onAvailabilityChanged:function(i){return e.$emit("availability-changed",i)}}),window.__lc.integration_name="@livechat/widget-vue/v2",this.widget.init()},reinitialize:function(){var e;null===(e=this.widget)||void 0===e||e.destroy(),this.setupWidget()}},render:function(){return null}};e.LiveChatWidget=t,Object.defineProperty(e,"__esModule",{value:!0})}));