{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./app/javascript/widget/components/ArticleCategoryCard.vue?4712","webpack:///./app/javascript/widget/views/Home.vue?733d","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?c723","webpack:///./app/javascript/widget/components/AvailableAgents.vue","webpack:///./app/javascript/widget/components/AvailableAgents.vue?a900","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?0260","webpack:///./app/javascript/widget/components/ArticleListItem.vue?f2ac","webpack:///app/javascript/widget/components/ArticleListItem.vue","webpack:///./app/javascript/widget/components/ArticleList.vue?0d08","webpack:///app/javascript/widget/components/ArticleList.vue","webpack:///./app/javascript/widget/components/ArticleListItem.vue","webpack:///./app/javascript/widget/components/ArticleListItem.vue?6052","webpack:///./app/javascript/widget/components/ArticleList.vue","webpack:///./app/javascript/widget/components/ArticleList.vue?f6c9","webpack:///app/javascript/widget/components/ArticleCategoryCard.vue","webpack:///./app/javascript/widget/components/ArticleCategoryCard.vue?e9ab","webpack:///./app/javascript/widget/components/ArticleHero.vue?6b77","webpack:///app/javascript/widget/components/ArticleHero.vue","webpack:///./app/javascript/widget/components/ArticleCategoryCard.vue","webpack:///./app/javascript/widget/components/ArticleCategoryCard.vue?5276","webpack:///./app/javascript/widget/components/ArticleHero.vue","webpack:///./app/javascript/widget/components/ArticleHero.vue?cb3d","webpack:///./app/javascript/widget/components/ArticleCardSkeletonLoader.vue","webpack:///./app/javascript/widget/components/ArticleCardSkeletonLoader.vue?e2d1","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.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/create-html.js","webpack:///./node_modules/core-js/internals/string-html-forced.js"],"names":["$","createHTML","target","proto","forced","forcedStringHTMLMethod","link","url","this","_vm","_c","_self","staticClass","_l","user","index","key","id","class","attrs","name","avatar","users","_v","_s","isOnline","$t","replyWaitMessage","availableAgents","_e","style","color","widgetColor","on","startConversation","hasConversation","onClick","title","article","slug","articles","onArticleClick","$event","$emit","slice","_m","showArticles","conversationSize","unreadMessageCount","articleUiFlags","isFetching","isError","popularArticles","length","openArticleInArticleViewer","viewAllArticles","debounce","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","window","setTimeout","getContrastingTextColor","bgColor","replace","parseInt","formatTime","timeInSeconds","formattedTime","minutes","Math","floor","seconds","hours","_minutes","days","_hours","trimContent","content","maxLength","ellipsis","trimmedContent","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","_extends","Object","assign","i","source","prototype","hasOwnProperty","call","MESSAGE_VARIABLES_REGEX","capitalizeName","s","toUpperCase","getFirstName","_ref","firstName","split","shift","getLastName","_ref2","lastName","pop","getMessageVariables","_ref3","_assignee$email","conversation","contact","_conversation$meta","meta","assignee","sender","_conversation$custom_","custom_attributes","conversationCustomAttributes","contactCustomAttributes","email","phone_number","entries","reduce","acc","_ref5","_ref6","replaceVariablesInMessage","_ref7","message","variables","_","trim","getUndefinedVariablesInMessage","_ref8","matches","match","filter","variable","createTypingIndicator","onStartTyping","onStopTyping","idleTime","timer","stop","reset","start","$trim","forcedStringTrimMethod","fails","whitespaces","module","exports","METHOD_NAME","requireObjectCoercible","quot","string","tag","attribute","S","p1","test"],"mappings":"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","file":"js/60-968cb9c0c924fd50eacc.chunk.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\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/dist/cjs.js??ref--3-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--3-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCategoryCard.vue?vue&type=style&index=0&id=109d0cc8&prod&lang=scss&scoped=true&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"z-50 rounded-md w-full flex flex-1 flex-col\",class:{ 'pb-2': _vm.showArticles, 'justify-end': !_vm.showArticles }},[_c('div',{staticClass:\"px-4 pt-4 w-full\"},[_c('team-availability',{attrs:{\"available-agents\":_vm.availableAgents,\"has-conversation\":!!_vm.conversationSize,\"unread-count\":_vm.unreadMessageCount},on:{\"start-conversation\":_vm.startConversation}})],1),_vm._v(\" \"),(_vm.showArticles)?_c('div',{staticClass:\"px-4 py-2 w-full\"},[_c('div',{staticClass:\"p-4 rounded-md bg-white dark:bg-slate-700 shadow-sm w-full\"},[(\n !_vm.articleUiFlags.isFetching &&\n !_vm.articleUiFlags.isError &&\n _vm.popularArticles.length\n )?_c('article-hero',{attrs:{\"articles\":_vm.popularArticles},on:{\"view\":_vm.openArticleInArticleViewer,\"view-all\":_vm.viewAllArticles}}):_vm._e()],1)]):_vm._e(),_vm._v(\" \"),(_vm.articleUiFlags.isFetching)?_c('div',{staticClass:\"px-4 py-2 w-full\"},[_c('div',{staticClass:\"p-4 rounded-md bg-white dark:bg-slate-700 shadow-sm w-full\"},[_c('article-card-skeleton-loader')],1)]):_vm._e()])\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!./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=4e666ae4&\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"flex\"},_vm._l((_vm.users),function(user,index){return _c('span',{key:user.id,class:`${\n index ? '-ml-4' : ''\n } inline-block rounded-full text-white shadow-solid`},[_c('thumbnail',{attrs:{\"size\":\"36px\",\"username\":user.name,\"src\":user.avatar,\"has-border\":\"\"}})],1)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AvailableAgents.vue?vue&type=template&id=9b8cb78a&\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('grouped-avatars',{attrs:{\"users\":_vm.users}})\n}\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=5f869825&\"\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"p-4 shadow-sm rounded-md bg-white dark:bg-slate-700\"},[_c('div',{staticClass:\"flex items-center justify-between\"},[_c('div',{staticClass:\"\"},[_c('div',{staticClass:\"text-sm font-medium text-slate-700 dark:text-slate-50\"},[_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-sm mt-1 text-slate-500 dark:text-slate-100\"},[_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('button',{staticClass:\"inline-flex text-sm font-medium rounded-md py-1 mt-2 px-2 -ml-2 leading-6 text-slate-800 dark:text-slate-50 justify-between items-center hover:bg-slate-25 dark:hover:bg-slate-800\",style:({ color: _vm.widgetColor }),on:{\"click\":_vm.startConversation}},[_c('span',{staticClass:\"pr-2 text-sm\"},[_vm._v(\"\\n \"+_vm._s(_vm.hasConversation\n ? _vm.$t('CONTINUE_CONVERSATION')\n : _vm.$t('START_CONVERSATION'))+\"\\n \")]),_vm._v(\" \"),_c('fluent-icon',{attrs:{\"icon\":\"arrow-right\",\"size\":\"14\"}})],1)])\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!./ArticleListItem.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!./ArticleListItem.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!./ArticleList.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!./ArticleList.vue?vue&type=script&lang=js&\"","\n\n\n","import { render, staticRenderFns } from \"./ArticleListItem.vue?vue&type=template&id=32ecc582&\"\nimport script from \"./ArticleListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ArticleListItem.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 render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"py-1 flex items-center justify-between -mx-1 px-1 hover:bg-slate-25 dark:hover:bg-slate-600 rounded cursor-pointer text-slate-700 dark:text-slate-50 dark:hover:text-slate-25 hover:text-slate-900\",attrs:{\"role\":\"button\"},on:{\"click\":_vm.onClick}},[_c('button',{staticClass:\"underline-offset-2 text-sm leading-6 text-left\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"pl-1 arrow\"},[_c('fluent-icon',{attrs:{\"icon\":\"arrow-right\",\"size\":\"14\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ArticleList.vue?vue&type=template&id=302482e3&\"\nimport script from \"./ArticleList.vue?vue&type=script&lang=js&\"\nexport * from \"./ArticleList.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 render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"py-2\",attrs:{\"role\":\"list\"}},_vm._l((_vm.articles),function(article){return _c('article-list-item',{key:article.slug,attrs:{\"link\":article.link,\"title\":article.title},on:{\"click\":_vm.onClick}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\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!./ArticleCategoryCard.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!./ArticleCategoryCard.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js??ref--7-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleHero.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!./ArticleHero.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./ArticleCategoryCard.vue?vue&type=template&id=109d0cc8&scoped=true&\"\nimport script from \"./ArticleCategoryCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ArticleCategoryCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ArticleCategoryCard.vue?vue&type=style&index=0&id=109d0cc8&prod&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 \"109d0cc8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h3',{staticClass:\"text-sm font-medium text-slate-800 dark:text-slate-50 mb-0\"},[_vm._v(\"\\n \"+_vm._s(_vm.title)+\"\\n \")]),_vm._v(\" \"),_c('article-list',{attrs:{\"articles\":_vm.articles},on:{\"click\":_vm.onArticleClick}}),_vm._v(\" \"),_c('button',{staticClass:\"inline-flex text-sm font-medium rounded-md px-2 py-1 -ml-2 leading-6 text-slate-800 dark:text-slate-50 justify-between items-center hover:bg-slate-25 dark:hover:bg-slate-800 see-articles\",style:({ color: _vm.widgetColor }),on:{\"click\":function($event){return _vm.$emit('view-all')}}},[_c('span',{staticClass:\"pr-2 text-sm\"},[_vm._v(_vm._s(_vm.$t('PORTAL.VIEW_ALL_ARTICLES')))]),_vm._v(\" \"),_c('fluent-icon',{attrs:{\"icon\":\"arrow-right\",\"size\":\"14\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ArticleHero.vue?vue&type=template&id=fe50520a&\"\nimport script from \"./ArticleHero.vue?vue&type=script&lang=js&\"\nexport * from \"./ArticleHero.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 render(){var _vm=this,_c=_vm._self._c;return _c('category-card',{attrs:{\"title\":_vm.$t('PORTAL.POPULAR_ARTICLES'),\"articles\":_vm.articles.slice(0, 6)},on:{\"view-all\":function($event){return _vm.$emit('view-all')},\"view\":_vm.onArticleClick}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ArticleCardSkeletonLoader.vue?vue&type=template&id=ba622d24&\"\nvar script = {}\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 render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"py-4 space-y-4 bg-white dark:bg-slate-700\"},[_c('div',{staticClass:\"space-y-2 animate-pulse\"},[_c('div',{staticClass:\"h-6 bg-slate-100 dark:bg-slate-500 rounded w-2/5\"})]),_vm._v(\" \"),_c('div',{staticClass:\"space-y-2 animate-pulse\"},[_c('div',{staticClass:\"h-4 bg-slate-100 dark:bg-slate-500 rounded\"}),_vm._v(\" \"),_c('div',{staticClass:\"h-4 bg-slate-100 dark:bg-slate-500 rounded\"}),_vm._v(\" \"),_c('div',{staticClass:\"h-4 bg-slate-100 dark:bg-slate-500 rounded\"})]),_vm._v(\" \"),_c('div',{staticClass:\"space-y-2 animate-pulse\"},[_c('div',{staticClass:\"h-4 bg-slate-100 dark:bg-slate-500 rounded w-1/5\"})])])\n}]\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=31426bcf&\"\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\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\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 contact = _ref3.contact;\n var _conversation$meta = conversation.meta,\n assignee = _conversation$meta.assignee,\n sender = _conversation$meta.sender,\n id = conversation.id,\n _conversation$custom_ = conversation.custom_attributes,\n conversationCustomAttributes = _conversation$custom_ === void 0 ? {} : _conversation$custom_;\n\n var _ref4 = contact || {},\n contactCustomAttributes = _ref4.custom_attributes;\n\n var standardVariables = {\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 var conversationCustomAttributeVariables = Object.entries(conversationCustomAttributes).reduce(function (acc, _ref5) {\n var key = _ref5[0],\n value = _ref5[1];\n acc[\"conversation.custom_attribute.\" + key] = value;\n return acc;\n }, {});\n var contactCustomAttributeVariables = Object.entries(contactCustomAttributes).reduce(function (acc, _ref6) {\n var key = _ref6[0],\n value = _ref6[1];\n acc[\"contact.custom_attribute.\" + key] = value;\n return acc;\n }, {});\n\n var variables = _extends({}, standardVariables, conversationCustomAttributeVariables, contactCustomAttributeVariables);\n\n return variables;\n};\n\nvar replaceVariablesInMessage = function replaceVariablesInMessage(_ref7) {\n var message = _ref7.message,\n variables = _ref7.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(_ref8) {\n var message = _ref8.message,\n variables = _ref8.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] === undefined;\n });\n};\n/**\r\n * Creates a typing indicator utility.\r\n * @param onStartTyping Callback function to be called when typing starts\r\n * @param onStopTyping Callback function to be called when typing stops after delay\r\n * @param idleTime Delay for idle time in ms before considering typing stopped\r\n * @returns An object with start and stop methods for typing indicator\r\n */\n\n\nvar createTypingIndicator = function createTypingIndicator(onStartTyping, onStopTyping, idleTime) {\n var timer = null;\n\n var start = function start() {\n if (!timer) {\n onStartTyping();\n }\n\n reset();\n };\n\n var stop = function stop() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n onStopTyping();\n }\n };\n\n var reset = function reset() {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n stop();\n }, idleTime);\n };\n\n return {\n start: start,\n stop: stop\n };\n};\n\nexport { clamp, createTypingIndicator, debounce, formatDate, formatTime, getContrastingTextColor, getMessageVariables, getQuantileIntervals, getUndefinedVariablesInMessage, parseBoolean, quantile, replaceVariablesInMessage, sortAsc, trimContent };","'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 requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n"],"sourceRoot":""}