{"version":3,"sources":["webpack:///./src/pages/ChatWidgetEnable/index.vue?6e31","webpack:///./src/pages/ChatWidgetEnable/index.vue","webpack:///./src/pages/ChatWidgetEnable/index.vue?abf6","webpack:///./src/pages/ChatWidgetEnable/index.vue?96d0","webpack:///../../../src/components/VSwitch/VSwitch.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","requestPayload","on","onSuccess","scopedSlots","_u","key","fn","ref","isLoading","staticClass","_v","onLocationChange","model","value","callback","$$v","pulsemAccountId","expression","toggleText","locationValid","isEnabled","stripeSubscriptionId","staticRenderFns","post","loadSettings","response","data","status","components","AccountIdInput","TechTaskCard","component","VSwitch","VTextField","name","directives","Touch","props","inset","loading","type","Boolean","default","flat","computed","classes","String","role","validationState","hasError","hasColor","switchData","setTextColor","undefined","class","themeClasses","methods","genDefaultSlot","genSwitch","genInput","attrs$","genRipple","left","right","onSwipeRight","genProgress","$slots","progress","color","size","width","indeterminate","onSwipeLeft","onChange","onKeydown","e"],"mappings":"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","file":"js/chunk-0a2b2c18.7a54c22d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('TechTaskCard',{attrs:{\"task-name\":\"chat-widget-enable\",\"title\":\"Enable Chat Widget\",\"request-payload\":_vm.requestPayload},on:{\"on-submit\":_vm.onSuccess},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar isLoading = ref.isLoading;\nreturn [_c('h3',{staticClass:\"red--text\"},[_vm._v(\" If this is being enabled for a Franchise, please create a tech task instead. \")]),_c('AccountIdInput',{attrs:{\"disabled\":isLoading,\"loading\":isLoading},on:{\"onStateChange\":_vm.onLocationChange},model:{value:(_vm.pulsemAccountId),callback:function ($$v) {_vm.pulsemAccountId=$$v},expression:\"pulsemAccountId\"}}),_c('v-switch',{attrs:{\"label\":_vm.toggleText,\"disabled\":!_vm.locationValid || isLoading},model:{value:(_vm.isEnabled),callback:function ($$v) {_vm.isEnabled=$$v},expression:\"isEnabled\"}}),_c('v-text-field',{attrs:{\"label\":\"Stripe Subscription ID (optional)\",\"disabled\":!_vm.locationValid || isLoading,\"loading\":isLoading},model:{value:(_vm.stripeSubscriptionId),callback:function ($$v) {_vm.stripeSubscriptionId=$$v},expression:\"stripeSubscriptionId\"}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport request, { Response } from '@/helpers/requests'\nimport AccountIdInput from '@/components/ui/AccountIdInput.vue'\nimport TechTaskCard from '@/components/ui/TechTaskCard.vue'\n\n\ninterface RequestPayload {\n pulsemAccountId: number|null;\n isEnabled: boolean|null;\n stripeSubscriptionId: string|null;\n}\n\n\ninterface ResponsePayload extends Response {\n data: RequestPayload;\n}\n\n\n@Component({\n components: {\n AccountIdInput,\n TechTaskCard\n }\n})\nexport default class GooglePlaceID extends Vue {\n locationValid = false\n pulsemAccountId: number|null = null\n isEnabled: boolean|null = null\n stripeSubscriptionId: string|null = null\n\n /**\n * The request payload that will be sent to the server.\n * @returns {Object}\n */\n get requestPayload(): RequestPayload {\n return {\n pulsemAccountId: this.pulsemAccountId,\n isEnabled: this.isEnabled,\n stripeSubscriptionId: this.stripeSubscriptionId\n }\n }\n\n /**\n * The text that will be displayed to CSMs, depending on whether the Web Chat is enabled or disabled.\n * @returns {string}\n */\n get toggleText(): string {\n return this.isEnabled ? 'Chat Widget is enabled, click toggle and submit to disable.' : 'Chat Widget is disabled, ' +\n 'click toggle and submit to enable.'\n }\n\n /**\n * Loads the existing widget settings for the pulsemAccountId.\n * @returns {ResponsePayload}\n */\n async loadSettings(): Promise {\n return await request.post('/support/widget-settings-load', {\n pulsemAccountId: this.pulsemAccountId\n }) as ResponsePayload\n }\n\n /**\n * If the location is valid, fetch the widget settings for the location else set isEnabled to null.\n * @param locationValid Whether the current location that was inputted is a valid location.\n */\n async onLocationChange(locationValid: boolean) {\n this.locationValid = locationValid\n if (this.locationValid) {\n const response = await this.loadSettings()\n this.isEnabled = response.data.isEnabled\n } else {\n this.isEnabled = null\n }\n }\n\n /**\n * If the request was executed successfully set the inputted values to null.\n * @param status The status of whether the request was executed successfully.\n */\n onSuccess(status: boolean) {\n if (status) {\n this.pulsemAccountId = null\n this.isEnabled = null\n this.stripeSubscriptionId = null\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=c95550f4&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VSwitch,VTextField})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n"],"sourceRoot":""}