{"version":3,"sources":["webpack:///./node_modules/@chatwoot/utils/dist/utils.esm.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./app/javascript/dashboard/components/widgets/Avatar.vue?f06b","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue?0ee6","webpack:///./app/javascript/widget/components/SelectMenu.vue?f4b8","webpack:///./app/javascript/widget/components/SelectMenu.vue?2ca4","webpack:///./app/javascript/widget/components/SelectMenu.vue?1a5f","webpack:///app/javascript/widget/components/SelectMenu.vue","webpack:///./app/javascript/widget/components/SelectMenu.vue","webpack:///./app/javascript/widget/views/Home.vue?70fe","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?84ff","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?c932","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/core-js/modules/es.string.trim.js","webpack:///./app/javascript/shared/helpers/emoji.js","webpack:///./app/javascript/dashboard/components/widgets/Thumbnail.vue?df12","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/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"],"names":["debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","window","setTimeout","getContrastingTextColor","bgColor","color","replace","parseInt","slice","formatTime","timeInSeconds","formattedTime","minutes","Math","floor","seconds","hours","_minutes","days","_hours","trimContent","content","maxLength","ellipsis","trimmedContent","length","substring","parseBoolean","candidate","candidateString","String","toLowerCase","Boolean","JSON","parse","error","sortAsc","arr","sort","a","b","_quantileForSorted","sorted","q","min","max","value","clamped","pos","base","rest","undefined","getQuantileIntervals","data","intervals","map","interval","fails","whitespaces","module","exports","METHOD_NAME","name","component","_vm","this","_h","$createElement","_c","_self","staticClass","_m","_v","on","$event","onSelectMenu","_l","user","index","key","id","class","attrs","avatar","users","$dm","_s","isOnline","$t","replyWaitMessage","availableAgents","_e","widgetColor","textColor","startConversation","hasConversation","chatbotEnabled","isISME","staticStyle","conversationSize","$","$trim","trim","target","proto","forced","forcedStringTrimMethod","hasEmojiSupport","offset","devicePixelRatio","node","document","createElement","getContext","fillText","ctx","fillStyle","textBaseline","font","getImageData","removeEmoji","text","style","userInitial","thumbnailBoxClass","height","size","width","title","directives","rawName","expression","thumbnailClass","src","onImgLoad","onImgError","shouldShowImage","userNameWithoutEmoji","avatarSize","badgeSrc","status","buttonClassName","disabled","onClick","_t"],"mappings":"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","file":"js/23-ee547ca20dbb56c50df5.chunk.js","sourcesContent":["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\nexport { clamp, debounce, formatDate, formatTime, getContrastingTextColor, getQuantileIntervals, parseBoolean, quantile, sortAsc, trimContent };","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","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=2f1c9ab6&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!./SelectMenu.vue?vue&type=style&index=0&id=40262a31&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"button-container\"},[_vm._m(0),_vm._v(\" \"),_c('button',{staticClass:\"vertical-button\",on:{\"click\":function($event){return _vm.onSelectMenu('IBD')}}},[_vm._v(\"\\n IBD\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"vertical-button\",on:{\"click\":function($event){return _vm.onSelectMenu('BBAE')}}},[_vm._v(\"\\n BBAE\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"vertical-button\",on:{\"click\":function($event){return _vm.onSelectMenu('IMD')}}},[_vm._v(\"\\n IMD\\n \")])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\"Chọn chủ đề\")])])}]\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!./SelectMenu.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!./SelectMenu.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./SelectMenu.vue?vue&type=template&id=40262a31&scoped=true&\"\nimport script from \"./SelectMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./SelectMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelectMenu.vue?vue&type=style&index=0&id=40262a31&scoped=true&lang=scss&\"\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 \"40262a31\",\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 flex-1 flex-col justify-center\"},[(_vm.showSelectMenu)?_c('SelectMenu'):_c('div',{staticClass:\"flex flex-1 flex-col justify-end\"},[_c('div',{staticClass:\"flex flex-1 overflow-auto\"},[(_vm.chatbotEnabled && !_vm.isISME)?_c('div',{staticStyle:{\"margin\":\"70px 30px\",\"line-height\":\"1.36\"}},[_vm._v(\"\\n Lưu ý:\\n \"),_c('li',{staticStyle:{\"margin-top\":\"10px\",\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Vui lòng ghi rõ tên ngành học/phương thức xét tuyển quan tâm (nếu có) trong câu hỏi, hạn chế viết tắt.\\n \")]),_vm._v(\" \"),_c('li',{staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Hãy liên tục ấn chọn \\n \"),_c('b',[_c('i',[_vm._v(\"\\n \\\"Chủ đề mới\\\"\\n \")])]),_vm._v(\"\\n khi bạn muốn hỏi về chương trình học/phương thức xét tuyển khác hoặc khi chưa nhận được câu trả lời mong muốn.\\n \")]),_vm._v(\" \"),_c('li',{staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Việc triển khai chatbot tại Trường ĐH Kinh tế Quốc dân nhằm cung cấp trải nghiệm công nghệ cho sinh viên. Để đảm bảo thông tin chính xác, hãy tham khảo thêm từ tư vấn viên và kênh truyền thông chính thống của trường.\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.chatbotEnabled && _vm.isISME)?_c('div',{staticStyle:{\"margin\":\"60px 30px\",\"line-height\":\"1.36\"}},[_vm._v(\"\\n Lưu ý:\\n \"),_c('li',{staticStyle:{\"margin-top\":\"10px\",\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Vui lòng ghi rõ tên ngành học/phương thức xét tuyển quan tâm (nếu có) trong câu hỏi, hạn chế viết tắt.\\n \")]),_vm._v(\" \"),_c('li',{staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Hãy liên tục ấn chọn \\n \"),_c('b',[_c('i',[_vm._v(\"\\n \\\"Chủ đề mới\\\"\\n \")])]),_vm._v(\"\\n khi bạn muốn hỏi về chương trình học khác hoặc khi chưa nhận được câu trả lời mong muốn.\\n \")]),_vm._v(\" \"),_c('li',{staticStyle:{\"margin-bottom\":\"5px\"}},[_vm._v(\"\\n Việc triển khai chatbot tại Viện Đào tạo Quốc tế nhằm cung cấp trải nghiệm công nghệ cho người dùng. Nếu có thông tin nào chưa rõ hoặc chưa cung cấp đủ, vui lòng tham khảo thêm từ website hoặc fanpage (fb.com/ibd.neu hoặc fb.com/bbae.isme) để nhận tư vấn từ tư vấn viên của Viện ĐTQT.\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('team-availability',{attrs:{\"available-agents\":_vm.availableAgents,\"has-conversation\":!!_vm.conversationSize},on:{\"start-conversation\":_vm.startConversation}})],1)],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=1f2b141a&\"\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=4e0ad87e&\"\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=19b62416&\"\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","'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","/**\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","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\",style:(_vm.badgeStyle),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=2f1c9ab6&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=2f1c9ab6&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 \"2f1c9ab6\",\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('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"],"sourceRoot":""}