{"version":3,"sources":["webpack:///./src/components/_global/CharacterCell.vue?ca61","webpack:///./src/components/_global/CharacterCell.vue","webpack:///./src/components/_global/CharacterCell.vue?ba20","webpack:///./src/components/_global/CharacterCell.vue?1f8b","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///../../../src/components/VTooltip/VTooltip.ts","webpack:///./src/utils/date-helpers.ts","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///./src/config/external-links.ts","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","style","simple","attrs","classes","character","class","color","$vuetify","theme","dark","hideIcon","thumbnail","imageLinks","thumbnailCharacter","thumbnailClass","_e","scopedSlots","_u","key","fn","userPremiumLevel","staticStyle","_v","proxy","staticClass","$slots","_t","_s","name","staticRenderFns","required","type","Boolean","default","component","VAvatar","VBadge","VChip","VIcon","VImg","toLength","repeat","defined","module","exports","that","maxLength","fillString","left","S","String","stringLength","length","fillStr","undefined","intMaxLength","fillLen","stringFiller","call","Math","ceil","slice","props","closeDelay","Number","disabled","fixed","openDelay","openOnHover","tag","transition","data","calculatedMinWidth","closeDependents","computed","calculatedLeft","content","unknown","activatorLeft","attach","activator","top","right","parseInt","calcXOverflow","dimensions","calculatedTop","activatorTop","bottom","calcYOverflow","computedTransition","isActive","offsetY","offsetX","styles","maxWidth","minWidth","opacity","zIndex","activeZIndex","beforeMount","mounted","methods","activate","requestAnimationFrame","deactivate","genActivatorListeners","listeners","e","genActivatorAttributes","genTransition","genContent","setBackgroundColor","activatorFixed","directives","value","isContentActive","ref","h","showLazyContent","createDateString","year","month","day","toString","padStart","getLocaleString","date","locale","toLocaleString","getLocaleStringFromDateString","dateString","Date","parse","getLocaleStringFromDateStringWithOptions","options","getDateTimeString","getTime","getTimezoneOffset","toISOString","getElegantDateString","toLocaleDateString","weekday","getElegantDateStringFromString","dateAsString","getMonthName","monthNumber","getDateStringFromDateTimeAsString","dateTimeAsString","split","getDateString","smartDisplayDays","numberOfDays","years","floor","months","days","result","push","join","differenceInMinutesBetweenDates","date1","date2","round","differenceInDaysBetweenDates","UTC","getFullYear","getMonth","getDate","getMaxDate","dates","reduce","a","b","getTimeSince","referenceDate","onlyMinutes","intervalType","seconds","interval","avatar","bordered","dot","label","icon","inline","overlap","tile","themeClasses","computedBottom","computedLeft","computedRight","computedTop","computedXOffset","calcPosition","computedYOffset","isRtl","offset","genBadge","lang","$attrs","title","role","badge","origin","mode","genBadgeContent","slot","genBadgeWrapper","children","realmFormat","realm","toLowerCase","replace","armoryCharacter","characterName","realmName","region","raiderIOCharacter","warcraftLogsCharacter","$export","$pad","userAgent","WEBKIT_BUG","test","P","F","arguments"],"mappings":"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","file":"dist/js/chunk-20951b22.bfbee6f9.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{style:({'width':'100%', 'white-space': 'nowrap', 'border':0, 'padding':(_vm.simple ? '18px' : '20px')}),attrs:{\"color\":_vm.classes[_vm.character.class].color,\"outlined\":_vm.$vuetify.theme.dark,\"label\":\"\"}},[(_vm.simple && !_vm.hideIcon)?_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-img',{attrs:{\"src\":_vm.character.thumbnail != null ? _vm.imageLinks.thumbnailCharacter(_vm.character.thumbnail) : _vm.imageLinks.thumbnailClass(_vm.character.class)}})],1):(!_vm.simple && !_vm.hideIcon)?_c('v-badge',{attrs:{\"avatar\":\"\",\"overlap\":\"\",\"bottom\":\"\",\"color\":\"transparent\",\"offset-x\":\"20\",\"offset-y\":\"15\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [(_vm.character.userPremiumLevel > 0)?_c('v-avatar',[_c('v-icon',{staticStyle:{\"text-shadow\":\"1px 1px 3px #000\"},attrs:{\"color\":\"yellow\"}},[_vm._v(\"mdi-star\")])],1):_vm._e()]},proxy:true}])},[_c('v-avatar',{class:(\"premium large premium-\" + ((_vm.character.userPremiumLevel ? _vm.character.userPremiumLevel : 0))),attrs:{\"left\":\"\"}},[_c('img',{attrs:{\"src\":_vm.character.thumbnail != null ? _vm.imageLinks.thumbnailCharacter(_vm.character.thumbnail) : _vm.imageLinks.thumbnailClass(_vm.character.class)}})])],1):_vm._e(),_c('div',{staticClass:\"d-flex\"},[(_vm.$slots['default'])?_c('div',{staticClass:\"px-2\"},[_vm._t(\"default\")],2):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.character.name))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { Prop, Component } from \"vue-property-decorator\";\n\n/**\n * Utils\n */\nimport classes from \"@/config/wow/classes\";\nimport * as imageLinks from \"@/config/image-links\";\n\n\n/**\n * Character cell component.\n */\n@Component\nexport default class CharacterCell extends Vue {\n\t// Injections\n\timageLinks = imageLinks;\n\tclasses = classes;\n\n\t@Prop({required: true})\n\tcharacter!: {\n\t\tuserPremiumLevel: number;\n\t\tclass: string;\n\t\tthumbnail: string | null;\n\t\tname: string;\n\t};\n\n\t@Prop()\n\tnote!: string | null;\n\n\t@Prop({type: Boolean, default: false})\n\tsimple!: boolean;\n\n\t@Prop({type: Boolean, default: false})\n\thideIcon!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CharacterCell.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CharacterCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CharacterCell.vue?vue&type=template&id=785eb82f&\"\nimport script from \"./CharacterCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./CharacterCell.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VAvatar,VBadge,VChip,VIcon,VImg})\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n  var S = String(defined(that));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  if (intMaxLength <= stringLength || fillStr == '') return S;\n  var fillLen = intMaxLength - stringLength;\n  var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n  return left ? stringFiller + S : S + stringFiller;\n};\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n  name: 'v-tooltip',\n\n  props: {\n    closeDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n    disabled: Boolean,\n    fixed: {\n      type: Boolean,\n      default: true,\n    },\n    openDelay: {\n      type: [Number, String],\n      default: 0,\n    },\n    openOnHover: {\n      type: Boolean,\n      default: true,\n    },\n    tag: {\n      type: String,\n      default: 'span',\n    },\n    transition: String,\n  },\n\n  data: () => ({\n    calculatedMinWidth: 0,\n    closeDependents: false,\n  }),\n\n  computed: {\n    calculatedLeft (): string {\n      const { activator, content } = this.dimensions\n      const unknown = !this.bottom && !this.left && !this.top && !this.right\n      const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n      let left = 0\n\n      if (this.top || this.bottom || unknown) {\n        left = (\n          activatorLeft +\n          (activator.width / 2) -\n          (content.width / 2)\n        )\n      } else if (this.left || this.right) {\n        left = (\n          activatorLeft +\n          (this.right ? activator.width : -content.width) +\n          (this.right ? 10 : -10)\n        )\n      }\n\n      if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n      if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n      return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n    },\n    calculatedTop (): string {\n      const { activator, content } = this.dimensions\n      const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n      let top = 0\n\n      if (this.top || this.bottom) {\n        top = (\n          activatorTop +\n          (this.bottom ? activator.height : -content.height) +\n          (this.bottom ? 10 : -10)\n        )\n      } else if (this.left || this.right) {\n        top = (\n          activatorTop +\n          (activator.height / 2) -\n          (content.height / 2)\n        )\n      }\n\n      if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n      if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n      return `${this.calcYOverflow(top + this.pageYOffset)}px`\n    },\n    classes (): object {\n      return {\n        'v-tooltip--top': this.top,\n        'v-tooltip--right': this.right,\n        'v-tooltip--bottom': this.bottom,\n        'v-tooltip--left': this.left,\n        'v-tooltip--attached':\n          this.attach === '' ||\n          this.attach === true ||\n          this.attach === 'attach',\n      }\n    },\n    computedTransition (): string {\n      if (this.transition) return this.transition\n\n      return this.isActive ? 'scale-transition' : 'fade-transition'\n    },\n    offsetY (): boolean {\n      return this.top || this.bottom\n    },\n    offsetX (): boolean {\n      return this.left || this.right\n    },\n    styles (): object {\n      return {\n        left: this.calculatedLeft,\n        maxWidth: convertToUnit(this.maxWidth),\n        minWidth: convertToUnit(this.minWidth),\n        opacity: this.isActive ? 0.9 : 0,\n        top: this.calculatedTop,\n        zIndex: this.zIndex || this.activeZIndex,\n      }\n    },\n  },\n\n  beforeMount () {\n    this.$nextTick(() => {\n      this.value && this.callActivate()\n    })\n  },\n\n  mounted () {\n    if (getSlotType(this, 'activator', true) === 'v-slot') {\n      consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n    }\n  },\n\n  methods: {\n    activate () {\n      // Update coordinates and dimensions of menu\n      // and its activator\n      this.updateDimensions()\n      // Start the transition\n      requestAnimationFrame(this.startTransition)\n    },\n    deactivate () {\n      this.runDelay('close')\n    },\n    genActivatorListeners () {\n      const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n      listeners.focus = (e: Event) => {\n        this.getActivator(e)\n        this.runDelay('open')\n      }\n      listeners.blur = (e: Event) => {\n        this.getActivator(e)\n        this.runDelay('close')\n      }\n      listeners.keydown = (e: KeyboardEvent) => {\n        if (e.keyCode === keyCodes.esc) {\n          this.getActivator(e)\n          this.runDelay('close')\n        }\n      }\n\n      return listeners\n    },\n    genActivatorAttributes () {\n      return {\n        'aria-haspopup': true,\n        'aria-expanded': String(this.isActive),\n      }\n    },\n    genTransition () {\n      const content = this.genContent()\n\n      if (!this.computedTransition) return content\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.computedTransition,\n        },\n      }, [content])\n    },\n    genContent () {\n      return this.$createElement(\n        'div',\n        this.setBackgroundColor(this.color, {\n          staticClass: 'v-tooltip__content',\n          class: {\n            [this.contentClass]: true,\n            menuable__content__active: this.isActive,\n            'v-tooltip__content--fixed': this.activatorFixed,\n          },\n          style: this.styles,\n          attrs: this.getScopeIdAttrs(),\n          directives: [{\n            name: 'show',\n            value: this.isContentActive,\n          }],\n          ref: 'content',\n        }),\n        this.getContentSlot()\n      )\n    },\n  },\n\n  render (h): VNode {\n    return h(this.tag, {\n      staticClass: 'v-tooltip',\n      class: this.classes,\n    }, [\n      this.showLazyContent(() => [this.genTransition()]),\n      this.genActivator(),\n    ])\n  },\n})\n","/**\n * Retourne un *string* de la forme \"YYYY-MM-DD\" à partir de Year, Month, Day.\n * @param year\n * @param month\n * @param day\n */\nexport const createDateString = (year: number, month: number, day: number) => {\n\treturn `${year}-${month.toString().padStart(2, \"0\")}-${day.toString().padStart(2, \"0\")}`;\n};\n\n/**\n * Retourne un *string* de la forme \"DD/MM/YYYY\" à partir d'une date.\n * @param date\n * @param locale\n */\nexport const getLocaleDateString = (date: Date, locale = \"en-US\") => {\n\treturn date.toLocaleDateString(locale);\n};\n\n/**\n * Retourne un *string* de la forme \"DD/MM/YYYY à HH:mm:ss\" à partir d'une date.\n * @param date\n * @param locale\n */\nexport const getLocaleString = (date: Date, locale = \"en-US\") => {\n\treturn date.toLocaleString(locale);\n};\n\n/**\n * Retourne un *string* de la forme \"DD/MM/YYYY à HH:mm:ss\" à partir d'une date string.\n * @param dateString\n * @param locale\n */\nexport const getLocaleStringFromDateString = (dateString: string, locale = \"en-GB\") => {\n\treturn getLocaleString(new Date(Date.parse(dateString)), locale);\n};\n\n/**\n * Retourne un *string* de la forme \"Aug 22nd 2020 hh:mm:ss UTC\" à partir d'une date string.\n */\nexport const getLocaleStringFromDateStringWithOptions = (dateString: string, options?: Intl.DateTimeFormatOptions, locale = \"en-GB\") => {\n\treturn (new Date(Date.parse(dateString))).toLocaleString(locale, options);\n};\n\n\n/**\n * Retourne un *string* de la forme \"2019-03-20T11:24:06.065Z\".\n * @param date\n */\nexport const getDateTimeString = (date: Date) => {\n\treturn new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString();\n};\n\n\n/**\n * Retourne un *string* de la forme \"lundi 1 janvier 2000\" à partir d'une date.\n * @param date\n * @param locale\n */\nexport const getElegantDateString = (date: Date, locale = \"en-US\") => {\n\treturn date.toLocaleDateString(locale, {\n\t\tweekday: \"long\",\n\t\tyear: \"numeric\",\n\t\tmonth: \"long\",\n\t\tday: \"numeric\"\n\t});\n};\n\n/**\n * Retourne un *string* de la forme \"lundi 1 janvier 2000\" à partir d'une string de la forme yyyy-MM-dd.\n */\nexport const getElegantDateStringFromString = (dateAsString: string, locale = \"en-US\") => {\n\treturn (new Date(`${dateAsString}T00:00:00`)).toLocaleDateString(locale, {\n\t\tweekday: \"long\",\n\t\tyear: \"numeric\",\n\t\tmonth: \"long\",\n\t\tday: \"numeric\"\n\t});\n};\n\n/**\n * Retourne le mois traduit dans la {locale} à partir du numéro du mois.\n * @param monthNumber\n * @param locale\n */\nexport const getMonthName = (monthNumber: number, locale = \"en-US\") => {\n\treturn (new Date(`2000-${monthNumber.toString().padStart(2, \"0\")}-01T00:00:00`)).toLocaleDateString(locale, {\n\t\tmonth: \"long\"\n\t});\n};\n\n\n/**\n * Retourne un *string* de la forme \"janvier\" à partir d'une date.\n * @param date\n * @param locale\n */\nexport const getMonthStringFromDate = (date: Date, locale = \"en-US\") => {\n\treturn date.toLocaleDateString(locale, {\n\t\tmonth: \"long\"\n\t});\n};\n\n/**\n * Retourne le timestamp en nombre de jours (arrondi en floor).\n */\nexport const getTimestampInDays = (timestampInMS: number) => {\n\treturn Math.floor((((timestampInMS / 1000) / 60) / 60) / 24);\n};\n\n/**\n * Retourne un *string* de la forme \"2019-03-20\".\n */\nexport const getDateStringFromDateTimeAsString = (dateTimeAsString: string) => {\n\treturn dateTimeAsString.split(\"T\")[0];\n};\n\n/**\n * Retourne un *string* de la forme \"2019-03-20\".\n * @param date\n */\nexport const getDateString = (date: Date) => {\n\treturn getDateStringFromDateTimeAsString(getDateTimeString(date));\n};\n/**\n * Retourne un *string* de la forme \"2019-03\".\n * @param date\n */\nexport const getYearMonthString = (date: Date) => {\n\tconst dateStringSplit = getDateString(date).split(\"-\");\n\treturn `${dateStringSplit[0]}-${dateStringSplit[1]}`;\n};\n/**\n * Retourne un *string* de la forme \"11:24:06.065Z\".\n * @param date\n */\nexport const getTimeString = (date: Date) => {\n\treturn getDateTimeString(date).split(\"T\")[1];\n};\n/**\n * Retourne un *string* de la forme \"11:24\".\n * @param date\n */\nexport const getShortTimeString = (date: Date) => {\n\tconst timeSplit = getTimeString(date).split(\":\");\n\treturn `${timeSplit[0]}:${timeSplit[1]}`;\n};\n\n/**\n * Ajout un nombre de minutes à un time de la forme \"11:24\".\n * @param time\n * @param nbMinutesToAdd\n */\nexport const addMinutes = (time: string, nbMinutesToAdd: number) => {\n\tconst timeSplit = time.split(\":\");\n\tconst hour = parseInt(timeSplit[0], 10);\n\tconst minute = parseInt(timeSplit[1], 10);\n\n\tconst rawMinuteAfterAddition = minute + nbMinutesToAdd;\n\treturn `${(hour + Math.floor(rawMinuteAfterAddition / 60)).toString().padStart(2, \"0\")}:${(rawMinuteAfterAddition % 60).toString().padStart(2, \"0\")}`;\n};\n\n/**\n * Retourne un affichage *string* intelligent d'une durée en heures ou en minutes.\n * @param minutes\n */\nexport const smartDisplayMinutes = (minutes: number) => {\n\tif (minutes == null) {\n\t\treturn \"-\";\n\t}\n\tif (minutes >= 60) {\n\t\tconst remainingSeconds = minutes % 60;\n\t\treturn `${Math.floor(minutes / 60)}h` + (remainingSeconds > 0 ? remainingSeconds.toString().padStart(2, \"0\") : \"\");\n\t}\n\treturn `${minutes} min`;\n};\n\n/**\n * Retourne un affichage *string* intelligent d'une durée en jours (Y year, M months, D days).\n * @param numberOfDays\n */\nexport const smartDisplayDays = (numberOfDays: number) => {\n\tif (numberOfDays == 0) {\n\t\treturn \"today\";\n\t}\n\n\tconst years = Math.floor(numberOfDays / 365);\n\tconst months = Math.floor(numberOfDays % 365 / 30);\n\tconst days = Math.floor(numberOfDays % 365 % 30);\n\n\tconst result = [];\n\tif (years > 0) {\n\t\tresult.push(years + (years == 1 ? \" year\" : \" years\"));\n\t}\n\tif (months > 0) {\n\t\tresult.push(months + (months == 1 ? \" month\" : \" months\"));\n\t}\n\tif (days > 0) {\n\t\tresult.push(days + (days == 1 ? \" day\" : \" days\"));\n\t}\n\n\treturn result.join(\", \");\n};\n\n/**\n * Retourne la différence en minutes entre *date1* et *date2* telles que date1 < date2.\n */\nexport const differenceInMinutesBetweenDates = (date1: Date, date2: Date) => {\n\treturn Math.round(((date2.getTime() - date1.getTime()) / 1000) / 60); // minutes\n};\n\n/**\n * Retourne la différence en jours entre *date1* et *date2* telles que date1 < date2.\n */\nexport const differenceInDaysBetweenDates = function (date1: Date, date2: Date) {\n\treturn Math.floor((Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate()) - Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate())) / (1000 * 60 * 60 * 24));\n};\n\n/**\n * Retourne la différence en minutes entre *hh1:mm1* et *hh2:mm2* telles que hh1:mm1 < hh2:mm2.\n */\nexport const differenceInMinutesBetweenHoursMinutes = (hm1: string, hm2: string) => {\n\tconst h1 = parseInt(hm1.split(\":\")[0], 10);\n\tconst m1 = parseInt(hm1.split(\":\")[1], 10);\n\tconst h2 = parseInt(hm2.split(\":\")[0], 10);\n\tconst m2 = parseInt(hm2.split(\":\")[1], 10);\n\treturn (60 * h2 + m2) - (60 * h1 + m1);\n};\n\n/**\n * Fonction de tri par date croissant si a < b.\n * @param a\n * @param b\n */\nexport const sortByDate = (a: Date, b: Date) => {\n\treturn a > b ? -1 : a < b ? 1 : 0;\n};\n\n\n/**\n * Retourne la date minimale d'un array de dates.\n */\nexport const getMinDate = (dates: Date[]) => {\n\treturn dates.reduce(function (a, b) {\n\t\treturn a < b ? a : b;\n\t});\n};\n\n/**\n * Retourne la date maximale d'un array de dates.\n */\nexport const getMaxDate = (dates: Date[]) => {\n\treturn dates.reduce(function (a, b) {\n\t\treturn a > b ? a : b;\n\t});\n};\n\n/**\n * Retourne la durée formatée entre maintenant et la date passée en paramètre.\n * @param date\n * @param referenceDate\n * @param onlyMinutes\n */\nexport const getTimeSince = (date: Date, referenceDate: Date = new Date(), onlyMinutes = false) => {\n\tif (typeof date !== \"object\") {\n\t\tdate = new Date(date);\n\t}\n\n\tlet seconds = Math.floor((+referenceDate - +date) / 1000);\n\tif (seconds < 0) {\n\t\tseconds = 0;\n\t}\n\tlet intervalType;\n\n\tlet interval = Math.floor(seconds / 31536000);\n\tif (interval >= 1) {\n\t\tintervalType = \"year\";\n\t}\n\telse {\n\t\tinterval = Math.floor(seconds / 2592000);\n\t\tif (interval >= 1) {\n\t\t\tintervalType = \"month\";\n\t\t}\n\t\telse {\n\t\t\tinterval = Math.floor(seconds / 86400);\n\t\t\tif (interval >= 1) {\n\t\t\t\tintervalType = \"day\";\n\t\t\t}\n\t\t\telse {\n\t\t\t\tinterval = Math.floor(seconds / 3600);\n\t\t\t\tif (interval >= 1) {\n\t\t\t\t\tintervalType = \"hour\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tinterval = Math.floor(seconds / 60);\n\t\t\t\t\tif (interval >= 1 || onlyMinutes) {\n\t\t\t\t\t\tintervalType = \"minute\";\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tinterval = seconds;\n\t\t\t\t\t\tintervalType = \"second\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (interval > 1 || interval === 0) {\n\t\tintervalType += \"s\";\n\t}\n\n\n\tif (onlyMinutes) {\n\n\t}\n\n\treturn (interval > 0 ? interval : \"< 1\") + \" \" + intervalType;\n};","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n  convertToUnit,\n  getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n  Colorable,\n  PositionableFactory(['left', 'bottom']),\n  Themeable,\n  Toggleable,\n  Transitionable,\n/* @vue/component */\n).extend({\n  name: 'v-badge',\n\n  props: {\n    avatar: Boolean,\n    bordered: Boolean,\n    color: {\n      type: String,\n      default: 'primary',\n    },\n    content: { required: false },\n    dot: Boolean,\n    label: {\n      type: String,\n      default: '$vuetify.badge',\n    },\n    icon: String,\n    inline: Boolean,\n    offsetX: [Number, String],\n    offsetY: [Number, String],\n    overlap: Boolean,\n    tile: Boolean,\n    transition: {\n      type: String,\n      default: 'scale-rotate-transition',\n    },\n    value: { default: true },\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        'v-badge--avatar': this.avatar,\n        'v-badge--bordered': this.bordered,\n        'v-badge--bottom': this.bottom,\n        'v-badge--dot': this.dot,\n        'v-badge--icon': this.icon != null,\n        'v-badge--inline': this.inline,\n        'v-badge--left': this.left,\n        'v-badge--overlap': this.overlap,\n        'v-badge--tile': this.tile,\n        ...this.themeClasses,\n      }\n    },\n    computedBottom (): string {\n      return this.bottom ? 'auto' : this.computedYOffset\n    },\n    computedLeft (): string {\n      if (this.isRtl) {\n        return this.left ? this.computedXOffset : 'auto'\n      }\n\n      return this.left ? 'auto' : this.computedXOffset\n    },\n    computedRight (): string {\n      if (this.isRtl) {\n        return this.left ? 'auto' : this.computedXOffset\n      }\n\n      return !this.left ? 'auto' : this.computedXOffset\n    },\n    computedTop (): string {\n      return this.bottom ? this.computedYOffset : 'auto'\n    },\n    computedXOffset (): string {\n      return this.calcPosition(this.offsetX)\n    },\n    computedYOffset (): string {\n      return this.calcPosition(this.offsetY)\n    },\n    isRtl (): boolean {\n      return this.$vuetify.rtl\n    },\n    // Default fallback if offsetX\n    // or offsetY are undefined.\n    offset (): number {\n      if (this.overlap) return this.dot ? 8 : 12\n      return this.dot ? 2 : 4\n    },\n    styles (): object {\n      if (this.inline) return {}\n\n      return {\n        bottom: this.computedBottom,\n        left: this.computedLeft,\n        right: this.computedRight,\n        top: this.computedTop,\n      }\n    },\n  },\n\n  methods: {\n    calcPosition (offset: string | number): string {\n      return `calc(100% - ${convertToUnit(offset || this.offset)})`\n    },\n    genBadge () {\n      const lang = this.$vuetify.lang\n      const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n      const data = this.setBackgroundColor(this.color, {\n        staticClass: 'v-badge__badge',\n        style: this.styles,\n        attrs: {\n          'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n          'aria-label': label,\n          'aria-live': this.$attrs['aria-live'] || 'polite',\n          title: this.$attrs.title,\n          role: this.$attrs.role || 'status',\n        },\n        directives: [{\n          name: 'show',\n          value: this.isActive,\n        }],\n      })\n\n      const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n      if (!this.transition) return badge\n\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n          origin: this.origin,\n          mode: this.mode,\n        },\n      }, [badge])\n    },\n    genBadgeContent () {\n      // Dot prop shows no content\n      if (this.dot) return undefined\n\n      const slot = getSlot(this, 'badge')\n\n      if (slot) return slot\n      if (this.content) return String(this.content)\n      if (this.icon) return this.$createElement(VIcon, this.icon)\n\n      return undefined\n    },\n    genBadgeWrapper () {\n      return this.$createElement('span', {\n        staticClass: 'v-badge__wrapper',\n      }, [this.genBadge()])\n    },\n  },\n\n  render (h): VNode {\n    const badge = [this.genBadgeWrapper()]\n    const children = [getSlot(this)]\n    const {\n      'aria-atomic': _x,\n      'aria-label': _y,\n      'aria-live': _z,\n      role,\n      title,\n      ...attrs\n    } = this.$attrs\n\n    if (this.inline && this.left) children.unshift(badge)\n    else children.push(badge)\n\n    return h('span', {\n      staticClass: 'v-badge',\n      attrs,\n      class: this.classes,\n    }, children)\n  },\n})\n","const realmFormat = (realm: string) => {\n\treturn realm.toLowerCase().replace(/-/gi, \"\").replace(/ /gi, \"-\").replace(/'/gi, \"\");\n};\n\nexport const armoryCharacter = (characterName: string, realmName: string, region: string) => {\n\treturn `https://worldofwarcraft.com/en-gb/character/${region}/${realmFormat(realmName)}/${characterName}`;\n};\nexport const raiderIOCharacter = (characterName: string, realmName: string, region: string) => {\n\treturn `https://raider.io/characters/${region}/${realmFormat(realmName)}/${characterName}`;\n};\nexport const warcraftLogsCharacter = (characterName: string, realmName: string, region: string) => {\n\treturn `https://www.warcraftlogs.com/character/${region}/${realmFormat(realmName)}/${characterName}`;\n};\n","import Vue from 'vue'\n\nexport default Vue.extend({\n  name: 'transitionable',\n\n  props: {\n    mode: String,\n    origin: String,\n    transition: String,\n  },\n})\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n  }\n});\n"],"sourceRoot":""}