{"version":3,"sources":["webpack:///./app/javascript/widget/mixins/darkModeMixin.js","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue?d0ee","webpack:///./app/javascript/dashboard/components/widgets/Avatar.vue?1562","webpack:///app/javascript/dashboard/components/widgets/Avatar.vue","webpack:///./app/javascript/dashboard/components/widgets/Avatar.vue","webpack:///./app/javascript/dashboard/components/widgets/Avatar.vue?c3bc","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue?8701","webpack:///app/javascript/dashboard/components/widgets/Thumbnail.vue","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue","webpack:///./app/javascript/dashboard/routes/dashboard/settings/inbox/helpers/businessHour.js","webpack:///./app/javascript/widget/mixins/nextAvailabilityTime.js","webpack:///./app/javascript/widget/views/Home.vue?40ec","webpack:///./app/javascript/widget/components/GroupedAvatars.vue?4d56","webpack:///app/javascript/widget/components/GroupedAvatars.vue","webpack:///./app/javascript/widget/components/AvailableAgents.vue?df8c","webpack:///app/javascript/widget/components/AvailableAgents.vue","webpack:///./app/javascript/widget/components/GroupedAvatars.vue","webpack:///./app/javascript/widget/components/GroupedAvatars.vue?5b13","webpack:///./app/javascript/widget/components/AvailableAgents.vue","webpack:///./app/javascript/widget/components/AvailableAgents.vue?cfab","webpack:///app/javascript/widget/components/TeamAvailability.vue","webpack:///./app/javascript/widget/components/TeamAvailability.vue?b386","webpack:///./app/javascript/widget/components/TeamAvailability.vue","webpack:///./app/javascript/widget/components/TeamAvailability.vue?b708","webpack:///app/javascript/widget/views/Home.vue","webpack:///./app/javascript/widget/views/Home.vue?129f","webpack:///./app/javascript/widget/views/Home.vue","webpack:///./node_modules/@chatwoot/utils/dist/utils.esm.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./app/javascript/shared/helpers/emoji.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./app/javascript/shared/components/Button.vue?23f7","webpack:///./app/javascript/shared/components/Button.vue?26c2","webpack:///app/javascript/shared/components/Button.vue","webpack:///./app/javascript/shared/components/Button.vue","webpack:///./node_modules/date-fns/esm/_lib/assign/index.js","webpack:///./app/javascript/dashboard/components/widgets/Avatar.vue?f06b","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue?e3cd"],"names":["computed","mapGetters","darkMode","methods","$dm","light","dark","this","_vm","_h","$createElement","_self","_c","staticClass","style","attrs","_v","_s","userInitial","class","thumbnailBoxClass","height","size","width","title","directives","name","rawName","value","expression","thumbnailClass","src","on","onImgLoad","onImgError","shouldShowImage","userNameWithoutEmoji","avatarSize","badgeSrc","_e","status","defaultTimeSlot","day","to","from","valid","getTime","hour","minute","merdian","modHour","parsedHour","parsedMinute","timeSlotParse","timeSlots","map","slot","day_of_week","openHour","open_hour","openMinutes","open_minutes","closeHour","close_hour","closeMinutes","close_minutes","closedAllDay","closed_all_day","openAllDay","open_all_day","data","dayNames","$t","timeSlot","channelConfig","window","chatwootWebChannel","workingHours","newDateWithTimeZone","utcToZonedTime","Date","timeZoneValue","presentHour","getHours","presentMinute","getMinutes","currentDay","getDay","Object","keys","find","key","Number","timezone","languageCode","locale","currentDayWorkingHours","nextDayWorkingHours","nextDay","getNextDay","nextWorkingHour","getNextWorkingHour","currentDayTimings","openMinute","nextDayTimings","dayDiff","dayNameOfNextWorkingDay","hoursAndMinutesBackInOnline","getHoursAndMinutesUntilNextDayOpen","exactTimeInAmPm","hoursAndMinutesLeft","hoursLeft","minutesLeft","timeLeftChars","roundedUpHoursLeft","hourRelative","generateRelativeTime","push","roundedUpMinLeft","Math","ceil","minRelative","join","hoursAndMinutesToBack","timeLeftToBackInOnline","mounted","setTimeSlot","workingHour","diffMinutes","floor","currentSlot","slots","length","_l","user","index","id","avatar","users","isOnline","replyWaitMessage","availableAgents","widgetColor","textColor","startConversation","hasConversation","conversationSize","debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","getContrastingTextColor","bgColor","color","replace","parseInt","slice","formatTime","timeInSeconds","formattedTime","minutes","seconds","hours","_minutes","days","_hours","trimContent","content","maxLength","ellipsis","trimmedContent","substring","sortAsc","arr","sort","a","b","_quantileForSorted","sorted","q","min","max","clamped","pos","base","rest","undefined","getQuantileIntervals","intervals","interval","MESSAGE_VARIABLES_REGEX","capitalizeName","s","toUpperCase","getFirstName","_ref","firstName","split","shift","getLastName","_ref2","lastName","pop","getMessageVariables","_ref3","_assignee$email","conversation","_conversation$meta","meta","assignee","sender","email","phone_number","replaceVariablesInMessage","_ref4","message","variables","_","trim","toLowerCase","getUndefinedVariablesInMessage","_ref5","matches","match","filter","variable","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","target","proto","forced","separator","call","hasEmojiSupport","offset","devicePixelRatio","node","document","createElement","getContext","fillText","ctx","fillStyle","textBaseline","font","getImageData","removeEmoji","text","$trim","forcedStringTrimMethod","fails","whitespaces","module","exports","METHOD_NAME","component","buttonClassName","disabled","onClick","_t","assign","dirtyObject","TypeError","property","hasOwnProperty"],"mappings":"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","file":"js/50-e874781ecb9b1577f51f.chunk.js","sourcesContent":["import { mapGetters } from 'vuex';\n\nexport default {\n computed: {\n ...mapGetters({ darkMode: 'appConfig/darkMode' }),\n },\n methods: {\n $dm(light, dark) {\n if (this.darkMode === 'light') {\n return light;\n }\n if (this.darkMode === 'dark') {\n return dark;\n }\n return light + ' ' + dark;\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.thumbnailBoxClass,style:({ height: _vm.size, width: _vm.size }),attrs:{\"title\":_vm.title}},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shouldShowImage),expression:\"shouldShowImage\"}],class:_vm.thumbnailClass,attrs:{\"src\":_vm.src},on:{\"load\":_vm.onImgLoad,\"error\":_vm.onImgError}}),_vm._v(\" \"),_c('Avatar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.shouldShowImage),expression:\"!shouldShowImage\"}],class:_vm.thumbnailClass,attrs:{\"username\":_vm.userNameWithoutEmoji,\"size\":_vm.avatarSize}}),_vm._v(\" \"),(_vm.badgeSrc)?_c('img',{staticClass:\"source-badge\",attrs:{\"src\":(\"/integrations/channels/badges/\" + _vm.badgeSrc + \".png\"),\"alt\":\"Badge\"}}):_vm._e(),_vm._v(\" \"),(_vm.showStatusIndicator)?_c('div',{class:(\"source-badge user-online-status user-online-status--\" + _vm.status),style:(_vm.statusStyle)}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Avatar.vue?vue&type=template&id=fce88f76&scoped=true&\"\nimport script from \"./Avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./Avatar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Avatar.vue?vue&type=style&index=0&id=fce88f76&lang=scss&scoped=true&\"\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 \"fce88f76\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatar-container\",style:(_vm.style),attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"\\n \"+_vm._s(_vm.userInitial)+\"\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thumbnail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thumbnail.vue?vue&type=script&lang=js&\"","\n\n\n\n","import { render, staticRenderFns } from \"./Thumbnail.vue?vue&type=template&id=276dd085&scoped=true&\"\nimport script from \"./Thumbnail.vue?vue&type=script&lang=js&\"\nexport * from \"./Thumbnail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Thumbnail.vue?vue&type=style&index=0&id=276dd085&lang=scss&scoped=true&\"\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 \"276dd085\",\n null\n \n)\n\nexport default component.exports","import parse from 'date-fns/parse';\nimport getHours from 'date-fns/getHours';\nimport getMinutes from 'date-fns/getMinutes';\nimport timeZoneData from './timezones.json';\n\nexport const defaultTimeSlot = [\n {\n day: 0,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 1,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 2,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 3,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 4,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 5,\n to: '',\n from: '',\n valid: false,\n },\n {\n day: 6,\n to: '',\n from: '',\n valid: false,\n },\n];\n\nexport const generateTimeSlots = (step = 15) => {\n /* \n Generates a list of time strings from 12:00 AM to next 24 hours. Each new string\n will be generated by adding `step` minutes to the previous one.\n The list is generated by starting with a random day and adding step minutes till end of the same day.\n */\n const date = new Date(1970, 1, 1);\n const slots = [];\n while (date.getDate() === 1) {\n slots.push(\n date.toLocaleTimeString('en-US', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: true,\n })\n );\n date.setMinutes(date.getMinutes() + step);\n }\n return slots;\n};\n\nexport const getTime = (hour, minute) => {\n const merdian = hour > 11 ? 'PM' : 'AM';\n const modHour = hour > 12 ? hour % 12 : hour || 12;\n const parsedHour = modHour < 10 ? `0${modHour}` : modHour;\n const parsedMinute = minute < 10 ? `0${minute}` : minute;\n return `${parsedHour}:${parsedMinute} ${merdian}`;\n};\n\nexport const timeSlotParse = timeSlots => {\n return timeSlots.map(slot => {\n const {\n day_of_week: day,\n open_hour: openHour,\n open_minutes: openMinutes,\n close_hour: closeHour,\n close_minutes: closeMinutes,\n closed_all_day: closedAllDay,\n open_all_day: openAllDay,\n } = slot;\n const from = closedAllDay ? '' : getTime(openHour, openMinutes);\n const to = closedAllDay ? '' : getTime(closeHour, closeMinutes);\n\n return {\n day,\n to,\n from,\n valid: !closedAllDay,\n openAllDay,\n };\n });\n};\n\nexport const timeSlotTransform = timeSlots => {\n return timeSlots.map(slot => {\n const closed = slot.openAllDay ? false : !(slot.to && slot.from);\n const openAllDay = slot.openAllDay;\n let fromDate = '';\n let toDate = '';\n let openHour = '';\n let openMinutes = '';\n let closeHour = '';\n let closeMinutes = '';\n\n if (!closed) {\n fromDate = parse(slot.from, 'hh:mm a', new Date());\n toDate = parse(slot.to, 'hh:mm a', new Date());\n openHour = getHours(fromDate);\n openMinutes = getMinutes(fromDate);\n closeHour = getHours(toDate);\n closeMinutes = getMinutes(toDate);\n }\n\n return {\n day_of_week: slot.day,\n closed_all_day: closed,\n open_hour: openHour,\n open_minutes: openMinutes,\n close_hour: closeHour,\n close_minutes: closeMinutes,\n open_all_day: openAllDay,\n };\n });\n};\n\nexport const timeZoneOptions = () => {\n return Object.keys(timeZoneData).map(key => ({\n label: key,\n value: timeZoneData[key],\n }));\n};\n","import {\n timeSlotParse,\n defaultTimeSlot,\n} from 'dashboard/routes/dashboard/settings/inbox/helpers/businessHour.js';\nimport { utcToZonedTime } from 'date-fns-tz';\nimport { generateRelativeTime } from 'shared/helpers/DateHelper';\n\nconst MINUTE_ROUNDING_FACTOR = 5;\n\nexport default {\n data() {\n return {\n dayNames: this.$t('DAY_NAMES'),\n timeSlots: [...defaultTimeSlot],\n timeSlot: {},\n };\n },\n computed: {\n channelConfig() {\n return window.chatwootWebChannel;\n },\n workingHours() {\n return this.channelConfig.workingHours;\n },\n newDateWithTimeZone() {\n return utcToZonedTime(new Date(), this.timeZoneValue);\n },\n presentHour() {\n return this.newDateWithTimeZone.getHours();\n },\n presentMinute() {\n return this.newDateWithTimeZone.getMinutes();\n },\n currentDay() {\n const date = this.newDateWithTimeZone;\n const day = date.getDay();\n const currentDay = Object.keys(this.dayNames).find(\n key => this.dayNames[key] === this.dayNames[day]\n );\n return Number(currentDay);\n },\n timeZoneValue() {\n return this.channelConfig.timezone;\n },\n languageCode() {\n return window.chatwootWebChannel.locale;\n },\n currentDayWorkingHours() {\n return this.workingHours.find(\n slot => slot.day_of_week === this.currentDay\n );\n },\n nextDayWorkingHours() {\n let nextDay = this.getNextDay(this.currentDay);\n let nextWorkingHour = this.getNextWorkingHour(nextDay);\n\n // It gets the next working hour for the next day. If there is no working hour for the next day,\n // it keeps iterating through the days of the week until it finds the next working hour.\n while (!nextWorkingHour) {\n nextDay = this.getNextDay(nextDay);\n nextWorkingHour = this.getNextWorkingHour(nextDay);\n }\n return nextWorkingHour;\n },\n currentDayTimings() {\n const {\n open_hour: openHour,\n open_minutes: openMinute,\n close_hour: closeHour,\n } = this.currentDayWorkingHours ?? {};\n return {\n openHour,\n openMinute,\n closeHour,\n };\n },\n nextDayTimings() {\n const { open_hour: openHour, open_minutes: openMinute } =\n this.nextDayWorkingHours ?? {};\n return {\n openHour,\n openMinute,\n };\n },\n dayDiff() {\n // Here this is used to get the difference between current day and next working day\n const nextDay = this.nextDayWorkingHours.day_of_week;\n const totalDays = 6;\n return nextDay > this.currentDay\n ? nextDay - this.currentDay - 1\n : totalDays - this.currentDay + nextDay;\n },\n dayNameOfNextWorkingDay() {\n return this.dayNames[this.nextDayWorkingHours.day_of_week];\n },\n hoursAndMinutesBackInOnline() {\n if (this.presentHour >= this.currentDayTimings.closeHour) {\n return this.getHoursAndMinutesUntilNextDayOpen(\n this.nextDayWorkingHours.open_all_day\n ? 0\n : this.nextDayTimings.openHour,\n this.nextDayTimings.openMinute,\n this.currentDayTimings.closeHour\n );\n }\n return this.getHoursAndMinutesUntilNextDayOpen(\n this.currentDayTimings.openHour,\n this.currentDayTimings.openMinute,\n this.currentDayTimings.closeHour\n );\n },\n exactTimeInAmPm() {\n return `${\n this.timeSlot.day === this.currentDay ? `at ${this.timeSlot.from}` : ''\n }`;\n },\n hoursAndMinutesLeft() {\n const { hoursLeft, minutesLeft } = this.hoursAndMinutesBackInOnline;\n\n const timeLeftChars = [];\n\n if (hoursLeft > 0) {\n const roundedUpHoursLeft = minutesLeft > 0 ? hoursLeft + 1 : hoursLeft;\n const hourRelative = generateRelativeTime(\n roundedUpHoursLeft,\n 'hour',\n this.languageCode\n );\n timeLeftChars.push(`${hourRelative}`);\n }\n\n if (minutesLeft > 0 && hoursLeft === 0) {\n const roundedUpMinLeft =\n Math.ceil(minutesLeft / MINUTE_ROUNDING_FACTOR) *\n MINUTE_ROUNDING_FACTOR;\n const minRelative = generateRelativeTime(\n roundedUpMinLeft,\n 'minutes',\n this.languageCode\n );\n timeLeftChars.push(`${minRelative}`);\n }\n\n return timeLeftChars.join(' ');\n },\n hoursAndMinutesToBack() {\n const { hoursLeft, minutesLeft } = this.hoursAndMinutesBackInOnline;\n if (hoursLeft >= 3) {\n return this.exactTimeInAmPm;\n }\n if (hoursLeft > 0 || minutesLeft > 0) {\n return this.hoursAndMinutesLeft;\n }\n return 'in some time';\n },\n timeLeftToBackInOnline() {\n if (\n this.hoursAndMinutesBackInOnline.hoursLeft >= 24 ||\n (this.timeSlot.day !== this.currentDay && this.dayDiff === 0)\n ) {\n const hourRelative = generateRelativeTime(\n this.dayDiff + 1,\n 'days',\n this.languageCode\n );\n return `${hourRelative}`;\n }\n if (\n this.dayDiff >= 1 &&\n this.presentHour >= this.currentDayTimings.closeHour\n ) {\n return `on ${this.dayNameOfNextWorkingDay}`;\n }\n return this.hoursAndMinutesToBack;\n },\n },\n mounted() {\n this.setTimeSlot();\n },\n methods: {\n getNextDay(day) {\n // This code calculates the next day of the week based on the current day. If the current day is Saturday (6), then the next day will be Sunday (0).\n return (day + 1) % 7;\n },\n getNextWorkingHour(day) {\n const workingHour = this.workingHours.find(\n slot => slot.day_of_week === day\n );\n if (workingHour && !workingHour.closed_all_day) {\n return workingHour;\n }\n return null;\n },\n getHoursAndMinutesUntilNextDayOpen(\n openHour, // If the present time is after the closing time of the current day, then the openHour will be the opening hour of the next day else it will be the opening hour of the current day.\n openMinutes, // If the present time is after the closing time of the current day, then the openMinutes will be the opening minutes of the next day else it will be the opening minutes of the current day.\n closeHour // The closeHour will be the closing hour of the current day. It will be used to calculate the time remaining until the next day's opening hours.\n ) {\n // This code calculates the time remaining until the next day's opening hours,\n // given the current time, the opening hours, and the closing hours of the current day.\n if (closeHour < openHour) {\n openHour += 24;\n }\n let diffMinutes =\n openHour * 60 +\n openMinutes -\n (this.presentHour * 60 + this.presentMinute);\n diffMinutes = diffMinutes < 0 ? diffMinutes + 24 * 60 : diffMinutes;\n const [hoursLeft, minutesLeft] = [\n Math.floor(diffMinutes / 60),\n diffMinutes % 60,\n ];\n\n // It returns the remaining time in hours and minutes as an object with keys hours and minutes.\n return { hoursLeft, minutesLeft };\n },\n setTimeSlot() {\n // It checks if the working hours feature is enabled for the store.\n\n const timeSlots = this.workingHours;\n\n // If the present hour is after the closing hour of the current day,\n // then the next day's working hours will be used to calculate the time remaining until the next day's opening hours,\n // else the current day's working hours will be used\n const currentSlot =\n this.presentHour >= this.currentDayTimings.closeHour\n ? this.nextDayWorkingHours\n : this.currentDayWorkingHours;\n\n // It parses the working hours to get the time slots in AM/PM format.\n const slots = timeSlotParse(timeSlots).length\n ? timeSlotParse(timeSlots)\n : defaultTimeSlot;\n this.timeSlots = slots;\n\n // It finds the time slot for the current slot.\n this.timeSlot = this.timeSlots.find(\n slot => slot.day === currentSlot.day_of_week\n );\n },\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-1 flex-col justify-end\"},[_c('div',{staticClass:\"flex flex-1 overflow-auto\"}),_vm._v(\" \"),_c('team-availability',{attrs:{\"available-agents\":_vm.availableAgents,\"has-conversation\":!!_vm.conversationSize},on:{\"start-conversation\":_vm.startConversation}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedAvatars.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedAvatars.vue?vue&type=script&lang=js&\"","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailableAgents.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailableAgents.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./GroupedAvatars.vue?vue&type=template&id=bf708186&\"\nimport script from \"./GroupedAvatars.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupedAvatars.vue?vue&type=script&lang=js&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex\"},_vm._l((_vm.users),function(user,index){return _c('span',{key:user.id,class:((index ? '-ml-4' : '') + \" inline-block rounded-full text-white shadow-solid\")},[_c('thumbnail',{attrs:{\"size\":\"40px\",\"username\":user.name,\"src\":user.avatar,\"has-border\":\"\"}})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AvailableAgents.vue?vue&type=template&id=9765f988&\"\nimport script from \"./AvailableAgents.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailableAgents.vue?vue&type=script&lang=js&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('grouped-avatars',{attrs:{\"users\":_vm.users}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamAvailability.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TeamAvailability.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TeamAvailability.vue?vue&type=template&id=1da2fa67&\"\nimport script from \"./TeamAvailability.vue?vue&type=script&lang=js&\"\nexport * from \"./TeamAvailability.vue?vue&type=script&lang=js&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-5\"},[_c('div',{staticClass:\"flex items-center justify-between mb-4\"},[_c('div',{staticClass:\"max-w-xs\",class:_vm.$dm('text-black-700', 'dark:text-slate-50')},[_c('div',{staticClass:\"text-base leading-5 font-medium mb-1\"},[_vm._v(\"\\n \"+_vm._s(_vm.isOnline\n ? _vm.$t('TEAM_AVAILABILITY.ONLINE')\n : _vm.$t('TEAM_AVAILABILITY.OFFLINE'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"text-xs leading-4 mt-1\"},[_vm._v(\"\\n \"+_vm._s(_vm.replyWaitMessage)+\"\\n \")])]),_vm._v(\" \"),(_vm.isOnline)?_c('available-agents',{attrs:{\"agents\":_vm.availableAgents}}):_vm._e()],1),_vm._v(\" \"),_c('custom-button',{staticClass:\"font-medium\",attrs:{\"block\":\"\",\"bg-color\":_vm.widgetColor,\"text-color\":_vm.textColor},on:{\"click\":_vm.startConversation}},[_vm._v(\"\\n \"+_vm._s(_vm.hasConversation ? _vm.$t('CONTINUE_CONVERSATION') : _vm.$t('START_CONVERSATION'))+\"\\n \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=f2e40a68&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\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","import isToday from 'date-fns/isToday';\nimport isYesterday from 'date-fns/isYesterday'; // Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\n\n/**\r\n * @func Callback function to be called after delay\r\n * @delay Delay for debounce in ms\r\n * @immediate should execute immediately\r\n * @returns debounced callback function\r\n */\n\nvar debounce = function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = null;\n var args = arguments;\n\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = window.setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n};\n/**\r\n * @name Get contrasting text color\r\n * @description Get contrasting text color from a text color\r\n * @param bgColor Background color of text.\r\n * @returns contrasting text color\r\n */\n\n\nvar getContrastingTextColor = function getContrastingTextColor(bgColor) {\n var color = bgColor.replace('#', '');\n var r = parseInt(color.slice(0, 2), 16);\n var g = parseInt(color.slice(2, 4), 16);\n var b = parseInt(color.slice(4, 6), 16); // http://stackoverflow.com/a/3943023/112731\n\n return r * 0.299 + g * 0.587 + b * 0.114 > 186 ? '#000000' : '#FFFFFF';\n};\n/**\r\n * @name Get formatted date\r\n * @description Get date in today, yesterday or any other date format\r\n * @param date date\r\n * @param todayText Today text\r\n * @param yesterdayText Yesterday text\r\n * @returns formatted date\r\n */\n\n\nvar formatDate = function formatDate(_ref) {\n var date = _ref.date,\n todayText = _ref.todayText,\n yesterdayText = _ref.yesterdayText;\n var dateValue = new Date(date);\n if (isToday(dateValue)) return todayText;\n if (isYesterday(dateValue)) return yesterdayText;\n return date;\n};\n/**\r\n * @name formatTime\r\n * @description Format time to Hour, Minute and Second\r\n * @param timeInSeconds number\r\n * @returns formatted time\r\n */\n\n\nvar formatTime = function formatTime(timeInSeconds) {\n var formattedTime = '';\n\n if (timeInSeconds >= 60 && timeInSeconds < 3600) {\n var minutes = Math.floor(timeInSeconds / 60);\n formattedTime = minutes + \" Min\";\n var seconds = minutes === 60 ? 0 : Math.floor(timeInSeconds % 60);\n return formattedTime + (\"\" + (seconds > 0 ? ' ' + seconds + ' Sec' : ''));\n }\n\n if (timeInSeconds >= 3600 && timeInSeconds < 86400) {\n var hours = Math.floor(timeInSeconds / 3600);\n formattedTime = hours + \" Hr\";\n\n var _minutes = timeInSeconds % 3600 < 60 || hours === 24 ? 0 : Math.floor(timeInSeconds % 3600 / 60);\n\n return formattedTime + (\"\" + (_minutes > 0 ? ' ' + _minutes + ' Min' : ''));\n }\n\n if (timeInSeconds >= 86400) {\n var days = Math.floor(timeInSeconds / 86400);\n formattedTime = days + \" Day\";\n\n var _hours = timeInSeconds % 86400 < 3600 || days >= 364 ? 0 : Math.floor(timeInSeconds % 86400 / 3600);\n\n return formattedTime + (\"\" + (_hours > 0 ? ' ' + _hours + ' Hr' : ''));\n }\n\n return Math.floor(timeInSeconds) + \" Sec\";\n};\n/**\r\n * @name trimContent\r\n * @description Trim a string to max length\r\n * @param content String to trim\r\n * @param maxLength Length of the string to trim, default 1024\r\n * @param ellipsis Boolean to add dots at the end of the string, default false\r\n * @returns trimmed string\r\n */\n\n\nvar trimContent = function trimContent(content, maxLength, ellipsis) {\n if (content === void 0) {\n content = '';\n }\n\n if (maxLength === void 0) {\n maxLength = 1024;\n }\n\n if (ellipsis === void 0) {\n ellipsis = false;\n }\n\n var trimmedContent = content;\n\n if (content.length > maxLength) {\n trimmedContent = content.substring(0, maxLength);\n }\n\n if (ellipsis) {\n trimmedContent = trimmedContent + '...';\n }\n\n return trimmedContent;\n};\n/**\r\n * Function that parses a string boolean value and returns the corresponding boolean value\r\n * @param {string | number} candidate - The string boolean value to be parsed\r\n * @return {boolean} - The parsed boolean value\r\n */\n\n\nfunction parseBoolean(candidate) {\n try {\n // lowercase the string, so TRUE becomes true\n var candidateString = String(candidate).toLowerCase(); // wrap in boolean to ensure that the return value\n // is a boolean even if values like 0 or 1 are passed\n\n return Boolean(JSON.parse(candidateString));\n } catch (error) {\n return false;\n }\n}\n/**\r\n * Sorts an array of numbers in ascending order.\r\n * @param {number[]} arr - The array of numbers to be sorted.\r\n * @returns {number[]} - The sorted array.\r\n */\n\n\nfunction sortAsc(arr) {\n // .slice() is used to create a copy of the array so that the original array is not mutated\n return arr.slice().sort(function (a, b) {\n return a - b;\n });\n}\n/**\r\n * Calculates the quantile value of an array at a specified percentile.\r\n * @param {number[]} arr - The array of numbers to calculate the quantile value from.\r\n * @param {number} q - The percentile to calculate the quantile value for.\r\n * @returns {number} - The quantile value.\r\n */\n\n\nfunction quantile(arr, q) {\n var sorted = sortAsc(arr); // Sort the array in ascending order\n\n return _quantileForSorted(sorted, q); // Calculate the quantile value\n}\n/**\r\n * Clamps a value between a minimum and maximum range.\r\n * @param {number} min - The minimum range.\r\n * @param {number} max - The maximum range.\r\n * @param {number} value - The value to be clamped.\r\n * @returns {number} - The clamped value.\r\n */\n\n\nfunction clamp(min, max, value) {\n if (value < min) {\n return min;\n }\n\n if (value > max) {\n return max;\n }\n\n return value;\n}\n/**\r\n * This method assumes the the array provided is already sorted in ascending order.\r\n * It's a helper method for the quantile method and should not be exported as is.\r\n *\r\n * @param {number[]} arr - The array of numbers to calculate the quantile value from.\r\n * @param {number} q - The percentile to calculate the quantile value for.\r\n * @returns {number} - The quantile value.\r\n */\n\n\nfunction _quantileForSorted(sorted, q) {\n var clamped = clamp(0, 1, q); // Clamp the percentile between 0 and 1\n\n var pos = (sorted.length - 1) * clamped; // Calculate the index of the element at the specified percentile\n\n var base = Math.floor(pos); // Find the index of the closest element to the specified percentile\n\n var rest = pos - base; // Calculate the decimal value between the closest elements\n // Interpolate the quantile value between the closest elements\n // Most libraries don't to the interpolation, but I'm just having fun here\n // also see https://en.wikipedia.org/wiki/Quantile#Estimating_quantiles_from_a_sample\n\n if (sorted[base + 1] !== undefined) {\n // in case the position was a integer, the rest will be 0 and the interpolation will be skipped\n return sorted[base] + rest * (sorted[base + 1] - sorted[base]);\n } // Return the closest element if there is no interpolation possible\n\n\n return sorted[base];\n}\n/**\r\n * Calculates the quantile values for an array of intervals.\r\n * @param {number[]} data - The array of numbers to calculate the quantile values from.\r\n * @param {number[]} intervals - The array of intervals to calculate the quantile values for.\r\n * @returns {number[]} - The array of quantile values for the intervals.\r\n */\n\n\nvar getQuantileIntervals = function getQuantileIntervals(data, intervals) {\n // Sort the array in ascending order before looping through the intervals.\n // depending on the size of the array and the number of intervals, this can speed up the process by at least twice\n // for a random array of 100 numbers and 5 intervals, the speedup is 3x\n var sorted = sortAsc(data);\n return intervals.map(function (interval) {\n return _quantileForSorted(sorted, interval);\n });\n};\n\nvar MESSAGE_VARIABLES_REGEX = /{{(.*?)}}/g;\n\nvar skipCodeBlocks = function skipCodeBlocks(str) {\n return str.replace(/```(?:.|\\n)+?```/g, '');\n};\n\nvar capitalizeName = function capitalizeName(name) {\n return (name || '').replace(/\\b(\\w)/g, function (s) {\n return s.toUpperCase();\n });\n};\n\nvar getFirstName = function getFirstName(_ref) {\n var user = _ref.user;\n var firstName = user != null && user.name ? user.name.split(' ').shift() : '';\n return capitalizeName(firstName);\n};\n\nvar getLastName = function getLastName(_ref2) {\n var user = _ref2.user;\n\n if (user && user.name) {\n var lastName = user.name.split(' ').length > 1 ? user.name.split(' ').pop() : '';\n return capitalizeName(lastName);\n }\n\n return '';\n};\n\nvar getMessageVariables = function getMessageVariables(_ref3) {\n var _assignee$email;\n\n var conversation = _ref3.conversation;\n var _conversation$meta = conversation.meta,\n assignee = _conversation$meta.assignee,\n sender = _conversation$meta.sender,\n id = conversation.id;\n return {\n 'contact.name': capitalizeName((sender == null ? void 0 : sender.name) || ''),\n 'contact.first_name': getFirstName({\n user: sender\n }),\n 'contact.last_name': getLastName({\n user: sender\n }),\n 'contact.email': sender == null ? void 0 : sender.email,\n 'contact.phone': sender == null ? void 0 : sender.phone_number,\n 'contact.id': sender == null ? void 0 : sender.id,\n 'conversation.id': id,\n 'agent.name': capitalizeName((assignee == null ? void 0 : assignee.name) || ''),\n 'agent.first_name': getFirstName({\n user: assignee\n }),\n 'agent.last_name': getLastName({\n user: assignee\n }),\n 'agent.email': (_assignee$email = assignee == null ? void 0 : assignee.email) != null ? _assignee$email : ''\n };\n};\n\nvar replaceVariablesInMessage = function replaceVariablesInMessage(_ref4) {\n var message = _ref4.message,\n variables = _ref4.variables; // @ts-ignore\n\n return message.replace(MESSAGE_VARIABLES_REGEX, function (_, replace) {\n return variables[replace.trim()] ? variables[replace.trim().toLowerCase()] : '';\n });\n};\n\nvar getUndefinedVariablesInMessage = function getUndefinedVariablesInMessage(_ref5) {\n var message = _ref5.message,\n variables = _ref5.variables;\n var messageWithOutCodeBlocks = skipCodeBlocks(message);\n var matches = messageWithOutCodeBlocks.match(MESSAGE_VARIABLES_REGEX);\n if (!matches) return [];\n return matches.map(function (match) {\n return match.replace('{{', '').replace('}}', '').trim();\n }).filter(function (variable) {\n return !variables[variable];\n });\n};\n\nexport { clamp, debounce, formatDate, formatTime, getContrastingTextColor, getMessageVariables, getQuantileIntervals, getUndefinedVariablesInMessage, parseBoolean, quantile, replaceVariablesInMessage, sortAsc, trimContent };","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * Detects support for emoji character sets.\n *\n * Based on the Modernizr emoji detection.\n * https://github.com/Modernizr/Modernizr/blob/347ddb078116cee91b25b6e897e211b023f9dcb4/feature-detects/emoji.js\n *\n * @return {Boolean} true or false\n * @example\n *\n * hasEmojiSupport()\n * // => true|false\n */\nexport const hasEmojiSupport = () => {\n const pixelRatio = window.devicePixelRatio || 1;\n const offset = 12 * pixelRatio;\n const node = document.createElement('canvas');\n\n // canvastext support\n if (\n !node.getContext ||\n !node.getContext('2d') ||\n typeof node.getContext('2d').fillText !== 'function'\n ) {\n return false;\n }\n\n const ctx = node.getContext('2d');\n\n ctx.fillStyle = '#f00';\n ctx.textBaseline = 'top';\n ctx.font = '32px Arial';\n ctx.fillText('\\ud83d\\udc28', 0, 0); // U+1F428 KOALA\n return ctx.getImageData(offset, offset, 1, 1).data[0] !== 0;\n};\n\nexport const removeEmoji = text => {\n if (text) {\n return text\n .replace(\n /([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g,\n ''\n )\n .replace(/\\s+/g, ' ')\n .trim();\n }\n return '';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{class:_vm.buttonClassName,style:(_vm.buttonStyles),attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"","\n\n","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=4f2eb420&\"\nimport script from \"./Button.vue?vue&type=script&lang=js&\"\nexport * from \"./Button.vue?vue&type=script&lang=js&\"\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","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/dist/cjs.js??ref--3-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--3-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--3-3!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=fce88f76&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/dist/cjs.js??ref--3-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--3-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--3-3!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thumbnail.vue?vue&type=style&index=0&id=276dd085&lang=scss&scoped=true&\""],"sourceRoot":""}