{"version":3,"sources":["webpack:///./src/assets/images/ai-gen.png","webpack:///./src/assets/images/x-twitter.svg","webpack:///./src/assets/calendar-icons/yahoo.webp","webpack:///./node_modules/dayjs/plugin/utc.js","webpack:///./src/components/articles/articles-card/article-card-save/ArticleCardSave.vue","webpack:///./src/components/articles/articles-card/article-card-save/article-card-save-row/ArticleCardSaveRow.vue","webpack:///src/components/articles/articles-card/article-card-save/article-card-save-row/ArticleCardSaveRow.vue","webpack:///./src/components/articles/articles-card/article-card-save/article-card-save-row/ArticleCardSaveRow.vue?2afc","webpack:///./src/components/articles/articles-card/article-card-save/article-card-save-row/ArticleCardSaveRow.vue?f52c","webpack:///src/components/articles/articles-card/article-card-save/ArticleCardSave.vue","webpack:///./src/components/articles/articles-card/article-card-save/ArticleCardSave.vue?ffcf","webpack:///./src/components/articles/articles-card/article-card-save/ArticleCardSave.vue?e22a","webpack:///./src/components/articles/article-modal/ArticleModal.vue?3e07","webpack:///./src/components/articles/articles-card/ArticleCard.vue?eb7e","webpack:///./src/components/articles/articles-card/SocialButtonsSmall.vue?d49a","webpack:///./src/components/articles/article-modal/ArticleModalContent.vue?f50a","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./src/components/articles/article-modal/ArticleModal.vue","webpack:///./src/components/articles/article-modal/ArticleModalContent.vue","webpack:///./src/components/articles/article-modal/article-report-issue/ArticleReportIssue.vue","webpack:///src/components/articles/article-modal/article-report-issue/ArticleReportIssue.vue","webpack:///./src/components/articles/article-modal/article-report-issue/ArticleReportIssue.vue?40b0","webpack:///./src/components/articles/article-modal/article-report-issue/ArticleReportIssue.vue?756e","webpack:///./src/helpers/dateHelper.js","webpack:///./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack:///./node_modules/bootstrap-vue/esm/vue.js","webpack:///./node_modules/bootstrap-vue/esm/constants/components.js","webpack:///./node_modules/bootstrap-vue/esm/constants/events.js","webpack:///./node_modules/bootstrap-vue/esm/constants/props.js","webpack:///./node_modules/bootstrap-vue/esm/constants/slots.js","webpack:///./node_modules/bootstrap-vue/esm/constants/regex.js","webpack:///./node_modules/bootstrap-vue/esm/constants/env.js","webpack:///./node_modules/bootstrap-vue/esm/constants/safe-types.js","webpack:///./node_modules/bootstrap-vue/esm/utils/inspect.js","webpack:///./node_modules/bootstrap-vue/esm/utils/object.js","webpack:///./node_modules/bootstrap-vue/esm/utils/clone-deep.js","webpack:///./node_modules/bootstrap-vue/esm/constants/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/memoize.js","webpack:///./node_modules/bootstrap-vue/esm/utils/config.js","webpack:///./node_modules/bootstrap-vue/esm/utils/identity.js","webpack:///./node_modules/bootstrap-vue/esm/utils/string.js","webpack:///./node_modules/bootstrap-vue/esm/utils/props.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/use-parent.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-scope-id.js","webpack:///./node_modules/bootstrap-vue/esm/utils/create-new-child-component.js","webpack:///./node_modules/bootstrap-vue/esm/utils/array.js","webpack:///./node_modules/bootstrap-vue/esm/utils/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js","webpack:///./node_modules/bootstrap-vue/esm/utils/element-to-vue-instance-registry.js","webpack:///./node_modules/bootstrap-vue/esm/utils/number.js","webpack:///./node_modules/bootstrap-vue/esm/utils/dom.js","webpack:///./node_modules/bootstrap-vue/esm/utils/events.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-equal.js","webpack:///./node_modules/bootstrap-vue/esm/utils/math.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/utils/warn.js","webpack:///./node_modules/bootstrap-vue/esm/utils/bv-event.class.js","webpack:///./node_modules/bootstrap-vue/esm/utils/get-event-root.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/scoped-style.js","webpack:///./node_modules/bootstrap-vue/esm/components/transition/bv-transition.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover-template.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/helpers/bv-popover.js","webpack:///./node_modules/bootstrap-vue/esm/components/popover/popover.js","webpack:///src/components/articles/article-modal/ArticleModalContent.vue","webpack:///./src/components/articles/article-modal/ArticleModalContent.vue?2fd1","webpack:///./src/components/articles/article-modal/ArticleModalContent.vue?2a5a","webpack:///src/components/articles/article-modal/ArticleModal.vue","webpack:///./src/components/articles/article-modal/ArticleModal.vue?fb26","webpack:///./src/components/articles/article-modal/ArticleModal.vue?21f5","webpack:///./src/components/articles/articles-card/article-card-save/ArticleCardSave.vue?d912","webpack:///./src/components/articles/articles-card/SocialButtonsSmall.vue","webpack:///src/components/articles/articles-card/SocialButtonsSmall.vue","webpack:///./src/components/articles/articles-card/SocialButtonsSmall.vue?cea2","webpack:///./src/components/articles/articles-card/SocialButtonsSmall.vue?27d3","webpack:///./src/helpers/stringHelpers.js","webpack:///./src/components/articles/article-modal/ArticleTweet.vue?68d7","webpack:///./src/components/articles/article-modal/ArticleLinkedIn.vue?d1cb","webpack:///./node_modules/bootstrap-vue/esm/utils/env.js","webpack:///./src/components/articles/article-modal/article-report-issue/ArticleReportIssue.vue?2a46","webpack:///./src/assets/calendar-icons/outlook.webp","webpack:///./src/components/articles/articles-card/ArticleCard.vue","webpack:///./src/components/articles/articles-card/article-card-remove/ArticleCardRemove.vue","webpack:///src/components/articles/articles-card/article-card-remove/ArticleCardRemove.vue","webpack:///./src/components/articles/articles-card/article-card-remove/ArticleCardRemove.vue?9910","webpack:///./src/components/articles/articles-card/article-card-remove/ArticleCardRemove.vue?2caa","webpack:///src/components/articles/articles-card/ArticleCard.vue","webpack:///./src/components/articles/articles-card/ArticleCard.vue?108d","webpack:///./src/components/articles/articles-card/ArticleCard.vue?be41","webpack:///./src/assets/calendar-icons/ical.webp","webpack:///./src/components/articles/articles-card/article-card-save/article-card-save-row/ArticleCardSaveRow.vue?d1cb","webpack:///./src/components/articles/article-modal/ArticleLinkedIn.vue","webpack:///src/components/articles/article-modal/ArticleLinkedIn.vue","webpack:///./src/components/articles/article-modal/ArticleLinkedIn.vue?fc1a","webpack:///./src/components/articles/article-modal/ArticleLinkedIn.vue?459d","webpack:///./src/assets/calendar-icons/google.webp","webpack:///./node_modules/calendar-link/dist/index.js","webpack:///./node_modules/calendar-link/dist/utils.js","webpack:///./src/components/articles/article-modal/ArticleTweet.vue","webpack:///src/components/articles/article-modal/ArticleTweet.vue","webpack:///./src/components/articles/article-modal/ArticleTweet.vue?8cfa","webpack:///./src/components/articles/article-modal/ArticleTweet.vue?a135","webpack:///./node_modules/popper.js/dist/esm/popper.js"],"names":["module","exports","t","i","this","e","s","f","n","u","prototype","utc","date","args","arguments","toDate","locale","$L","add","utcOffset","local","o","parse","$u","$utils","$offset","call","r","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","a","match","Math","abs","getTimezoneOffset","$x","$localOffset","h","format","valueOf","isUTC","toISOString","toString","toUTCString","l","c","diff","render","_vm","_c","_self","onArticlesRoute","staticClass","on","showPopover","hidePopover","showingPopover","class","determineStyle","_v","click","setShowingModal","_l","getAllFolders","folder","key","id","attrs","article","_e","staticRenderFns","_s","name","isSaved","addNewArticleToFolder","components","PlusCircleIcon","props","Object","data","methods","mapActions","addArticleToFolder","folderId","regalyticsAlertId","regalytics_alert_id","$tracking","trackEvent","component","ArticleCardSaveRow","FolderPlusIcon","computed","mapGetters","left","Boolean","hasArticlesRoute","$route","created","d","$","y","M","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","floor","year","month","clone","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","b","x","Date","NaN","test","substring","UTC","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getSeconds","getMilliseconds","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","getTime","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","toJSON","k","forEach","extend","$i","isDayjs","en","Ls","event","closeModal","getModalDetails","isReporting","res","showReportModal","domProps","normal_title","title","allAgencies","agency","index","staticStyle","link","alert_type","getDateFormat","latest_update","directives","rawName","modifiers","goBackPage","require","normal_summary","summary","related_articles","related_article","create_related_url","status","classification","filing_type","in_federal_register","docket_file_number","order_notice","sec_release_number","federal_register_publication_date","original_publication_date","rule_effective_date","proposed_comments_due_date","allSectors","sector_type","sector","allTags","tag","subtype_classification","allHigherOrderAlertClassification","sub_type","pdf_url","goToSource","mailToLink","calendarOption","value","selectedEventType","expression","_q","$event","event_start_date","addToCalendar","hideModal","isLoading","preventDefault","reportArticle","articleIssue","maxCount","updateCount","target","composing","count","_m","Spinner","text_length","$emit","currentEmail","getCurrentUser","email","console","log","subject","message","sendSupportMessage","then","response","request","$store","dispatch","type","body","catch","getLongDisplayFormat","dateString","newDate","toLocaleString","timeZone","day","assign","hasOwnProperty","kebab","styleProp","styleList","toUpperCase","trim","keys","isArray","style","concat","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_typeof","Symbol","iterator","constructor","COMPONENT_UID_KEY","isVue3","version","startsWith","ALLOWED_FIELDS_IN_DATA","bind","originalExtend","KNOWN_COMPONENTS","originalVModelDynamicCreated","vModelDynamic","originalVModelDynamicBeforeUpdate","beforeUpdate","el","binding","vnode","_assign","definition","__alreadyPatched","originalRender","patchedH","dataObjOrChildren","rawSlots","slots","undefined","isTag","includes","isSecondArgumentDataObject","restData","normalizedData","scopedSlots","$hasNormal","functional","_ctx$children","_ctx$children$default","ctx","patchedCtx","IGNORED_CHILDREN_KEYS","children","default","listeners","nextTick","NAME_MODAL","NAME_POPOVER","NAME_TOOLTIP","NAME_POPOVER_HELPER","NAME_POPOVER_TEMPLATE","NAME_POPPER","NAME_TOOLTIP_HELPER","NAME_TOOLTIP_TEMPLATE","NAME_TRANSITION","EVENT_NAME_CLICK","EVENT_NAME_CLOSE","EVENT_NAME_DISABLE","EVENT_NAME_DISABLED","EVENT_NAME_ENABLE","EVENT_NAME_ENABLED","EVENT_NAME_FOCUSIN","EVENT_NAME_FOCUSOUT","EVENT_NAME_HIDDEN","EVENT_NAME_HIDE","EVENT_NAME_MOUSEENTER","EVENT_NAME_MOUSELEAVE","EVENT_NAME_OPEN","EVENT_NAME_SHOW","EVENT_NAME_SHOWN","HOOK_EVENT_NAME_BEFORE_DESTROY","HOOK_EVENT_NAME_DESTROYED","MODEL_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_PREFIX","ROOT_EVENT_NAME_SEPARATOR","EVENT_OPTIONS_NO_CAPTURE","passive","capture","PROP_TYPE_ANY","PROP_TYPE_ARRAY","PROP_TYPE_BOOLEAN","PROP_TYPE_FUNCTION","Function","PROP_TYPE_NUMBER","PROP_TYPE_OBJECT","PROP_TYPE_STRING","RegExp","PROP_TYPE_ARRAY_STRING","PROP_TYPE_NUMBER_STRING","PROP_TYPE_NUMBER_OBJECT_STRING","SLOT_NAME_DEFAULT","SLOT_NAME_TITLE","RX_BV_PREFIX","RX_HYPHENATE","HAS_WINDOW_SUPPORT","window","HAS_DOCUMENT_SUPPORT","document","HAS_NAVIGATOR_SUPPORT","navigator","IS_BROWSER","WINDOW","DOCUMENT","NAVIGATOR","USER_AGENT","userAgent","HAS_PASSIVE_EVENT_SUPPORT","passiveEventSupported","options","addEventListener","removeEventListener","_unused","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","IntersectionObserverEntry","_classCallCheck","instance","Constructor","TypeError","_inherits","subClass","superClass","create","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","_isNativeFunction","has","Wrapper","_construct","Parent","sham","Proxy","fn","setPrototypeOf","__proto__","getPrototypeOf","Element","_Object","_super","HTMLElement","_Element","_super2","SVGElement","_Element2","_super3","File","toType","isUndefined","isNull","isUndefinedOrNull","isFunction","isString","isNumber","isObject","isPlainObject","isDate","proto","optionalProps","prop","descriptor","pick","reduce","sortKeys","sort","readonlyDescriptor","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","from","iter","len","arr2","cloneDeep","defaultValue","val","PROP_NAME","DEFAULT_BREAKPOINT","cache","_len","_key","argsKey","JSON","stringify","VueProto","bvConfig","getConfigValue","getComponentConfig","propKey","_getBreakpointsCached","identity","breakpoints","str","requiredOrValidator","validator","required","componentKey","useParentMixin","bvParent","$parent","$root","$options","getScopeId","vm","_scopeId","createNewChildComponent","parent","Component","config","bvEventRoot","arrayIncludes","array","names","$scopedSlots","$slots","some","slot","scope","normalizeSlotMixin","hasNormalizedSlot","normalizeSlot","vNodes","registry","WeakMap","element","__vue__","currentElement","parentNode","toInteger","integer","parseInt","isNaN","toFloat","float","parseFloat","ELEMENT_PROTO","matchesEl","map","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","parentElement","nodeType","Node","ELEMENT_NODE","requestAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","cb","setTimeout","isElement","MutationObserver","WebKitMutationObserver","MozMutationObserver","excludes","activeElement","isActiveElement","getStyle","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","selector","root","querySelector","includeRoot","child","contains","getElementById","className","classList","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","getBoundingClientRect","getComputedStyle","attemptFocus","focus","eventOn","eventName","handler","eventOff","eventOnOff","method","actionName","compareArrays","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","mathMax","max","noop","pow","warn","_defineProperties","_createClass","protoProps","staticProps","BvEvent","eventInit","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","getEventRoot","PROP","listenOnRootMixin","beforeDestroy","_this","callback","listenOffRoot","registerRootListener","unregisterRootListener","listenOnRoot","$on","listenOnRootOnce","_this2","_callback","$once","$off","emitOnRoot","_this$bvEventRoot","scopedStyleMixin","mixins","scopedStyleAttrs","scopeId","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","appear","mode","noFade","transProps","BVTransition","_ref","appearClass","appearActiveClass","appearToClass","css","dataCopy","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","boundary","boundaryPadding","fallbackPlacement","offset","placement","BVPopper","localShow","attachment","getAttachment","templateType","popperConfig","getOffset","flip","behavior","arrow","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","$nextTick","$destroy","beforeMount","updated","updatePopper","destroyPopper","destroyed","$el","removeChild","hide","$refs","arrowOffset","destroy","scheduleUpdate","renderTemplate","_this3","beforeEnter","afterEnter","beforeLeave","afterLeave","html","BVTooltipTemplate","extends","content","variant","customClass","interactive","templateClasses","noninteractive","templateAttributes","$attrs","role","tabindex","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","innerHTML","ref","_makePropsConfigurabl","_watch","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","triggers","container","delay","BVTooltip","activeTrigger","hover","computedId","computedDelay","show","computedTriggers","isWithActiveTrigger","trigger","computedTemplateData","watch","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","newValue","oldValue","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getTarget","deactivated","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvent","buildEvent","emitEvent","addAriaDescribedby","force","tip","hideEvent","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearTimeout","clearInterval","desc","_this5","bvEvent","_this6","setRootListener","_this7","events","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","enter","eventTarget","currentTarget","toggle","_this10","_this11","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","BTooltip","inheritAttrs","localTitle","localContent","templateData","$props","templateTitleContent","$_toolpop","updateContent","doOpen","doClose","mounted","getComponent","$toolpop","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","$content","titleDomProps","contentDomProps","BVPopover","BPopover","ArticleReportIssue","ArticleCardSave","ArticleLinkedIn","ArticleTweet","LinkIcon","FlagIcon","MailIcon","CalendarIcon","allSubTypeClassification","fetch_related_articles","event_end_date","service","eventStart","pdf","description","location","start","allDay","calendarLink","google","office365","ics","yahoo","open","url","axios","post","routeData","$router","resolve","href","generate_agency_for_related_articles","agencies","commaSeparatedNames","search_terms","getters","current_user","search_highlight","regexFromMyArray","colors","random_color","random","createAgencyLinks","URL","newAgenciesList","encodedParams","encodeURI","newUrl","origin","createAllSubTypeClassificationLinks","newSubTypeClassification","createAllHigherOrderAlertClassificationLinks","newHigherOrderAlertClassification","higher_order_alert_class","higher_order_alert_classification","unique","item","values","createSectorLinks","newSectorsList","regAlyticsAlertID","createTagsLinks","newTagsList","tags","trackGoToSource","mailTo","urlLink","article_summary","user","publicLink","article_title","agency_names","Agencies","createAgenciesString","campaign_type","withCredentials","shortUrl","finalUrl","ArticleModalContent","truncateString","yourString","maxLength","agenciesString","getEnv","fallback","env","process","getNoWarn","loadArticle","shortenTitle","shortenSummary","insideFolder","removeArticle","isInsideFolder","params","regalyticsalertid","removeArticleFromFolder","SocialButtonsSmall","ArticleCardRemove","showArticleModal","articleId","logViewedArticle","federal_register_number","states","isSmall","buildSharingLink","LinkedinIcon","shareOnLinkedIn","sharingUrl","sendDataToMixPannel","__importDefault","mod","__esModule","msTeams","aol","office365Mobile","outlookMobile","outlook","eventify","dayjs_1","utc_1","utils_1","input","URLSearchParams","append","formatTimes","startTime","endTime","dateTimeFormat","TimeFormats","end","toUtc","duration","rest","unit","calendarEvent","details","action","text","trp","busy","dates","recur","rRule","guests","path","rru","startdt","enddt","allday","st","et","in_loc","dur","attendees","formattedDescription","formattedLocation","dateStamp","calendarChunks","organizer","calendarUrl","chunk","encodeURIComponent","dateTimeLocal","dateTimeUTC","calculateSummaryText","summaryText","finalText","shareOnTwitter","isBrowser","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","called","Promise","taskDebounce","scheduled","supportsMicroTasks","debounce","functionToCheck","getType","getStyleComputedProperty","property","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","scrollTop","scrollLeft","modifier","top","bottom","right","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","check","findIndex","cur","runModifiers","ends","modifiersToRun","enabled","update","isDestroyed","arrowStyles","attributes","flipped","positionFixed","position","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","charAt","prefix","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","cancelAnimationFrame","isNumeric","isFinite","setStyles","setAttributes","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","size","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","index2","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","shift","shiftvariation","shiftOffsets","bound","inner","subtractLength","onLoad","Popper","jquery","Utils","global","PopperUtils"],"mappings":"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","file":"js/chunk-50c62a5d.5db8ce10.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/ai-gen.7c55b40e.png\";","module.exports = __webpack_public_path__ + \"img/x-twitter.0a7485c0.svg\";","module.exports = \"data:image/webp;base64,UklGRjQDAABXRUJQVlA4WAoAAAAQAAAAPwAAPwAAQUxQSEcAAAABN6CmbQOGP95+MzQiIgBqgVEkW42I92QACzjId9jkAP86RsBWRfR/Ar4ZPZifI3BLLUMVRSVJuf8TRSVDFUstgX8zejA/BwBWUDggxgIAALAOAJ0BKkAAQAA+kTaXSCWioiEwFgz4sBIJZgC/cgE+zk1fh9S/MBuOnUAegB0p/7huQvOeB65n/jW+i+AR6AH6VlX/8qrI/W7l6boIDr4m8/DYDIYodXu5IfpSYQX60y96OYV4JPt/gqlhn/DtYlUG/3oEG4VO6JUrTJ3XUADif/x2+PcuQw2KEORTFEIhzQaaH/NC7/Nz/3L/0T0gkb2kw4JbeUF1S8L1gEf1sCcgETh/4YroDvCz3LNhLrOJ8SyLt1jVXP1F49AdpXo4oduk6V8eEkdKo2Zc7qIcHbqGv1OmjPxuRoLI/+2S//6bza/cjobgmaDWsJwoA9mI4hoYBS++5w1HzFna+mjBbb9X4dreiG9TeqWdfxBrv7Uu/aVscI6V/T2qP6eKDZHZwCxbzNYQLH9vGEr6KNcVACdYVbIjEyz4xef0AvbFuwQDk43On0j0wR3jjr+sHkMQ1P0ggottz4Kb2rfxsA2TtmLuPuTp/QLgXsUqTLNCInx9DmgjB5Z8Qi/X3AYsjqjb8S4sMfB7U7pwZvx/zdtTu+USVbqriG4R3cBFYO4JKYES2VF/l8MTCUIpV2fz6OxMfc2dvjU2Y5gBUl9DIyIsOTBZeKA2BX9LiJAGMphfgnXG6bInfyNc1oe+a00yLMy7iLhf63UKgB/l9AbQXRtwh0TFBRE2HT0zxRuGav6DGVDEk2et1d4Z3uLojasONB1pSC/mj9h+UjWJ0u8kK3s8WaYZnyRpFOXccZfLkB3WuJSOTmvuj9RiU3FwLp7rQy/L8TKxF2GQkVpuR8w6cycg5N3Ja38YrYIEXwS/77b7bVJhP7OQNsPruD9kaQ2c84ioAHg+WS9TeWf9yqokTkV8/l8DJu5WfdBzHDvlGDnzZ/caawIitE/u1x5NqkYGhAf50Zkp/up8y7oHHsHeuXj/RzSbCAYWIAAA\"","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.onArticlesRoute)?_c('div',{staticClass:\"article-card-save ms-2\",on:{\"mouseenter\":_vm.showPopover,\"mouseleave\":_vm.hidePopover}},[_c('folder-plus-icon'),(_vm.showingPopover)?_c('div',{staticClass:\"save-card\",class:_vm.determineStyle},[_c('div',{staticClass:\"d-flex align-items-center justify-content-between\"},[_c('span',{staticClass:\"fw-bold\"},[_vm._v(\"Add to Folder\")]),_c('span',{staticClass:\"btn btn-sm btn-link me-0 pe-0 pt-0 mt-0\",on:{\"click\":() => _vm.setShowingModal(true)}},[_vm._v(\"Create\")])]),_c('hr',{staticClass:\"m-0 mb-1 p-0\"}),_vm._l((_vm.getAllFolders),function(folder){return _c('div',{key:folder.id},[_c('article-card-save-row',{attrs:{\"article\":_vm.article,\"folder\":folder}})],1)})],2):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"save-row\"},[_c('span',[_vm._v(_vm._s(_vm.folder.name))]),(!_vm.isSaved)?_c('div',{staticClass:\"add\",on:{\"click\":_vm.addNewArticleToFolder}},[_c('plus-circle-icon',{attrs:{\"size\":\"16\"}})],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSaveRow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSaveRow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleCardSaveRow.vue?vue&type=template&id=68e0b33e&scoped=true\"\nimport script from \"./ArticleCardSaveRow.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleCardSaveRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleCardSaveRow.vue?vue&type=style&index=0&id=68e0b33e&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 \"68e0b33e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSave.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSave.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleCardSave.vue?vue&type=template&id=26d9e583&scoped=true\"\nimport script from \"./ArticleCardSave.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleCardSave.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleCardSave.vue?vue&type=style&index=0&id=26d9e583&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 \"26d9e583\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModal.vue?vue&type=style&index=0&id=512cb294&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCard.vue?vue&type=style&index=0&id=2ef65450&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocialButtonsSmall.vue?vue&type=style&index=0&id=598dc320&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModalContent.vue?vue&type=style&index=0&id=add748f8&prod&lang=scss&scoped=true\"","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) _vm.closeModal(event)}},[_c('div',{staticClass:\"modal-content\"},[_c('article-modal-content',{attrs:{\"res\":_vm.getModalDetails}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.isReporting)?_c('article-report-issue',{attrs:{\"article\":_vm.res},on:{\"updateReportModal\":_vm.showReportModal}}):_vm._e(),_c('div',{staticClass:\"modal-header-top\"},[_c('button',{staticClass:\"btn-close\",attrs:{\"aria-label\":\"Close\",\"type\":\"button\"},on:{\"click\":_vm.closeModal}}),_c('div',{staticClass:\"modal-header text-left\"},[_c('h4',{domProps:{\"innerHTML\":_vm._s(_vm.normal_title(_vm.res.title))}})])]),_c('div',{staticClass:\"modal-container\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"mb-2 pb-0\"},_vm._l((_vm.allAgencies),function(agency,index){return _c('span',{key:index,staticStyle:{\"font-size\":\"0.9rem\"}},[_c('a',{attrs:{\"href\":agency.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(agency.name)+\" \")]),(_vm.allAgencies.length > 1 && index === 0)?_c('span',[_vm._v(\" and \")]):_vm._e(),(index !== 0 && agency !== _vm.allAgencies[_vm.allAgencies.length - 1]\n )?_c('span',[_vm._v(\" and \")]):_vm._e()])}),0),_c('div',{staticClass:\"d-flex justify-content-between align-items-center mb-0 pb-0\"},[_c('p',{staticClass:\"mb-1\"},[(_vm.res.alert_type)?_c('span',[_vm._v(_vm._s(_vm.res.alert_type))]):_vm._e()]),_c('p',{staticClass:\"mb-1\"},[_c('b',[_vm._v(\"Last updated:\")]),_vm._v(\" \"+_vm._s(_vm.getDateFormat(this.res.latest_update))+\" \")])]),_c('hr',{staticClass:\"mt-0 pt-0\"}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-8 mb-5 mb-lg-0 custom-modal-content\"},[_c('h5',[_vm._v(\"Summary \"),_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn-link btn-sm p-0 m-0 tooltip-button\",attrs:{\"title\":\"This alert features content that was generated in part by generative AI with human review.\"},on:{\"click\":_vm.goBackPage}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/ai-gen.png\"),\"alt\":\"AI Logo\",\"width\":\"24\"}})])],1),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.normal_summary(_vm.res.summary))}}),(_vm.related_articles && _vm.related_articles.length > 0)?_c('div',{staticStyle:{\"margin-top\":\"60px\",\"margin-bottom\":\"60px\",\"max-height\":\"150px\",\"overflow-y\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.related_articles.length)+\" Related Articles \"),_c('div',{staticStyle:{\"max-height\":\"140px\"}},[_c('h5',[_vm._v(\"Related Articles\")]),_vm._l((_vm.related_articles),function(related_article){return _c('p',{key:related_article.id,staticClass:\"mx-1\"},[_c('a',{attrs:{\"href\":_vm.create_related_url(related_article.regalytics_alert_id),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(related_article.latest_update)+\" - \"+_vm._s(related_article.title)+\" \")])])})],2)]):_vm._e()]),_c('div',{staticClass:\"col-lg-4\"},[_c('h5',{staticClass:\"custom-modal-title-item\"},[_vm._v(\"Article Information\")]),_c('ul',[(_vm.res.status)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Status\")]),_vm._v(\" \"+_vm._s(_vm.res.status)+\" \")]):_vm._e(),(_vm.res.classification)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Agency Classification\")]),_vm._v(\" \"+_vm._s(_vm.res.classification)+\" \")]):_vm._e(),(_vm.res.filing_type)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Filing Type\")]),_vm._v(\" \"+_vm._s(_vm.res.filing_type)+\" \")]):_vm._e(),(_vm.res.in_federal_register)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"In Federal Register\")]),_vm._v(\" \"+_vm._s(_vm.res.in_federal_register)+\" \")]):_vm._e(),(_vm.res.docket_file_number)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Docket File Number\")]),_vm._v(\" \"+_vm._s(_vm.res.docket_file_number)+\" \")]):_vm._e(),(_vm.res.order_notice)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Order Notice ID\")]),_vm._v(\" \"+_vm._s(_vm.res.order_notice)+\" \")]):_vm._e(),(_vm.res.sec_release_number)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"SEC Release Number\")]),_vm._v(\" \"+_vm._s(_vm.res.sec_release_number)+\" \")]):_vm._e(),(_vm.res.federal_register_publication_date)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Published on\")]),_vm._v(\" \"+_vm._s(_vm.getDateFormat(_vm.res.federal_register_publication_date))+\" \")]):_vm._e()]),_c('hr'),_c('h5',{staticClass:\"custom-modal-title-item\"},[_vm._v(\"Important Dates\")]),_c('ul',[(_vm.res.original_publication_date)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Originally Published\")]),_vm._v(\" \"+_vm._s(_vm.getDateFormat(_vm.res.original_publication_date))+\" \")]):_vm._e(),(_vm.res.rule_effective_date)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Rule Effective\")]),_vm._v(\" \"+_vm._s(_vm.getDateFormat(_vm.res.rule_effective_date))+\" \")]):_vm._e(),(_vm.res.proposed_comments_due_date)?_c('li',{staticClass:\"d-flex justify-content-between\"},[_c('label',[_vm._v(\"Comments Due\")]),_vm._v(\" \"+_vm._s(_vm.getDateFormat(_vm.res.proposed_comments_due_date))+\" \")]):_vm._e()]),(_vm.allSectors.length > 0)?_c('hr'):_vm._e(),(_vm.res.sector_type.length > 0)?_c('h5',{staticClass:\"custom-modal-title-item\"},[_vm._v(\" Sectors \")]):_vm._e(),_c('p',_vm._l((_vm.allSectors),function(sector){return _c('span',{key:sector,staticClass:\"badge badge-light mx-1\",staticStyle:{\"background-color\":\"var(--app-primary) !important\"}},[_c('a',{staticStyle:{\"text-decoration\":\"none\",\"color\":\"white\"},attrs:{\"href\":sector.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(sector.name)+\" \")])])}),0),(_vm.allTags.length > 0)?_c('hr'):_vm._e(),(_vm.allTags.length > 0)?_c('h5',{staticClass:\"custom-modal-title-item\"},[_vm._v(\" Tags \")]):_vm._e(),_c('p',_vm._l((_vm.allTags),function(tag){return _c('span',{key:tag,staticClass:\"badge badge-light mx-1\",staticStyle:{\"background-color\":\"var(--app-primary) !important\"}},[_c('a',{staticStyle:{\"text-decoration\":\"none\",\"color\":\"white\"},attrs:{\"href\":tag.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(tag.name)+\" \")])])}),0),(_vm.res.subtype_classification.length > 0)?_c('hr'):_vm._e(),(_vm.allHigherOrderAlertClassification.length > 0)?_c('h5',{staticClass:\"custom-modal-title-item\"},[_vm._v(\" Alert Classification \")]):_vm._e(),_c('p',_vm._l((_vm.allHigherOrderAlertClassification),function(sub_type){return _c('span',{key:sub_type,staticClass:\"badge badge-light mx-1\",staticStyle:{\"background-color\":\"var(--app-primary) !important\"}},[_c('a',{staticStyle:{\"text-decoration\":\"none\",\"color\":\"white\"},attrs:{\"href\":sub_type.link,\"target\":\"_blank\"}},[_vm._v(_vm._s(sub_type.name)+\" \")])])}),0)])])]),_c('div',{staticClass:\"modal-footer\"},[_c('div',{staticClass:\"d-flex social-footer-mb\"},[_c('article-linked-in',{staticClass:\"me-2\",attrs:{\"article\":_vm.res,\"link\":_vm.res.pdf_url,\"summary\":_vm.res.summary}}),_c('article-tweet',{staticClass:\"me-2\",attrs:{\"article\":_vm.res,\"link\":_vm.res.pdf_url,\"summary\":_vm.res.summary}}),_c('a',{staticClass:\"btn btn-green btn-sm me-2\",on:{\"click\":() => _vm.goToSource(_vm.res)}},[_c('link-icon',{attrs:{\"size\":\"15\"}}),_vm._v(\" Go to Source \")],1),_c('a',{staticClass:\"btn btn-green btn-sm me-2\",on:{\"click\":() => _vm.mailToLink(_vm.res)}},[_c('mail-icon',{attrs:{\"size\":\"15\"}}),_vm._v(\" Mail \")],1),(_vm.calendarOption(_vm.res))?_c('b-button',{staticClass:\"btn btn-green btn-sm\",attrs:{\"id\":'popover-target-' + _vm.res.id}},[_c('calendar-icon',{attrs:{\"size\":\"15\"}}),_vm._v(\" Add To Calendar \")],1):_vm._e(),_c('b-popover',{attrs:{\"target\":'popover-target-' + _vm.res.id,\"triggers\":\"click\",\"placement\":\"bottomleft\"}},[_c('div',{staticClass:\"d-flex flex-column justify-content-start mb-3\"},[(_vm.res.rule_effective_date && _vm.res.rule_effective_date != 'None')?_c('div',{staticClass:\"d-flex align-items-center justify-content-start\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedEventType),expression:\"selectedEventType\"}],staticClass:\"me-2 d-inline-block\",attrs:{\"type\":\"radio\",\"id\":\"effectiveDate\",\"name\":\"calendarInput\",\"value\":\"Effective Date\"},domProps:{\"checked\":_vm._q(_vm.selectedEventType,\"Effective Date\")},on:{\"change\":function($event){_vm.selectedEventType=\"Effective Date\"}}}),_c('label',{attrs:{\"for\":\"effectiveDate\"}},[_vm._v(\"Effective Date (\"+_vm._s(_vm.res.rule_effective_date)+\")\")])]):_vm._e(),(_vm.res.proposed_comments_due_date && _vm.res.proposed_comments_due_date != 'None')?_c('div',{staticClass:\"d-flex align-items-center justify-content-start\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedEventType),expression:\"selectedEventType\"}],staticClass:\"me-2 d-inline-block\",attrs:{\"type\":\"radio\",\"id\":\"commentsDueDate\",\"name\":\"calendarInput\",\"value\":\"Comments Due Date\"},domProps:{\"checked\":_vm._q(_vm.selectedEventType,\"Comments Due Date\")},on:{\"change\":function($event){_vm.selectedEventType=\"Comments Due Date\"}}}),_c('label',{attrs:{\"for\":\"commentsDueDate\"}},[_vm._v(\"Comments Due Date (\"+_vm._s(_vm.res.proposed_comments_due_date)+\")\")])]):_vm._e(),(_vm.res.event_start_date && _vm.res.event_start_date != 'None')?_c('div',{staticClass:\"d-flex align-items-center justify-content-start\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedEventType),expression:\"selectedEventType\"}],staticClass:\"me-2 d-inline-block\",attrs:{\"type\":\"radio\",\"id\":\"eventDate\",\"name\":\"calendarInput\",\"value\":\"Event Date\"},domProps:{\"checked\":_vm._q(_vm.selectedEventType,\"Event Date\")},on:{\"change\":function($event){_vm.selectedEventType=\"Event Date\"}}}),_c('label',{attrs:{\"for\":\"eventDate\"}},[_vm._v(\"Event Date (\"+_vm._s(_vm.res.event_start_date)+\")\")])]):_vm._e()]),_c('div',{staticClass:\"d-flex align-items-center justify-content-start\"},[_c('div',{staticClass:\"calendar-icons-container\",on:{\"click\":function($event){return _vm.addToCalendar('google', _vm.res)}}},[_c('img',{staticClass:\"calendar-icons\",attrs:{\"src\":require(\"@/assets/calendar-icons/google.webp\"),\"alt\":\"Google Calendar\"}}),_c('small',[_vm._v(\"Google\")])]),_c('div',{staticClass:\"calendar-icons-container\",on:{\"click\":function($event){return _vm.addToCalendar('outlook', _vm.res)}}},[_c('img',{staticClass:\"calendar-icons\",attrs:{\"src\":require(\"@/assets/calendar-icons/outlook.webp\"),\"alt\":\"Outlook Calendar\"}}),_c('small',[_vm._v(\"Outlook\")])]),_c('div',{staticClass:\"calendar-icons-container\",on:{\"click\":function($event){return _vm.addToCalendar('ical', _vm.res)}}},[_c('img',{staticClass:\"calendar-icons\",attrs:{\"src\":require(\"@/assets/calendar-icons/ical.webp\"),\"alt\":\"iCal Calendar\"}}),_c('small',[_vm._v(\"iCal\")])]),_c('div',{staticClass:\"calendar-icons-container mr-0\",on:{\"click\":function($event){return _vm.addToCalendar('yahoo', _vm.res)}}},[_c('img',{staticClass:\"calendar-icons\",attrs:{\"src\":require(\"@/assets/calendar-icons/yahoo.webp\"),\"alt\":\"Yahoo Calendar\"}}),_c('small',[_vm._v(\"Yahoo\")])])])])],1),_c('div',{staticClass:\"d-flex align-items-center\"},[_c('article-card-save',{staticClass:\"me-3\",attrs:{\"article\":_vm.res,\"left\":true}}),_c('p',{staticClass:\"mb-0\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"title\":\"Report an issue\"},on:{\"click\":function($event){_vm.isReporting = true}}},[_c('flag-icon')],1),_c('p',{staticClass:\"mb-0 link-primary\",staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.isReporting = true}}})],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-container\",attrs:{\"id\":\"reportModal\"},on:{\"click\":_vm.closeModal}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"d-flex justify-content-between align-items-center w-100\"},[_c('h5',[_vm._v(\"Report Article\")]),_c('button',{staticClass:\"btn-close\",attrs:{\"aria-label\":\"Close\",\"type\":\"button\"},on:{\"click\":_vm.hideModal}})])]),_c('div',{staticClass:\"container mt-3 mb-2\"},[_c('div',[_c('p',[_c('span',{staticClass:\"fw-bold\"},[_vm._v(\"RegAlytics Alert ID:\")]),_vm._v(\" \"+_vm._s(_vm.article.regalytics_alert_id)+\" \")])]),(_vm.isLoading)?_c('div',[_c('spinner')],1):_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.reportArticle.apply(null, arguments)}}},[_c('div',{staticClass:\"mb-3\"},[_c('label',{attrs:{\"for\":\"summary\"}},[_vm._v(\"Whats the problem?\")]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.articleIssue),expression:\"articleIssue\"}],staticClass:\"form-control\",attrs:{\"id\":\"summary\",\"maxlength\":_vm.maxCount,\"required\":\"\"},domProps:{\"value\":(_vm.articleIssue)},on:{\"keyup\":_vm.updateCount,\"input\":function($event){if($event.target.composing)return;_vm.articleIssue=$event.target.value}}}),_c('span',{staticClass:\"pull-right label label-default\",attrs:{\"id\":\"count_message\"}},[_vm._v(\" \"+_vm._s(_vm.count)+\" / \"+_vm._s(_vm.maxCount)+\" \")]),_c('br')]),_vm._m(0)])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mb-3\"},[_c('button',{staticClass:\"btn btn-green w-100\",attrs:{\"type\":\"submit\"}},[_vm._v(\"Report Article\")])])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleReportIssue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleReportIssue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleReportIssue.vue?vue&type=template&id=95d53b9a&scoped=true\"\nimport script from \"./ArticleReportIssue.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleReportIssue.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleReportIssue.vue?vue&type=style&index=0&id=95d53b9a&prod&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 \"95d53b9a\",\n null\n \n)\n\nexport default component.exports","export {\n getLongDisplayFormat\n}\n\nfunction getLongDisplayFormat(dateString) {\n let newDate = new Date(dateString);\n const month = newDate.toLocaleString('default', {month: 'long', timeZone: 'UTC'});\n const day = dateString.split('-')[2];\n const year = newDate.getUTCFullYear();\n return `${month} ${day}, ${year}`;\n}\n","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport Vue from 'vue';\nimport { mergeData } from 'vue-functional-data-merge'; // --- Constants ---\n\nvar COMPONENT_UID_KEY = '_uid';\nvar isVue3 = Vue.version.startsWith('3');\nexport var REF_FOR_KEY = isVue3 ? 'ref_for' : 'refInFor';\nvar ALLOWED_FIELDS_IN_DATA = ['class', 'staticClass', 'style', 'attrs', 'props', 'domProps', 'on', 'nativeOn', 'directives', 'scopedSlots', 'slot', 'key', 'ref', 'refInFor'];\nvar extend = Vue.extend.bind(Vue);\n\nif (isVue3) {\n var originalExtend = Vue.extend;\n var KNOWN_COMPONENTS = ['router-link', 'transition', 'transition-group'];\n var originalVModelDynamicCreated = Vue.vModelDynamic.created;\n var originalVModelDynamicBeforeUpdate = Vue.vModelDynamic.beforeUpdate; // See https://github.com/vuejs/vue-next/pull/4121 for details\n\n Vue.vModelDynamic.created = function (el, binding, vnode) {\n originalVModelDynamicCreated.call(this, el, binding, vnode);\n\n if (!el._assign) {\n el._assign = function () {};\n }\n };\n\n Vue.vModelDynamic.beforeUpdate = function (el, binding, vnode) {\n originalVModelDynamicBeforeUpdate.call(this, el, binding, vnode);\n\n if (!el._assign) {\n el._assign = function () {};\n }\n };\n\n extend = function patchedBootstrapVueExtend(definition) {\n if (_typeof(definition) === 'object' && definition.render && !definition.__alreadyPatched) {\n var originalRender = definition.render;\n definition.__alreadyPatched = true;\n\n definition.render = function (h) {\n var patchedH = function patchedH(tag, dataObjOrChildren, rawSlots) {\n var slots = rawSlots === undefined ? [] : [Array.isArray(rawSlots) ? rawSlots.filter(Boolean) : rawSlots];\n var isTag = typeof tag === 'string' && !KNOWN_COMPONENTS.includes(tag);\n var isSecondArgumentDataObject = dataObjOrChildren && _typeof(dataObjOrChildren) === 'object' && !Array.isArray(dataObjOrChildren);\n\n if (!isSecondArgumentDataObject) {\n return h.apply(void 0, [tag, dataObjOrChildren].concat(slots));\n }\n\n var attrs = dataObjOrChildren.attrs,\n props = dataObjOrChildren.props,\n restData = _objectWithoutProperties(dataObjOrChildren, [\"attrs\", \"props\"]);\n\n var normalizedData = _objectSpread(_objectSpread({}, restData), {}, {\n attrs: attrs,\n props: isTag ? {} : props\n });\n\n if (tag === 'router-link' && !normalizedData.slots && !normalizedData.scopedSlots) {\n // terrible workaround to fix router-link rendering with compat vue-router\n normalizedData.scopedSlots = {\n $hasNormal: function $hasNormal() {}\n };\n }\n\n return h.apply(void 0, [tag, normalizedData].concat(slots));\n };\n\n if (definition.functional) {\n var _ctx$children, _ctx$children$default;\n\n var ctx = arguments[1];\n\n var patchedCtx = _objectSpread({}, ctx);\n\n patchedCtx.data = {\n attrs: _objectSpread({}, ctx.data.attrs || {}),\n props: _objectSpread({}, ctx.data.props || {})\n };\n Object.keys(ctx.data || {}).forEach(function (key) {\n if (ALLOWED_FIELDS_IN_DATA.includes(key)) {\n patchedCtx.data[key] = ctx.data[key];\n } else if (key in ctx.props) {\n patchedCtx.data.props[key] = ctx.data[key];\n } else if (!key.startsWith('on')) {\n patchedCtx.data.attrs[key] = ctx.data[key];\n }\n });\n var IGNORED_CHILDREN_KEYS = ['_ctx'];\n var children = ((_ctx$children = ctx.children) === null || _ctx$children === void 0 ? void 0 : (_ctx$children$default = _ctx$children.default) === null || _ctx$children$default === void 0 ? void 0 : _ctx$children$default.call(_ctx$children)) || ctx.children;\n\n if (children && Object.keys(patchedCtx.children).filter(function (k) {\n return !IGNORED_CHILDREN_KEYS.includes(k);\n }).length === 0) {\n delete patchedCtx.children;\n } else {\n patchedCtx.children = children;\n }\n\n patchedCtx.data.on = ctx.listeners;\n return originalRender.call(this, patchedH, patchedCtx);\n }\n\n return originalRender.call(this, patchedH);\n };\n }\n\n return originalExtend.call(this, definition);\n }.bind(Vue);\n}\n\nvar nextTick = Vue.nextTick;\nexport { COMPONENT_UID_KEY, Vue, mergeData, isVue3, nextTick, extend };","// Component names\nexport var NAME_ALERT = 'BAlert';\nexport var NAME_ASPECT = 'BAspect';\nexport var NAME_AVATAR = 'BAvatar';\nexport var NAME_AVATAR_GROUP = 'BAvatarGroup';\nexport var NAME_BADGE = 'BBadge';\nexport var NAME_BREADCRUMB = 'BBreadcrumb';\nexport var NAME_BREADCRUMB_ITEM = 'BBreadcrumbItem';\nexport var NAME_BREADCRUMB_LINK = 'BBreadcrumbLink';\nexport var NAME_BUTTON = 'BButton';\nexport var NAME_BUTTON_CLOSE = 'BButtonClose';\nexport var NAME_BUTTON_GROUP = 'BButtonGroup';\nexport var NAME_BUTTON_TOOLBAR = 'BButtonToolbar';\nexport var NAME_CALENDAR = 'BCalendar';\nexport var NAME_CARD = 'BCard';\nexport var NAME_CARD_BODY = 'BCardBody';\nexport var NAME_CARD_FOOTER = 'BCardFooter';\nexport var NAME_CARD_GROUP = 'BCardGroup';\nexport var NAME_CARD_HEADER = 'BCardHeader';\nexport var NAME_CARD_IMG = 'BCardImg';\nexport var NAME_CARD_IMG_LAZY = 'BCardImgLazy';\nexport var NAME_CARD_SUB_TITLE = 'BCardSubTitle';\nexport var NAME_CARD_TEXT = 'BCardText';\nexport var NAME_CARD_TITLE = 'BCardTitle';\nexport var NAME_CAROUSEL = 'BCarousel';\nexport var NAME_CAROUSEL_SLIDE = 'BCarouselSlide';\nexport var NAME_COL = 'BCol';\nexport var NAME_COLLAPSE = 'BCollapse';\nexport var NAME_CONTAINER = 'BContainer';\nexport var NAME_DROPDOWN = 'BDropdown';\nexport var NAME_DROPDOWN_DIVIDER = 'BDropdownDivider';\nexport var NAME_DROPDOWN_FORM = 'BDropdownForm';\nexport var NAME_DROPDOWN_GROUP = 'BDropdownGroup';\nexport var NAME_DROPDOWN_HEADER = 'BDropdownHeader';\nexport var NAME_DROPDOWN_ITEM = 'BDropdownItem';\nexport var NAME_DROPDOWN_ITEM_BUTTON = 'BDropdownItemButton';\nexport var NAME_DROPDOWN_TEXT = 'BDropdownText';\nexport var NAME_EMBED = 'BEmbed';\nexport var NAME_FORM = 'BForm';\nexport var NAME_FORM_CHECKBOX = 'BFormCheckbox';\nexport var NAME_FORM_CHECKBOX_GROUP = 'BFormCheckboxGroup';\nexport var NAME_FORM_DATALIST = 'BFormDatalist';\nexport var NAME_FORM_DATEPICKER = 'BFormDatepicker';\nexport var NAME_FORM_FILE = 'BFormFile';\nexport var NAME_FORM_GROUP = 'BFormGroup';\nexport var NAME_FORM_INPUT = 'BFormInput';\nexport var NAME_FORM_INVALID_FEEDBACK = 'BFormInvalidFeedback';\nexport var NAME_FORM_RADIO = 'BFormRadio';\nexport var NAME_FORM_RADIO_GROUP = 'BFormRadioGroup';\nexport var NAME_FORM_RATING = 'BFormRating';\nexport var NAME_FORM_ROW = 'BFormRow';\nexport var NAME_FORM_SELECT = 'BFormSelect';\nexport var NAME_FORM_SELECT_OPTION = 'BFormSelectOption';\nexport var NAME_FORM_SELECT_OPTION_GROUP = 'BFormSelectOptionGroup';\nexport var NAME_FORM_SPINBUTTON = 'BFormSpinbutton';\nexport var NAME_FORM_TAG = 'BFormTag';\nexport var NAME_FORM_TAGS = 'BFormTags';\nexport var NAME_FORM_TEXT = 'BFormText';\nexport var NAME_FORM_TEXTAREA = 'BFormTextarea';\nexport var NAME_FORM_TIMEPICKER = 'BFormTimepicker';\nexport var NAME_FORM_VALID_FEEDBACK = 'BFormValidFeedback';\nexport var NAME_ICON = 'BIcon';\nexport var NAME_ICONSTACK = 'BIconstack';\nexport var NAME_ICON_BASE = 'BIconBase';\nexport var NAME_IMG = 'BImg';\nexport var NAME_IMG_LAZY = 'BImgLazy';\nexport var NAME_INPUT_GROUP = 'BInputGroup';\nexport var NAME_INPUT_GROUP_ADDON = 'BInputGroupAddon';\nexport var NAME_INPUT_GROUP_APPEND = 'BInputGroupAppend';\nexport var NAME_INPUT_GROUP_PREPEND = 'BInputGroupPrepend';\nexport var NAME_INPUT_GROUP_TEXT = 'BInputGroupText';\nexport var NAME_JUMBOTRON = 'BJumbotron';\nexport var NAME_LINK = 'BLink';\nexport var NAME_LIST_GROUP = 'BListGroup';\nexport var NAME_LIST_GROUP_ITEM = 'BListGroupItem';\nexport var NAME_MEDIA = 'BMedia';\nexport var NAME_MEDIA_ASIDE = 'BMediaAside';\nexport var NAME_MEDIA_BODY = 'BMediaBody';\nexport var NAME_MODAL = 'BModal';\nexport var NAME_MSG_BOX = 'BMsgBox';\nexport var NAME_NAV = 'BNav';\nexport var NAME_NAVBAR = 'BNavbar';\nexport var NAME_NAVBAR_BRAND = 'BNavbarBrand';\nexport var NAME_NAVBAR_NAV = 'BNavbarNav';\nexport var NAME_NAVBAR_TOGGLE = 'BNavbarToggle';\nexport var NAME_NAV_FORM = 'BNavForm';\nexport var NAME_NAV_ITEM = 'BNavItem';\nexport var NAME_NAV_ITEM_DROPDOWN = 'BNavItemDropdown';\nexport var NAME_NAV_TEXT = 'BNavText';\nexport var NAME_OVERLAY = 'BOverlay';\nexport var NAME_PAGINATION = 'BPagination';\nexport var NAME_PAGINATION_NAV = 'BPaginationNav';\nexport var NAME_POPOVER = 'BPopover';\nexport var NAME_PROGRESS = 'BProgress';\nexport var NAME_PROGRESS_BAR = 'BProgressBar';\nexport var NAME_ROW = 'BRow';\nexport var NAME_SIDEBAR = 'BSidebar';\nexport var NAME_SKELETON = 'BSkeleton';\nexport var NAME_SKELETON_ICON = 'BSkeletonIcon';\nexport var NAME_SKELETON_IMG = 'BSkeletonImg';\nexport var NAME_SKELETON_TABLE = 'BSkeletonTable';\nexport var NAME_SKELETON_WRAPPER = 'BSkeletonWrapper';\nexport var NAME_SPINNER = 'BSpinner';\nexport var NAME_TAB = 'BTab';\nexport var NAME_TABLE = 'BTable';\nexport var NAME_TABLE_CELL = 'BTableCell';\nexport var NAME_TABLE_LITE = 'BTableLite';\nexport var NAME_TABLE_SIMPLE = 'BTableSimple';\nexport var NAME_TABS = 'BTabs';\nexport var NAME_TBODY = 'BTbody';\nexport var NAME_TFOOT = 'BTfoot';\nexport var NAME_TH = 'BTh';\nexport var NAME_THEAD = 'BThead';\nexport var NAME_TIME = 'BTime';\nexport var NAME_TOAST = 'BToast';\nexport var NAME_TOASTER = 'BToaster';\nexport var NAME_TOOLTIP = 'BTooltip';\nexport var NAME_TR = 'BTr'; // Helper component names\n\nexport var NAME_COLLAPSE_HELPER = 'BVCollapse';\nexport var NAME_FORM_BUTTON_LABEL_CONTROL = 'BVFormBtnLabelControl';\nexport var NAME_FORM_RATING_STAR = 'BVFormRatingStar';\nexport var NAME_POPOVER_HELPER = 'BVPopover';\nexport var NAME_POPOVER_TEMPLATE = 'BVPopoverTemplate';\nexport var NAME_POPPER = 'BVPopper';\nexport var NAME_TAB_BUTTON_HELPER = 'BVTabButton';\nexport var NAME_TOAST_POP = 'BVToastPop';\nexport var NAME_TOOLTIP_HELPER = 'BVTooltip';\nexport var NAME_TOOLTIP_TEMPLATE = 'BVTooltipTemplate';\nexport var NAME_TRANSITION = 'BVTransition';\nexport var NAME_TRANSPORTER = 'BVTransporter';\nexport var NAME_TRANSPORTER_TARGET = 'BVTransporterTarget';","import { isVue3 } from '../vue';\nexport var EVENT_NAME_ACTIVATE_TAB = 'activate-tab';\nexport var EVENT_NAME_BLUR = 'blur';\nexport var EVENT_NAME_CANCEL = 'cancel';\nexport var EVENT_NAME_CHANGE = 'change';\nexport var EVENT_NAME_CHANGED = 'changed';\nexport var EVENT_NAME_CLICK = 'click';\nexport var EVENT_NAME_CLOSE = 'close';\nexport var EVENT_NAME_CONTEXT = 'context';\nexport var EVENT_NAME_CONTEXT_CHANGED = 'context-changed';\nexport var EVENT_NAME_DESTROYED = 'destroyed';\nexport var EVENT_NAME_DISABLE = 'disable';\nexport var EVENT_NAME_DISABLED = 'disabled';\nexport var EVENT_NAME_DISMISSED = 'dismissed';\nexport var EVENT_NAME_DISMISS_COUNT_DOWN = 'dismiss-count-down';\nexport var EVENT_NAME_ENABLE = 'enable';\nexport var EVENT_NAME_ENABLED = 'enabled';\nexport var EVENT_NAME_FILTERED = 'filtered';\nexport var EVENT_NAME_FIRST = 'first';\nexport var EVENT_NAME_FOCUS = 'focus';\nexport var EVENT_NAME_FOCUSIN = 'focusin';\nexport var EVENT_NAME_FOCUSOUT = 'focusout';\nexport var EVENT_NAME_HEAD_CLICKED = 'head-clicked';\nexport var EVENT_NAME_HIDDEN = 'hidden';\nexport var EVENT_NAME_HIDE = 'hide';\nexport var EVENT_NAME_IMG_ERROR = 'img-error';\nexport var EVENT_NAME_INPUT = 'input';\nexport var EVENT_NAME_LAST = 'last';\nexport var EVENT_NAME_MOUSEENTER = 'mouseenter';\nexport var EVENT_NAME_MOUSELEAVE = 'mouseleave';\nexport var EVENT_NAME_NEXT = 'next';\nexport var EVENT_NAME_OK = 'ok';\nexport var EVENT_NAME_OPEN = 'open';\nexport var EVENT_NAME_PAGE_CLICK = 'page-click';\nexport var EVENT_NAME_PAUSED = 'paused';\nexport var EVENT_NAME_PREV = 'prev';\nexport var EVENT_NAME_REFRESH = 'refresh';\nexport var EVENT_NAME_REFRESHED = 'refreshed';\nexport var EVENT_NAME_REMOVE = 'remove';\nexport var EVENT_NAME_ROW_CLICKED = 'row-clicked';\nexport var EVENT_NAME_ROW_CONTEXTMENU = 'row-contextmenu';\nexport var EVENT_NAME_ROW_DBLCLICKED = 'row-dblclicked';\nexport var EVENT_NAME_ROW_HOVERED = 'row-hovered';\nexport var EVENT_NAME_ROW_MIDDLE_CLICKED = 'row-middle-clicked';\nexport var EVENT_NAME_ROW_SELECTED = 'row-selected';\nexport var EVENT_NAME_ROW_UNHOVERED = 'row-unhovered';\nexport var EVENT_NAME_SELECTED = 'selected';\nexport var EVENT_NAME_SHOW = 'show';\nexport var EVENT_NAME_SHOWN = 'shown';\nexport var EVENT_NAME_SLIDING_END = 'sliding-end';\nexport var EVENT_NAME_SLIDING_START = 'sliding-start';\nexport var EVENT_NAME_SORT_CHANGED = 'sort-changed';\nexport var EVENT_NAME_TAG_STATE = 'tag-state';\nexport var EVENT_NAME_TOGGLE = 'toggle';\nexport var EVENT_NAME_UNPAUSED = 'unpaused';\nexport var EVENT_NAME_UPDATE = 'update';\nexport var HOOK_EVENT_NAME_BEFORE_DESTROY = isVue3 ? 'vnodeBeforeUnmount' : 'hook:beforeDestroy';\nexport var HOOK_EVENT_NAME_DESTROYED = isVue3 ? 'vNodeUnmounted' : 'hook:destroyed';\nexport var MODEL_EVENT_NAME_PREFIX = 'update:';\nexport var ROOT_EVENT_NAME_PREFIX = 'bv';\nexport var ROOT_EVENT_NAME_SEPARATOR = '::';\nexport var EVENT_OPTIONS_PASSIVE = {\n passive: true\n};\nexport var EVENT_OPTIONS_NO_CAPTURE = {\n passive: true,\n capture: false\n};","// General types\nexport var PROP_TYPE_ANY = undefined;\nexport var PROP_TYPE_ARRAY = Array;\nexport var PROP_TYPE_BOOLEAN = Boolean;\nexport var PROP_TYPE_DATE = Date;\nexport var PROP_TYPE_FUNCTION = Function;\nexport var PROP_TYPE_NUMBER = Number;\nexport var PROP_TYPE_OBJECT = Object;\nexport var PROP_TYPE_REG_EXP = RegExp;\nexport var PROP_TYPE_STRING = String; // Multiple types\n\nexport var PROP_TYPE_ARRAY_FUNCTION = [PROP_TYPE_ARRAY, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_ARRAY_OBJECT = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT];\nexport var PROP_TYPE_ARRAY_OBJECT_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_ARRAY_STRING = [PROP_TYPE_ARRAY, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_NUMBER = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER];\nexport var PROP_TYPE_BOOLEAN_NUMBER_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_BOOLEAN_STRING = [PROP_TYPE_BOOLEAN, PROP_TYPE_STRING];\nexport var PROP_TYPE_DATE_STRING = [PROP_TYPE_DATE, PROP_TYPE_STRING];\nexport var PROP_TYPE_FUNCTION_STRING = [PROP_TYPE_FUNCTION, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_STRING];\nexport var PROP_TYPE_NUMBER_OBJECT_STRING = [PROP_TYPE_NUMBER, PROP_TYPE_OBJECT, PROP_TYPE_STRING];\nexport var PROP_TYPE_OBJECT_FUNCTION = [PROP_TYPE_OBJECT, PROP_TYPE_FUNCTION];\nexport var PROP_TYPE_OBJECT_STRING = [PROP_TYPE_OBJECT, PROP_TYPE_STRING];","export var SLOT_NAME_ADD_BUTTON_TEXT = 'add-button-text';\nexport var SLOT_NAME_APPEND = 'append';\nexport var SLOT_NAME_ASIDE = 'aside';\nexport var SLOT_NAME_BADGE = 'badge';\nexport var SLOT_NAME_BOTTOM_ROW = 'bottom-row';\nexport var SLOT_NAME_BUTTON_CONTENT = 'button-content';\nexport var SLOT_NAME_CUSTOM_FOOT = 'custom-foot';\nexport var SLOT_NAME_DECREMENT = 'decrement';\nexport var SLOT_NAME_DEFAULT = 'default';\nexport var SLOT_NAME_DESCRIPTION = 'description';\nexport var SLOT_NAME_DISMISS = 'dismiss';\nexport var SLOT_NAME_DROP_PLACEHOLDER = 'drop-placeholder';\nexport var SLOT_NAME_ELLIPSIS_TEXT = 'ellipsis-text';\nexport var SLOT_NAME_EMPTY = 'empty';\nexport var SLOT_NAME_EMPTYFILTERED = 'emptyfiltered';\nexport var SLOT_NAME_FILE_NAME = 'file-name';\nexport var SLOT_NAME_FIRST = 'first';\nexport var SLOT_NAME_FIRST_TEXT = 'first-text';\nexport var SLOT_NAME_FOOTER = 'footer';\nexport var SLOT_NAME_HEADER = 'header';\nexport var SLOT_NAME_HEADER_CLOSE = 'header-close';\nexport var SLOT_NAME_ICON_CLEAR = 'icon-clear';\nexport var SLOT_NAME_ICON_EMPTY = 'icon-empty';\nexport var SLOT_NAME_ICON_FULL = 'icon-full';\nexport var SLOT_NAME_ICON_HALF = 'icon-half';\nexport var SLOT_NAME_IMG = 'img';\nexport var SLOT_NAME_INCREMENT = 'increment';\nexport var SLOT_NAME_INVALID_FEEDBACK = 'invalid-feedback';\nexport var SLOT_NAME_LABEL = 'label';\nexport var SLOT_NAME_LAST_TEXT = 'last-text';\nexport var SLOT_NAME_LEAD = 'lead';\nexport var SLOT_NAME_LOADING = 'loading';\nexport var SLOT_NAME_MODAL_BACKDROP = 'modal-backdrop';\nexport var SLOT_NAME_MODAL_CANCEL = 'modal-cancel';\nexport var SLOT_NAME_MODAL_FOOTER = 'modal-footer';\nexport var SLOT_NAME_MODAL_HEADER = 'modal-header';\nexport var SLOT_NAME_MODAL_HEADER_CLOSE = 'modal-header-close';\nexport var SLOT_NAME_MODAL_OK = 'modal-ok';\nexport var SLOT_NAME_MODAL_TITLE = 'modal-title';\nexport var SLOT_NAME_NAV_NEXT_DECADE = 'nav-next-decade';\nexport var SLOT_NAME_NAV_NEXT_MONTH = 'nav-next-month';\nexport var SLOT_NAME_NAV_NEXT_YEAR = 'nav-next-year';\nexport var SLOT_NAME_NAV_PEV_DECADE = 'nav-prev-decade';\nexport var SLOT_NAME_NAV_PEV_MONTH = 'nav-prev-month';\nexport var SLOT_NAME_NAV_PEV_YEAR = 'nav-prev-year';\nexport var SLOT_NAME_NAV_THIS_MONTH = 'nav-this-month';\nexport var SLOT_NAME_NEXT_TEXT = 'next-text';\nexport var SLOT_NAME_OVERLAY = 'overlay';\nexport var SLOT_NAME_PAGE = 'page';\nexport var SLOT_NAME_PLACEHOLDER = 'placeholder';\nexport var SLOT_NAME_PREPEND = 'prepend';\nexport var SLOT_NAME_PREV_TEXT = 'prev-text';\nexport var SLOT_NAME_ROW_DETAILS = 'row-details';\nexport var SLOT_NAME_TABLE_BUSY = 'table-busy';\nexport var SLOT_NAME_TABLE_CAPTION = 'table-caption';\nexport var SLOT_NAME_TABLE_COLGROUP = 'table-colgroup';\nexport var SLOT_NAME_TABS_END = 'tabs-end';\nexport var SLOT_NAME_TABS_START = 'tabs-start';\nexport var SLOT_NAME_TEXT = 'text';\nexport var SLOT_NAME_THEAD_TOP = 'thead-top';\nexport var SLOT_NAME_TITLE = 'title';\nexport var SLOT_NAME_TOAST_TITLE = 'toast-title';\nexport var SLOT_NAME_TOP_ROW = 'top-row';\nexport var SLOT_NAME_VALID_FEEDBACK = 'valid-feedback';","// --- General ---\nexport var RX_ARRAY_NOTATION = /\\[(\\d+)]/g;\nexport var RX_BV_PREFIX = /^(BV?)/;\nexport var RX_DIGITS = /^\\d+$/;\nexport var RX_EXTENSION = /^\\..+/;\nexport var RX_HASH = /^#/;\nexport var RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\nexport var RX_HTML_TAGS = /(<([^>]+)>)/gi;\nexport var RX_HYPHENATE = /\\B([A-Z])/g;\nexport var RX_LOWER_UPPER = /([a-z])([A-Z])/g;\nexport var RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\nexport var RX_PLUS = /\\+/g;\nexport var RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\nexport var RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport var RX_SPACE_SPLIT = /\\s+/;\nexport var RX_STAR = /\\/\\*$/;\nexport var RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\nexport var RX_TRIM_LEFT = /^\\s+/;\nexport var RX_TRIM_RIGHT = /\\s+$/;\nexport var RX_UNDERSCORE = /_/g;\nexport var RX_UN_KEBAB = /-(\\w)/g; // --- Date ---\n// Loose YYYY-MM-DD matching, ignores any appended time inforation\n// Matches '1999-12-20', '1999-1-1', '1999-01-20T22:51:49.118Z', '1999-01-02 13:00:00'\n\nexport var RX_DATE = /^\\d+-\\d\\d?-\\d\\d?(?:\\s|T|$)/; // Used to split off the date parts of the YYYY-MM-DD string\n\nexport var RX_DATE_SPLIT = /-|\\s|T/; // Time string RegEx (optional seconds)\n\nexport var RX_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/; // --- URL ---\n// HREFs must end with a hash followed by at least one non-hash character\n\nexport var RX_HREF = /^.*(#[^#]+)$/;\nexport var RX_ENCODED_COMMA = /%2C/g;\nexport var RX_ENCODE_REVERSE = /[!'()*]/g;\nexport var RX_QUERY_START = /^(\\?|#|&)/; // --- Aspect ---\n\nexport var RX_ASPECT = /^\\d+(\\.\\d*)?[/:]\\d+(\\.\\d*)?$/;\nexport var RX_ASPECT_SEPARATOR = /[/:]/; // --- Grid ---\n\nexport var RX_COL_CLASS = /^col-/; // --- Icon ---\n\nexport var RX_ICON_PREFIX = /^BIcon/; // --- Locale ---\n\nexport var RX_STRIP_LOCALE_MODS = /-u-.+/;","export var HAS_WINDOW_SUPPORT = typeof window !== 'undefined';\nexport var HAS_DOCUMENT_SUPPORT = typeof document !== 'undefined';\nexport var HAS_NAVIGATOR_SUPPORT = typeof navigator !== 'undefined';\nexport var HAS_PROMISE_SUPPORT = typeof Promise !== 'undefined';\n/* istanbul ignore next: JSDOM always returns false */\n\nexport var HAS_MUTATION_OBSERVER_SUPPORT = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';\nexport var IS_BROWSER = HAS_WINDOW_SUPPORT && HAS_DOCUMENT_SUPPORT && HAS_NAVIGATOR_SUPPORT;\nexport var WINDOW = HAS_WINDOW_SUPPORT ? window : {};\nexport var DOCUMENT = HAS_DOCUMENT_SUPPORT ? document : {};\nexport var NAVIGATOR = HAS_NAVIGATOR_SUPPORT ? navigator : {};\nexport var USER_AGENT = (NAVIGATOR.userAgent || '').toLowerCase();\nexport var IS_JSDOM = USER_AGENT.indexOf('jsdom') > 0;\nexport var IS_IE = /msie|trident/.test(USER_AGENT); // Determine if the browser supports the option passive for events\n\nexport var HAS_PASSIVE_EVENT_SUPPORT = function () {\n var passiveEventSupported = false;\n\n if (IS_BROWSER) {\n try {\n var options = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true;\n }\n\n };\n WINDOW.addEventListener('test', options, options);\n WINDOW.removeEventListener('test', options, options);\n } catch (_unused) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n}();\nexport var HAS_TOUCH_SUPPORT = IS_BROWSER && ('ontouchstart' in DOCUMENT.documentElement || NAVIGATOR.maxTouchPoints > 0);\nexport var HAS_POINTER_EVENT_SUPPORT = IS_BROWSER && Boolean(WINDOW.PointerEvent || WINDOW.MSPointerEvent);\n/* istanbul ignore next: JSDOM only checks for 'IntersectionObserver' */\n\nexport var HAS_INTERACTION_OBSERVER_SUPPORT = IS_BROWSER && 'IntersectionObserver' in WINDOW && 'IntersectionObserverEntry' in WINDOW && // Edge 15 and UC Browser lack support for `isIntersecting`\n// but we an use `intersectionRatio > 0` instead\n// 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n'intersectionRatio' in WINDOW.IntersectionObserverEntry.prototype;","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } Object.defineProperty(subClass, \"prototype\", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { HAS_WINDOW_SUPPORT, WINDOW } from './env';\n/* istanbul ignore next */\n\nexport var Element = HAS_WINDOW_SUPPORT ? WINDOW.Element : /*#__PURE__*/function (_Object) {\n _inherits(Element, _Object);\n\n var _super = _createSuper(Element);\n\n function Element() {\n _classCallCheck(this, Element);\n\n return _super.apply(this, arguments);\n }\n\n return Element;\n}( /*#__PURE__*/_wrapNativeSuper(Object));\n/* istanbul ignore next */\n\nexport var HTMLElement = HAS_WINDOW_SUPPORT ? WINDOW.HTMLElement : /*#__PURE__*/function (_Element) {\n _inherits(HTMLElement, _Element);\n\n var _super2 = _createSuper(HTMLElement);\n\n function HTMLElement() {\n _classCallCheck(this, HTMLElement);\n\n return _super2.apply(this, arguments);\n }\n\n return HTMLElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var SVGElement = HAS_WINDOW_SUPPORT ? WINDOW.SVGElement : /*#__PURE__*/function (_Element2) {\n _inherits(SVGElement, _Element2);\n\n var _super3 = _createSuper(SVGElement);\n\n function SVGElement() {\n _classCallCheck(this, SVGElement);\n\n return _super3.apply(this, arguments);\n }\n\n return SVGElement;\n}(Element);\n/* istanbul ignore next */\n\nexport var File = HAS_WINDOW_SUPPORT ? WINDOW.File : /*#__PURE__*/function (_Object2) {\n _inherits(File, _Object2);\n\n var _super4 = _createSuper(File);\n\n function File() {\n _classCallCheck(this, File);\n\n return _super4.apply(this, arguments);\n }\n\n return File;\n}( /*#__PURE__*/_wrapNativeSuper(Object));","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { RX_NUMBER } from '../constants/regex';\nimport { File } from '../constants/safe-types'; // --- Convenience inspection utilities ---\n\nexport var toType = function toType(value) {\n return _typeof(value);\n};\nexport var toRawType = function toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n};\nexport var toRawTypeLC = function toRawTypeLC(value) {\n return toRawType(value).toLowerCase();\n};\nexport var isUndefined = function isUndefined(value) {\n return value === undefined;\n};\nexport var isNull = function isNull(value) {\n return value === null;\n};\nexport var isEmptyString = function isEmptyString(value) {\n return value === '';\n};\nexport var isUndefinedOrNull = function isUndefinedOrNull(value) {\n return isUndefined(value) || isNull(value);\n};\nexport var isUndefinedOrNullOrEmpty = function isUndefinedOrNullOrEmpty(value) {\n return isUndefinedOrNull(value) || isEmptyString(value);\n};\nexport var isFunction = function isFunction(value) {\n return toType(value) === 'function';\n};\nexport var isBoolean = function isBoolean(value) {\n return toType(value) === 'boolean';\n};\nexport var isString = function isString(value) {\n return toType(value) === 'string';\n};\nexport var isNumber = function isNumber(value) {\n return toType(value) === 'number';\n};\nexport var isNumeric = function isNumeric(value) {\n return RX_NUMBER.test(String(value));\n};\nexport var isPrimitive = function isPrimitive(value) {\n return isBoolean(value) || isString(value) || isNumber(value);\n};\nexport var isArray = function isArray(value) {\n return Array.isArray(value);\n}; // Quick object check\n// This is primarily used to tell Objects from primitive values\n// when we know the value is a JSON-compliant type\n// Note object could be a complex type like array, Date, etc.\n\nexport var isObject = function isObject(obj) {\n return obj !== null && _typeof(obj) === 'object';\n}; // Strict object type check\n// Only returns true for plain JavaScript objects\n\nexport var isPlainObject = function isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n};\nexport var isDate = function isDate(value) {\n return value instanceof Date;\n};\nexport var isEvent = function isEvent(value) {\n return value instanceof Event;\n};\nexport var isFile = function isFile(value) {\n return value instanceof File;\n};\nexport var isRegExp = function isRegExp(value) {\n return toRawType(value) === 'RegExp';\n};\nexport var isPromise = function isPromise(value) {\n return !isUndefinedOrNull(value) && isFunction(value.then) && isFunction(value.catch);\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { isObject } from './inspect'; // --- Static ---\n\nexport var assign = function assign() {\n return Object.assign.apply(Object, arguments);\n};\nexport var create = function create(proto, optionalProps) {\n return Object.create(proto, optionalProps);\n};\nexport var defineProperties = function defineProperties(obj, props) {\n return Object.defineProperties(obj, props);\n};\nexport var defineProperty = function defineProperty(obj, prop, descriptor) {\n return Object.defineProperty(obj, prop, descriptor);\n};\nexport var freeze = function freeze(obj) {\n return Object.freeze(obj);\n};\nexport var getOwnPropertyNames = function getOwnPropertyNames(obj) {\n return Object.getOwnPropertyNames(obj);\n};\nexport var getOwnPropertyDescriptor = function getOwnPropertyDescriptor(obj, prop) {\n return Object.getOwnPropertyDescriptor(obj, prop);\n};\nexport var getOwnPropertySymbols = function getOwnPropertySymbols(obj) {\n return Object.getOwnPropertySymbols(obj);\n};\nexport var getPrototypeOf = function getPrototypeOf(obj) {\n return Object.getPrototypeOf(obj);\n};\nexport var is = function is(value1, value2) {\n return Object.is(value1, value2);\n};\nexport var isFrozen = function isFrozen(obj) {\n return Object.isFrozen(obj);\n};\nexport var keys = function keys(obj) {\n return Object.keys(obj);\n}; // --- \"Instance\" ---\n\nexport var hasOwnProperty = function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n};\nexport var toString = function toString(obj) {\n return Object.prototype.toString.call(obj);\n}; // --- Utilities ---\n// Shallow copy an object\n\nexport var clone = function clone(obj) {\n return _objectSpread({}, obj);\n}; // Return a shallow copy of object with the specified properties only\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var pick = function pick(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) !== -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Return a shallow copy of object with the specified properties omitted\n// See: https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n\nexport var omit = function omit(obj, props) {\n return keys(obj).filter(function (key) {\n return props.indexOf(key) === -1;\n }).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Merges two object deeply together\n// See: https://gist.github.com/Salakar/1d7137de9cb8b704e48a\n\nexport var mergeDeep = function mergeDeep(target, source) {\n if (isObject(target) && isObject(source)) {\n keys(source).forEach(function (key) {\n if (isObject(source[key])) {\n if (!target[key] || !isObject(target[key])) {\n target[key] = source[key];\n }\n\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, _defineProperty({}, key, source[key]));\n }\n });\n }\n\n return target;\n}; // Returns a shallow copy of the object with keys in sorted order\n\nexport var sortKeys = function sortKeys(obj) {\n return keys(obj).sort().reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, obj[key]));\n }, {});\n}; // Convenience method to create a read-only descriptor\n\nexport var readonlyDescriptor = function readonlyDescriptor() {\n return {\n enumerable: true,\n configurable: false,\n writable: false\n };\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { isArray, isPlainObject } from './inspect';\nimport { keys } from './object';\nexport var cloneDeep = function cloneDeep(obj) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : obj;\n\n if (isArray(obj)) {\n return obj.reduce(function (result, val) {\n return [].concat(_toConsumableArray(result), [cloneDeep(val, val)]);\n }, []);\n }\n\n if (isPlainObject(obj)) {\n return keys(obj).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, cloneDeep(obj[key], obj[key])));\n }, {});\n }\n\n return defaultValue;\n};","export var NAME = 'BvConfig';\nexport var PROP_NAME = '$bvConfig';\nexport var DEFAULT_BREAKPOINT = ['xs', 'sm', 'md', 'lg', 'xl'];","import { create } from './object';\nexport var memoize = function memoize(fn) {\n var cache = create(null);\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n};","import { Vue } from '../vue';\nimport { DEFAULT_BREAKPOINT, PROP_NAME } from '../constants/config';\nimport { cloneDeep } from './clone-deep';\nimport { memoize } from './memoize'; // --- Constants ---\n\nvar VueProto = Vue.prototype; // --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config value,\n// to prevent mutation of the user config object\n// Get the current config\n\nexport var getConfig = function getConfig() {\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfig() : {};\n}; // Method to grab a config value based on a dotted/array notation key\n\nexport var getConfigValue = function getConfigValue(key) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var bvConfig = VueProto[PROP_NAME];\n return bvConfig ? bvConfig.getConfigValue(key, defaultValue) : cloneDeep(defaultValue);\n}; // Method to grab a config value for a particular component\n\nexport var getComponentConfig = function getComponentConfig(key) {\n var propKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n // Return the particular config value for key if specified,\n // otherwise we return the full config (or an empty object if not found)\n return propKey ? getConfigValue(\"\".concat(key, \".\").concat(propKey), defaultValue) : getConfigValue(key, {});\n}; // Get all breakpoint names\n\nexport var getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints', DEFAULT_BREAKPOINT);\n}; // Private method for caching breakpoint names\n\nvar _getBreakpointsCached = memoize(function () {\n return getBreakpoints();\n}); // Get all breakpoint names (cached)\n\n\nexport var getBreakpointsCached = function getBreakpointsCached() {\n return cloneDeep(_getBreakpointsCached());\n}; // Get breakpoints with the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUp = function getBreakpointsUp() {\n var breakpoints = getBreakpoints();\n breakpoints[0] = '';\n return breakpoints;\n}; // Get breakpoints with the smallest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\nexport var getBreakpointsUpCached = memoize(function () {\n var breakpoints = getBreakpointsCached();\n breakpoints[0] = '';\n return breakpoints;\n}); // Get breakpoints with the largest breakpoint set as ''\n\nexport var getBreakpointsDown = function getBreakpointsDown() {\n var breakpoints = getBreakpoints();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}; // Get breakpoints with the largest breakpoint set as '' (cached)\n// Useful for components that create breakpoint specific props\n\n/* istanbul ignore next: we don't use this method anywhere, yet */\n\nexport var getBreakpointsDownCached = function getBreakpointsDownCached() {\n var breakpoints = getBreakpointsCached();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n};","export var identity = function identity(x) {\n return x;\n};","// String utilities\nimport { RX_HYPHENATE, RX_LOWER_UPPER, RX_REGEXP_REPLACE, RX_START_SPACE_WORD, RX_TRIM_LEFT, RX_TRIM_RIGHT, RX_UNDERSCORE, RX_UN_KEBAB } from '../constants/regex';\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'; // --- Utilities ---\n// Converts PascalCase or camelCase to kebab-case\n\nexport var kebabCase = function kebabCase(str) {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase();\n}; // Converts a kebab-case or camelCase string to PascalCase\n\nexport var pascalCase = function pascalCase(str) {\n str = kebabCase(str).replace(RX_UN_KEBAB, function (_, c) {\n return c ? c.toUpperCase() : '';\n });\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Converts a string, including strings in camelCase or snake_case, into Start Case\n// It keeps original single quote and hyphen in the word\n// https://github.com/UrbanCompass/to-start-case\n\nexport var startCase = function startCase(str) {\n return str.replace(RX_UNDERSCORE, ' ').replace(RX_LOWER_UPPER, function (str, $1, $2) {\n return $1 + ' ' + $2;\n }).replace(RX_START_SPACE_WORD, function (str, $1, $2) {\n return $1 + $2.toUpperCase();\n });\n}; // Lowercases the first letter of a string and returns a new string\n\nexport var lowerFirst = function lowerFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n}; // Uppercases the first letter of a string and returns a new string\n\nexport var upperFirst = function upperFirst(str) {\n str = isString(str) ? str.trim() : String(str);\n return str.charAt(0).toUpperCase() + str.slice(1);\n}; // Escape characters to be used in building a regular expression\n\nexport var escapeRegExp = function escapeRegExp(str) {\n return str.replace(RX_REGEXP_REPLACE, '\\\\$&');\n}; // Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\n\nexport var toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return isUndefinedOrNull(val) ? '' : isArray(val) || isPlainObject(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n}; // Remove leading white space from a string\n\nexport var trimLeft = function trimLeft(str) {\n return toString(str).replace(RX_TRIM_LEFT, '');\n}; // Remove Trailing white space from a string\n\nexport var trimRight = function trimRight(str) {\n return toString(str).replace(RX_TRIM_RIGHT, '');\n}; // Remove leading and trailing white space from a string\n\nexport var trim = function trim(str) {\n return toString(str).trim();\n}; // Lower case a string\n\nexport var lowerCase = function lowerCase(str) {\n return toString(str).toLowerCase();\n}; // Upper case a string\n\nexport var upperCase = function upperCase(str) {\n return toString(str).toUpperCase();\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { PROP_TYPE_ANY } from '../constants/props';\nimport { cloneDeep } from './clone-deep';\nimport { getComponentConfig } from './config';\nimport { identity } from './identity';\nimport { isArray, isFunction, isObject, isUndefined } from './inspect';\nimport { clone, hasOwnProperty, keys } from './object';\nimport { lowerFirst, upperFirst } from './string'; // Prefix a property\n\nexport var prefixPropName = function prefixPropName(prefix, value) {\n return prefix + upperFirst(value);\n}; // Remove a prefix from a property\n\nexport var unprefixPropName = function unprefixPropName(prefix, value) {\n return lowerFirst(value.replace(prefix, ''));\n}; // Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n// Use data last parameters to allow for currying\n\nexport var suffixPropName = function suffixPropName(suffix, value) {\n return value + (suffix ? upperFirst(suffix) : '');\n}; // Generates a prop object\n\nexport var makeProp = function makeProp() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PROP_TYPE_ANY;\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var requiredOrValidator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n var validator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;\n var required = requiredOrValidator === true;\n validator = required ? validator : requiredOrValidator;\n return _objectSpread(_objectSpread(_objectSpread({}, type ? {\n type: type\n } : {}), required ? {\n required: required\n } : isUndefined(value) ? {} : {\n default: isObject(value) ? function () {\n return value;\n } : value\n }), isUndefined(validator) ? {} : {\n validator: validator\n });\n}; // Copies props from one array/object to a new array/object\n// Prop values are also cloned as new references to prevent possible\n// mutation of original prop object values\n// Optionally accepts a function to transform the prop name\n\nexport var copyProps = function copyProps(props) {\n var transformFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;\n\n if (isArray(props)) {\n return props.map(transformFn);\n }\n\n var copied = {};\n\n for (var prop in props) {\n /* istanbul ignore else */\n if (hasOwnProperty(props, prop)) {\n // If the prop value is an object, do a shallow clone\n // to prevent potential mutations to the original object\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop];\n }\n }\n\n return copied;\n}; // Given an array of properties or an object of property keys,\n// plucks all the values off the target object, returning a new object\n// that has props that reference the original prop values\n\nexport var pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : identity;\n return (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\n }, {});\n}; // Make a prop object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropConfigurable = function makePropConfigurable(prop, key, componentKey) {\n return _objectSpread(_objectSpread({}, cloneDeep(prop)), {}, {\n default: function bvConfigurablePropDefault() {\n var value = getComponentConfig(componentKey, key, prop.default);\n return isFunction(value) ? value() : value;\n }\n });\n}; // Make a props object configurable by global configuration\n// Replaces the current `default` key of each prop with a `getComponentConfig()`\n// call that falls back to the current default value of the prop\n\nexport var makePropsConfigurable = function makePropsConfigurable(props, componentKey) {\n return keys(props).reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, makePropConfigurable(props[key], key, componentKey)));\n }, {});\n}; // Get function name we use in `makePropConfigurable()`\n// for the prop default value override to compare\n// against in `hasPropFunction()`\n\nvar configurablePropDefaultFnName = makePropConfigurable({}, '', '').default.name; // Detect wether the given value is currently a function\n// and isn't the props default function\n\nexport var hasPropFunction = function hasPropFunction(fn) {\n return isFunction(fn) && fn.name && fn.name !== configurablePropDefaultFnName;\n};","import { extend } from '../vue'; // --- Mixin ---\n// @vue/component\n\nexport var useParentMixin = extend({\n computed: {\n bvParent: function bvParent() {\n return this.$parent || this.$root === this && this.$options.bvParent;\n }\n }\n});","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\nexport var getScopeId = function getScopeId(vm) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return vm ? vm.$options._scopeId || defaultValue : defaultValue;\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var createNewChildComponent = function createNewChildComponent(parent, Component) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var bvEventRoot = parent.$root ? parent.$root.$options.bvEventRoot || parent.$root : null;\n return new Component(_objectSpread(_objectSpread({}, config), {}, {\n parent: parent,\n bvParent: parent,\n bvEventRoot: bvEventRoot\n }));\n};","import { isFunction } from './inspect'; // --- Static ---\n\nexport var from = function from() {\n return Array.from.apply(Array, arguments);\n}; // --- Instance ---\n\nexport var arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\nexport var concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n}; // --- Utilities ---\n\nexport var createArray = function createArray(length, fillFn) {\n var mapFn = isFunction(fillFn) ? fillFn : function () {\n return fillFn;\n };\n return Array.apply(null, {\n length: length\n }).map(mapFn);\n};\nexport var flatten = function flatten(array) {\n return array.reduce(function (result, item) {\n return concat(result, item);\n }, []);\n};\nexport var flattenDeep = function flattenDeep(array) {\n return array.reduce(function (result, item) {\n return concat(result, Array.isArray(item) ? flattenDeep(item) : item);\n }, []);\n};","import { concat } from './array';\nimport { identity } from './identity';\nimport { isFunction } from './inspect'; // Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var hasNormalizedSlot = function hasNormalizedSlot(names) {\n var $scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n // Ensure names is an array\n names = concat(names).filter(identity); // Returns true if the either a $scopedSlot or $slot exists with the specified name\n\n return names.some(function (name) {\n return $scopedSlots[name] || $slots[name];\n });\n};\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\n\nexport var normalizeSlot = function normalizeSlot(names) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var $scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var $slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // Ensure names is an array\n names = concat(names).filter(identity);\n var slot;\n\n for (var i = 0; i < names.length && !slot; i++) {\n var name = names[i];\n slot = $scopedSlots[name] || $slots[name];\n } // Note: in Vue 2.6.x, all named slots are also scoped slots\n\n\n return isFunction(slot) ? slot(scope) : slot;\n};","import { extend } from '../vue';\nimport { SLOT_NAME_DEFAULT } from '../constants/slots';\nimport { hasNormalizedSlot as _hasNormalizedSlot, normalizeSlot as _normalizeSlot } from '../utils/normalize-slot';\nimport { concat } from '../utils/array'; // @vue/component\n\nexport var normalizeSlotMixin = extend({\n methods: {\n // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name\n // `name` can be a string name or an array of names\n hasNormalizedSlot: function hasNormalizedSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.$scopedSlots;\n var slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$slots;\n return _hasNormalizedSlot(name, scopedSlots, slots);\n },\n // Returns an array of rendered VNodes if slot found, otherwise `undefined`\n // `name` can be a string name or an array of names\n normalizeSlot: function normalizeSlot() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT;\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$scopedSlots;\n var slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.$slots;\n\n var vNodes = _normalizeSlot(name, scope, scopedSlots, slots);\n\n return vNodes ? concat(vNodes) : vNodes;\n }\n }\n});","import { isVue3 } from '../vue';\nvar registry = null;\n\nif (isVue3) {\n registry = new WeakMap();\n}\n\nexport var registerElementToInstance = function registerElementToInstance(element, instance) {\n if (!isVue3) {\n return;\n }\n\n registry.set(element, instance);\n};\nexport var removeElementToInstance = function removeElementToInstance(element) {\n if (!isVue3) {\n return;\n }\n\n registry.delete(element);\n};\nexport var getInstanceFromElement = function getInstanceFromElement(element) {\n if (!isVue3) {\n return element.__vue__;\n }\n\n var currentElement = element;\n\n while (currentElement) {\n if (registry.has(currentElement)) {\n /* istanbul ignore next */\n return registry.get(currentElement);\n }\n\n currentElement = currentElement.parentNode;\n }\n\n return null;\n};","// Number utilities\n// Converts a value (string, number, etc.) to an integer number\n// Assumes radix base 10\nexport var toInteger = function toInteger(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var integer = parseInt(value, 10);\n return isNaN(integer) ? defaultValue : integer;\n}; // Converts a value (string, number, etc.) to a number\n\nexport var toFloat = function toFloat(value) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n var float = parseFloat(value);\n return isNaN(float) ? defaultValue : float;\n}; // Converts a value (string, number, etc.) to a string\n// representation with `precision` digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\n\nexport var toFixed = function toFixed(val, precision) {\n return toFloat(val).toFixed(toInteger(precision, 0));\n};","import { DOCUMENT, WINDOW } from '../constants/env';\nimport { Element } from '../constants/safe-types';\nimport { from as arrayFrom } from './array';\nimport { isFunction, isNull } from './inspect';\nimport { toFloat } from './number';\nimport { toString } from './string'; // --- Constants ---\n\nvar ELEMENT_PROTO = Element.prototype;\nvar TABABLE_SELECTOR = ['button', '[href]:not(.disabled)', 'input', 'select', 'textarea', '[tabindex]', '[contenteditable]'].map(function (s) {\n return \"\".concat(s, \":not(:disabled):not([disabled])\");\n}).join(', '); // --- Normalization utils ---\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n/* istanbul ignore next */\n\nexport var matchesEl = ELEMENT_PROTO.matches || ELEMENT_PROTO.msMatchesSelector || ELEMENT_PROTO.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n/* istanbul ignore next */\n\nexport var closestEl = ELEMENT_PROTO.closest || function (sel) {\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n}; // `requestAnimationFrame()` convenience method\n\n/* istanbul ignore next: JSDOM always returns the first option */\n\nexport var requestAF = (WINDOW.requestAnimationFrame || WINDOW.webkitRequestAnimationFrame || WINDOW.mozRequestAnimationFrame || WINDOW.msRequestAnimationFrame || WINDOW.oRequestAnimationFrame || // Fallback, but not a true polyfill\n// Only needed for Opera Mini\n\n/* istanbul ignore next */\nfunction (cb) {\n return setTimeout(cb, 16);\n}).bind(WINDOW);\nexport var MutationObs = WINDOW.MutationObserver || WINDOW.WebKitMutationObserver || WINDOW.MozMutationObserver || null; // --- Utils ---\n// Remove a node from DOM\n\nexport var removeNode = function removeNode(el) {\n return el && el.parentNode && el.parentNode.removeChild(el);\n}; // Determine if an element is an HTML element\n\nexport var isElement = function isElement(el) {\n return !!(el && el.nodeType === Node.ELEMENT_NODE);\n}; // Get the currently active HTML element\n\nexport var getActiveElement = function getActiveElement() {\n var excludes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var activeElement = DOCUMENT.activeElement;\n return activeElement && !excludes.some(function (el) {\n return el === activeElement;\n }) ? activeElement : null;\n}; // Returns `true` if a tag's name equals `name`\n\nexport var isTag = function isTag(tag, name) {\n return toString(tag).toLowerCase() === toString(name).toLowerCase();\n}; // Determine if an HTML element is the currently active element\n\nexport var isActiveElement = function isActiveElement(el) {\n return isElement(el) && el === getActiveElement();\n}; // Determine if an HTML element is visible - Faster than CSS check\n\nexport var isVisible = function isVisible(el) {\n if (!isElement(el) || !el.parentNode || !contains(DOCUMENT.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false;\n }\n\n if (getStyle(el, 'display') === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\n } // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n\n\n var bcr = getBCR(el);\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n}; // Determine if an element is disabled\n\nexport var isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled');\n}; // Cause/wait-for an element to reflow its content (adjusting its height/width)\n\nexport var reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n}; // Select all elements matching selector. Returns `[]` if none found\n\nexport var selectAll = function selectAll(selector, root) {\n return arrayFrom((isElement(root) ? root : DOCUMENT).querySelectorAll(selector));\n}; // Select a single element, returns `null` if not found\n\nexport var select = function select(selector, root) {\n return (isElement(root) ? root : DOCUMENT).querySelector(selector) || null;\n}; // Determine if an element matches a selector\n\nexport var matches = function matches(el, selector) {\n return isElement(el) ? matchesEl.call(el, selector) : false;\n}; // Finds closest element matching selector. Returns `null` if not found\n\nexport var closest = function closest(selector, root) {\n var includeRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n\n return includeRoot ? el : el === root ? null : el;\n}; // Returns true if the parent element contains the child element\n\nexport var contains = function contains(parent, child) {\n return parent && isFunction(parent.contains) ? parent.contains(child) : false;\n}; // Get an element given an ID\n\nexport var getById = function getById(id) {\n return DOCUMENT.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n}; // Add a class to an element\n\nexport var addClass = function addClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className);\n }\n}; // Remove a class from an element\n\nexport var removeClass = function removeClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className);\n }\n}; // Test if an element has a class\n\nexport var hasClass = function hasClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className);\n }\n\n return false;\n}; // Set an attribute on an element\n\nexport var setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n}; // Remove an attribute from an element\n\nexport var removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n}; // Get an attribute value from an element\n// Returns `null` if not found\n\nexport var getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n}; // Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\n\nexport var hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n}; // Set an style property on an element\n\nexport var setStyle = function setStyle(el, prop, value) {\n if (prop && isElement(el)) {\n el.style[prop] = value;\n }\n}; // Remove an style property from an element\n\nexport var removeStyle = function removeStyle(el, prop) {\n if (prop && isElement(el)) {\n el.style[prop] = '';\n }\n}; // Get an style property value from an element\n// Returns `null` if not found\n\nexport var getStyle = function getStyle(el, prop) {\n return prop && isElement(el) ? el.style[prop] || null : null;\n}; // Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\nexport var getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n}; // Get computed style object for an element\n\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\nexport var getCS = function getCS(el) {\n var getComputedStyle = WINDOW.getComputedStyle;\n return getComputedStyle && isElement(el) ? getComputedStyle(el) : {};\n}; // Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\n\nexport var getSel = function getSel() {\n var getSelection = WINDOW.getSelection;\n return getSelection ? WINDOW.getSelection() : null;\n}; // Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\nexport var offset = function offset(el)\n/* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n}; // Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\nexport var position = function position(el)\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += toFloat(offsetParentStyles.borderTopWidth, 0);\n parentOffset.left += toFloat(offsetParentStyles.borderLeftWidth, 0);\n }\n }\n\n return {\n top: _offset.top - parentOffset.top - toFloat(elStyles.marginTop, 0),\n left: _offset.left - parentOffset.left - toFloat(elStyles.marginLeft, 0)\n };\n}; // Find all tabable elements in the given element\n// Assumes users have not used `tabindex` > `0` on elements\n\nexport var getTabables = function getTabables() {\n var rootEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n return selectAll(TABABLE_SELECTOR, rootEl).filter(isVisible).filter(function (el) {\n return el.tabIndex > -1 && !el.disabled;\n });\n}; // Attempt to focus an element, and return `true` if successful\n\nexport var attemptFocus = function attemptFocus(el) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n el.focus(options);\n } catch (_unused) {}\n\n return isActiveElement(el);\n}; // Attempt to blur an element, and return `true` if successful\n\nexport var attemptBlur = function attemptBlur(el) {\n try {\n el.blur();\n } catch (_unused2) {}\n\n return !isActiveElement(el);\n};","import { HAS_PASSIVE_EVENT_SUPPORT } from '../constants/env';\nimport { ROOT_EVENT_NAME_PREFIX, ROOT_EVENT_NAME_SEPARATOR } from '../constants/events';\nimport { RX_BV_PREFIX } from '../constants/regex';\nimport { isObject } from './inspect';\nimport { kebabCase } from './string'; // --- Utils ---\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\n\nexport var parseEventOptions = function parseEventOptions(options) {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return isObject(options) ? options : {\n capture: !!options || false\n };\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options);\n }\n}; // Attach an event listener to an element\n\nexport var eventOn = function eventOn(el, eventName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Remove an event listener from an element\n\nexport var eventOff = function eventOff(el, eventName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, parseEventOptions(options));\n }\n}; // Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\n\nexport var eventOnOff = function eventOnOff(on) {\n var method = on ? eventOn : eventOff;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n method.apply(void 0, args);\n}; // Utility method to prevent the default event handling and propagation\n\nexport var stopEvent = function stopEvent(event) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$preventDefault = _ref.preventDefault,\n preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault,\n _ref$propagation = _ref.propagation,\n propagation = _ref$propagation === void 0 ? true : _ref$propagation,\n _ref$immediatePropaga = _ref.immediatePropagation,\n immediatePropagation = _ref$immediatePropaga === void 0 ? false : _ref$immediatePropaga;\n\n if (preventDefault) {\n event.preventDefault();\n }\n\n if (propagation) {\n event.stopPropagation();\n }\n\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n}; // Helper method to convert a component/directive name to a base event name\n// `getBaseEventName('BNavigationItem')` => 'navigation-item'\n// `getBaseEventName('BVToggle')` => 'toggle'\n\nvar getBaseEventName = function getBaseEventName(value) {\n return kebabCase(value.replace(RX_BV_PREFIX, ''));\n}; // Get a root event name by component/directive and event name\n// `getBaseEventName('BModal', 'show')` => 'bv::modal::show'\n\n\nexport var getRootEventName = function getRootEventName(name, eventName) {\n return [ROOT_EVENT_NAME_PREFIX, getBaseEventName(name), eventName].join(ROOT_EVENT_NAME_SEPARATOR);\n}; // Get a root action event name by component/directive and action name\n// `getRootActionEventName('BModal', 'show')` => 'bv::show::modal'\n\nexport var getRootActionEventName = function getRootActionEventName(name, actionName) {\n return [ROOT_EVENT_NAME_PREFIX, actionName, getBaseEventName(name)].join(ROOT_EVENT_NAME_SEPARATOR);\n};","import { hasOwnProperty, keys } from './object';\nimport { isArray, isDate, isObject } from './inspect'; // Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\n\nvar compareArrays = function compareArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n\n var equal = true;\n\n for (var i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n\n return equal;\n};\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\n\n\nexport var looseEqual = function looseEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n var aValidType = isDate(a);\n var bValidType = isDate(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n\n aValidType = isArray(a);\n bValidType = isArray(b);\n\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false;\n }\n\n aValidType = isObject(a);\n bValidType = isObject(b);\n\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false;\n }\n\n var aKeysCount = keys(a).length;\n var bKeysCount = keys(b).length;\n\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n\n for (var key in a) {\n var aHasKey = hasOwnProperty(a, key);\n var bHasKey = hasOwnProperty(b, key);\n\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n\n return String(a) === String(b);\n};","// Math utilty functions\nexport var mathMin = Math.min;\nexport var mathMax = Math.max;\nexport var mathAbs = Math.abs;\nexport var mathCeil = Math.ceil;\nexport var mathFloor = Math.floor;\nexport var mathPow = Math.pow;\nexport var mathRound = Math.round;","export var noop = function noop() {};","import { IS_BROWSER, HAS_PROMISE_SUPPORT, HAS_MUTATION_OBSERVER_SUPPORT } from '../constants/env';\nimport { getNoWarn } from './env';\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\n\nexport var warn = function warn(message)\n/* istanbul ignore next */\n{\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!getNoWarn()) {\n console.warn(\"[BootstrapVue warn]: \".concat(source ? \"\".concat(source, \" - \") : '').concat(message));\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNotClient = function warnNotClient(source) {\n /* istanbul ignore else */\n if (IS_BROWSER) {\n return false;\n } else {\n warn(\"\".concat(source, \": Can not be called during SSR.\"));\n return true;\n }\n};\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoPromiseSupport = function warnNoPromiseSupport(source) {\n /* istanbul ignore else */\n if (HAS_PROMISE_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires Promise support.\"));\n return true;\n }\n};\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\n\nexport var warnNoMutationObserverSupport = function warnNoMutationObserverSupport(source) {\n /* istanbul ignore else */\n if (HAS_MUTATION_OBSERVER_SUPPORT) {\n return false;\n } else {\n warn(\"\".concat(source, \": Requires MutationObserver support.\"));\n return true;\n }\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { assign, defineProperty, defineProperties, readonlyDescriptor } from './object';\nexport var BvEvent = /*#__PURE__*/function () {\n function BvEvent(type) {\n var eventInit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, BvEvent);\n\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\"Failed to construct '\".concat(this.constructor.name, \"'. 1 argument required, \").concat(arguments.length, \" given.\"));\n } // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n\n\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, {\n type: type\n }); // Freeze some props as readonly, but leave them enumerable\n\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n }); // Create a private variable using closure scoping\n\n var defaultPrevented = false; // Recreate preventDefault method. One way setter\n\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true;\n }\n }; // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n\n\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get: function get() {\n return defaultPrevented;\n }\n });\n }\n\n _createClass(BvEvent, null, [{\n key: \"Defaults\",\n get: function get() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n };\n }\n }]);\n\n return BvEvent;\n}();","export var getEventRoot = function getEventRoot(vm) {\n return vm.$root.$options.bvEventRoot || vm.$root;\n};","import { extend } from '../vue';\nimport { arrayIncludes } from '../utils/array';\nimport { keys } from '../utils/object';\nimport { getEventRoot } from '../utils/get-event-root'; // --- Constants ---\n\nvar PROP = '$_rootListeners'; // --- Mixin ---\n// @vue/component\n\nexport var listenOnRootMixin = extend({\n computed: {\n bvEventRoot: function bvEventRoot() {\n return getEventRoot(this);\n }\n },\n created: function created() {\n // Define non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of callbacks\n this[PROP] = {};\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n // Unregister all registered listeners\n keys(this[PROP] || {}).forEach(function (event) {\n _this[PROP][event].forEach(function (callback) {\n _this.listenOffRoot(event, callback);\n });\n });\n this[PROP] = null;\n },\n methods: {\n registerRootListener: function registerRootListener(event, callback) {\n if (this[PROP]) {\n this[PROP][event] = this[PROP][event] || [];\n\n if (!arrayIncludes(this[PROP][event], callback)) {\n this[PROP][event].push(callback);\n }\n }\n },\n unregisterRootListener: function unregisterRootListener(event, callback) {\n if (this[PROP] && this[PROP][event]) {\n this[PROP][event] = this[PROP][event].filter(function (cb) {\n return cb !== callback;\n });\n }\n },\n\n /**\n * Safely register event listeners on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on `$root` and is destroyed,\n * this orphans a callback because the node is gone, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRoot: function listenOnRoot(event, callback) {\n if (this.bvEventRoot) {\n this.bvEventRoot.$on(event, callback);\n this.registerRootListener(event, callback);\n }\n },\n\n /**\n * Safely register a `$once()` event listener on the root Vue node\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on `$root` and is destroyed,\n * this orphans a callback because the node is gone, but the `$root`\n * does not clear the callback\n *\n * When registering a `$root` listener, it also registers the listener\n * to be removed in the component's `beforeDestroy()` hook\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOnRootOnce: function listenOnRootOnce(event, callback) {\n var _this2 = this;\n\n if (this.bvEventRoot) {\n var _callback = function _callback() {\n _this2.unregisterRootListener(_callback); // eslint-disable-next-line node/no-callback-literal\n\n\n callback.apply(void 0, arguments);\n };\n\n this.bvEventRoot.$once(event, _callback);\n this.registerRootListener(event, _callback);\n }\n },\n\n /**\n * Safely unregister event listeners from the root Vue node\n *\n * @param {string} event\n * @param {function} callback\n */\n listenOffRoot: function listenOffRoot(event, callback) {\n this.unregisterRootListener(event, callback);\n\n if (this.bvEventRoot) {\n this.bvEventRoot.$off(event, callback);\n }\n },\n\n /**\n * Convenience method for calling `vm.$emit()` on `$root`\n *\n * @param {string} event\n * @param {*} args\n */\n emitOnRoot: function emitOnRoot(event) {\n if (this.bvEventRoot) {\n var _this$bvEventRoot;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$bvEventRoot = this.bvEventRoot).$emit.apply(_this$bvEventRoot, [event].concat(args));\n }\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../vue';\nimport { useParentMixin } from '../mixins/use-parent';\nimport { getScopeId } from '../utils/get-scope-id'; // @vue/component\n\nexport var scopedStyleMixin = extend({\n mixins: [useParentMixin],\n computed: {\n scopedStyleAttrs: function scopedStyleAttrs() {\n var scopeId = getScopeId(this.bvParent);\n return scopeId ? _defineProperty({}, scopeId, '') : {};\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\nimport { extend, mergeData } from '../../vue';\nimport { NAME_TRANSITION } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { isPlainObject } from '../../utils/inspect';\nimport { makeProp } from '../../utils/props'; // --- Constants ---\n\nvar NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n};\n\nvar FADE_PROPS = _objectSpread(_objectSpread({}, NO_FADE_PROPS), {}, {\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}); // --- Props ---\n\n\nexport var props = {\n // Has no effect if `trans-props` provided\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n // Can be overridden by user supplied `trans-props`\n mode: makeProp(PROP_TYPE_STRING),\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // For user supplied transitions (if needed)\n transProps: makeProp(PROP_TYPE_OBJECT)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTransition = /*#__PURE__*/extend({\n name: NAME_TRANSITION,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var children = _ref.children,\n data = _ref.data,\n props = _ref.props;\n var transProps = props.transProps;\n\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS;\n\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = _objectSpread(_objectSpread({}, transProps), {}, {\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n });\n }\n }\n\n transProps = _objectSpread(_objectSpread({\n mode: props.mode\n }, transProps), {}, {\n // We always need `css` true\n css: true\n });\n\n var dataCopy = _objectSpread({}, data);\n\n delete dataCopy.props;\n return h('transition', // Any transition event listeners will get merged here\n mergeData(dataCopy, {\n props: transProps\n }), children);\n }\n});","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { extend } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { useParentMixin } from '../../../mixins/use-parent';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/extend({\n name: NAME_POPPER,\n mixins: [useParentMixin],\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.bvParent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../../vue';\nimport { NAME_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.bvParent.bvParent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, extend } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { useParentMixin } from '../../../mixins/use-parent';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { getInstanceFromElement } from '../../../utils/element-to-vue-instance-registry';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { createNewChildComponent } from '../../../utils/create-new-child-component';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin, useParentMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.bvParent) {\n this.bvParent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.bvParent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = createNewChildComponent(this, Template, {\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvent = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvent); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvent.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvent = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvent);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvent.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element loses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var method = on ? 'listenOnRoot' : 'listenOffRoot';\n var type = this.templateType;\n this[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n this[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n this[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n this[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n var tip = _this8.getTemplateElement();\n\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this[on ? 'listenOnRoot' : 'listenOffRoot'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.bvEventRoot || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n var instance = getInstanceFromElement(target);\n\n if (instance) {\n instance[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","var _makePropsConfigurabl, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { EVENT_NAME_CLOSE, EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OPEN, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_OBJECT_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement, SVGElement } from '../../constants/safe-types';\nimport { useParentMixin } from '../../mixins/use-parent';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { pick } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { createNewChildComponent } from '../../utils/create-new-child-component';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTooltip } from './helpers/bv-tooltip'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ENABLED = 'disabled';\nvar MODEL_EVENT_NAME_ENABLED = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ENABLED;\nvar MODEL_PROP_NAME_SHOW = 'show';\nvar MODEL_EVENT_NAME_SHOW = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW; // --- Props ---\n\nexport var props = makePropsConfigurable((_makePropsConfigurabl = {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n boundary: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING], 'scrollParent'),\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 50),\n // String: HTML ID of container, if null body is used (default)\n // HTMLElement: element reference reference\n // Object: Vue Component\n container: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n customClass: makeProp(PROP_TYPE_STRING),\n delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, 50)\n}, _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_ENABLED, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"fallbackPlacement\", makeProp(PROP_TYPE_ARRAY_STRING, 'flip')), _defineProperty(_makePropsConfigurabl, \"id\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"noFade\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"noninteractive\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"offset\", makeProp(PROP_TYPE_NUMBER_STRING, 0)), _defineProperty(_makePropsConfigurabl, \"placement\", makeProp(PROP_TYPE_STRING, 'top')), _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_SHOW, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"target\", makeProp([HTMLElement, SVGElement, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING], undefined, true)), _defineProperty(_makePropsConfigurabl, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"triggers\", makeProp(PROP_TYPE_ARRAY_STRING, 'hover focus')), _defineProperty(_makePropsConfigurabl, \"variant\", makeProp(PROP_TYPE_STRING)), _makePropsConfigurabl), NAME_TOOLTIP); // --- Main component ---\n// @vue/component\n\nexport var BTooltip = /*#__PURE__*/extend({\n name: NAME_TOOLTIP,\n mixins: [normalizeSlotMixin, useParentMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localShow: this[MODEL_PROP_NAME_SHOW],\n localTitle: '',\n localContent: ''\n };\n },\n computed: {\n // Data that will be passed to the template and popper\n templateData: function templateData() {\n return _objectSpread({\n title: this.localTitle,\n content: this.localContent,\n interactive: !this.noninteractive\n }, pick(this.$props, ['boundary', 'boundaryPadding', 'container', 'customClass', 'delay', 'fallbackPlacement', 'id', 'noFade', 'offset', 'placement', 'target', 'target', 'triggers', 'variant', MODEL_PROP_NAME_ENABLED]));\n },\n // Used to watch for changes to the title and content props\n templateTitleContent: function templateTitleContent() {\n var title = this.title,\n content = this.content;\n return {\n title: title,\n content: content\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_SHOW, function (newValue, oldValue) {\n if (newValue !== oldValue && newValue !== this.localShow && this.$_toolpop) {\n if (newValue) {\n this.$_toolpop.show();\n } else {\n // We use `forceHide()` to override any active triggers\n this.$_toolpop.forceHide();\n }\n }\n }), _defineProperty(_watch, MODEL_PROP_NAME_ENABLED, function (newValue) {\n if (newValue) {\n this.doDisable();\n } else {\n this.doEnable();\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n // TODO: May need to be done in a `$nextTick()`\n this.$emit(MODEL_EVENT_NAME_SHOW, newValue);\n }), _defineProperty(_watch, \"templateData\", function templateData() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.$_toolpop) {\n _this.$_toolpop.updateData(_this.templateData);\n }\n });\n }), _defineProperty(_watch, \"templateTitleContent\", function templateTitleContent() {\n this.$nextTick(this.updateContent);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_toolpop = null;\n },\n updated: function updated() {\n // Update the `propData` object\n // Done in a `$nextTick()` to ensure slot(s) have updated\n this.$nextTick(this.updateContent);\n },\n beforeDestroy: function beforeDestroy() {\n // Shutdown our local event listeners\n this.$off(EVENT_NAME_OPEN, this.doOpen);\n this.$off(EVENT_NAME_CLOSE, this.doClose);\n this.$off(EVENT_NAME_DISABLE, this.doDisable);\n this.$off(EVENT_NAME_ENABLE, this.doEnable); // Destroy the tip instance\n\n if (this.$_toolpop) {\n this.$_toolpop.$destroy();\n this.$_toolpop = null;\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n // Instantiate a new BVTooltip instance\n // Done in a `$nextTick()` to ensure DOM has completed rendering\n // so that target can be found\n this.$nextTick(function () {\n // Load the on demand child instance\n var Component = _this2.getComponent(); // Ensure we have initial content\n\n\n _this2.updateContent(); // Pass down the scoped style attribute if available\n\n\n var scopeId = getScopeId(_this2) || getScopeId(_this2.bvParent); // Create the instance\n\n var $toolpop = _this2.$_toolpop = createNewChildComponent(_this2, Component, {\n // Pass down the scoped style ID\n _scopeId: scopeId || undefined\n }); // Set the initial data\n\n $toolpop.updateData(_this2.templateData); // Set listeners\n\n $toolpop.$on(EVENT_NAME_SHOW, _this2.onShow);\n $toolpop.$on(EVENT_NAME_SHOWN, _this2.onShown);\n $toolpop.$on(EVENT_NAME_HIDE, _this2.onHide);\n $toolpop.$on(EVENT_NAME_HIDDEN, _this2.onHidden);\n $toolpop.$on(EVENT_NAME_DISABLED, _this2.onDisabled);\n $toolpop.$on(EVENT_NAME_ENABLED, _this2.onEnabled); // Initially disabled?\n\n if (_this2[MODEL_PROP_NAME_ENABLED]) {\n // Initially disabled\n _this2.doDisable();\n } // Listen to open signals from others\n\n\n _this2.$on(EVENT_NAME_OPEN, _this2.doOpen); // Listen to close signals from others\n\n\n _this2.$on(EVENT_NAME_CLOSE, _this2.doClose); // Listen to disable signals from others\n\n\n _this2.$on(EVENT_NAME_DISABLE, _this2.doDisable); // Listen to enable signals from others\n\n\n _this2.$on(EVENT_NAME_ENABLE, _this2.doEnable); // Initially show tooltip?\n\n\n if (_this2.localShow) {\n $toolpop.show();\n }\n });\n },\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return BVTooltip;\n },\n updateContent: function updateContent() {\n // Overridden by BPopover\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function reference by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setTitle(this.normalizeSlot() || this.title);\n },\n // Helper methods for `updateContent()`\n setTitle: function setTitle(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localTitle !== value) {\n this.localTitle = value;\n }\n },\n setContent: function setContent(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localContent !== value) {\n this.localContent = value;\n }\n },\n // --- Template event handlers ---\n onShow: function onShow(bvEvent) {\n // Placeholder\n this.$emit(EVENT_NAME_SHOW, bvEvent);\n\n if (bvEvent) {\n this.localShow = !bvEvent.defaultPrevented;\n }\n },\n onShown: function onShown(bvEvent) {\n // Tip is now showing\n this.localShow = true;\n this.$emit(EVENT_NAME_SHOWN, bvEvent);\n },\n onHide: function onHide(bvEvent) {\n this.$emit(EVENT_NAME_HIDE, bvEvent);\n },\n onHidden: function onHidden(bvEvent) {\n // Tip is no longer showing\n this.$emit(EVENT_NAME_HIDDEN, bvEvent);\n this.localShow = false;\n },\n onDisabled: function onDisabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `disabled` instead of `disable`\n if (bvEvent && bvEvent.type === EVENT_NAME_DISABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, true);\n this.$emit(EVENT_NAME_DISABLED, bvEvent);\n }\n },\n onEnabled: function onEnabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `enabled` instead of `enable`\n if (bvEvent && bvEvent.type === EVENT_NAME_ENABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, false);\n this.$emit(EVENT_NAME_ENABLED, bvEvent);\n }\n },\n // --- Local event listeners ---\n doOpen: function doOpen() {\n !this.localShow && this.$_toolpop && this.$_toolpop.show();\n },\n doClose: function doClose() {\n this.localShow && this.$_toolpop && this.$_toolpop.hide();\n },\n doDisable: function doDisable() {\n this.$_toolpop && this.$_toolpop.disable();\n },\n doEnable: function doEnable() {\n this.$_toolpop && this.$_toolpop.enable();\n }\n },\n render: function render(h) {\n // Always renders a comment node\n // TODO:\n // Future: Possibly render a target slot (single root element)\n // which we can apply the listeners to (pass `this.$el` to BVTooltip)\n return h();\n }\n});","import { extend } from '../../../vue';\nimport { NAME_POPOVER_TEMPLATE } from '../../../constants/components';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { BVTooltipTemplate } from '../../tooltip/helpers/bv-tooltip-template'; // @vue/component\n\nexport var BVPopoverTemplate = /*#__PURE__*/extend({\n name: NAME_POPOVER_TEMPLATE,\n extends: BVTooltipTemplate,\n computed: {\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title,\n content = this.content; // Title and content could be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title;\n var $content = isFunction(content) ? content({}) : content; // Directive usage only\n\n var titleDomProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n var contentDomProps = this.html && !isFunction(content) ? {\n innerHTML: content\n } : {};\n return h('div', {\n staticClass: 'popover b-popover',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), isUndefinedOrNull($title) || $title === '' ?\n /* istanbul ignore next */\n h() : h('h3', {\n staticClass: 'popover-header',\n domProps: titleDomProps\n }, [$title]), isUndefinedOrNull($content) || $content === '' ?\n /* istanbul ignore next */\n h() : h('div', {\n staticClass: 'popover-body',\n domProps: contentDomProps\n }, [$content])]);\n }\n }\n});","// Popover \"Class\" (Built as a renderless Vue instance)\n// Inherits from BVTooltip\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { extend } from '../../../vue';\nimport { NAME_POPOVER_HELPER } from '../../../constants/components';\nimport { BVTooltip } from '../../tooltip/helpers/bv-tooltip';\nimport { BVPopoverTemplate } from './bv-popover-template'; // @vue/component\n\nexport var BVPopover = /*#__PURE__*/extend({\n name: NAME_POPOVER_HELPER,\n extends: BVTooltip,\n computed: {\n // Overwrites BVTooltip\n templateType: function templateType() {\n return 'popover';\n }\n },\n methods: {\n getTemplate: function getTemplate() {\n // Overwrites BVTooltip\n return BVPopoverTemplate;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { extend } from '../../vue';\nimport { NAME_POPOVER } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BTooltip, props as BTooltipProps } from '../tooltip/tooltip';\nimport { BVPopover } from './helpers/bv-popover';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, BTooltipProps), {}, {\n content: makeProp(PROP_TYPE_STRING),\n placement: makeProp(PROP_TYPE_STRING, 'right'),\n triggers: makeProp(PROP_TYPE_ARRAY_STRING, EVENT_NAME_CLICK)\n})), NAME_POPOVER); // --- Main component ---\n// @vue/component\n\nexport var BPopover = /*#__PURE__*/extend({\n name: NAME_POPOVER,\n extends: BTooltip,\n inheritAttrs: false,\n props: props,\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return BVPopover;\n },\n updateContent: function updateContent() {\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function references by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setContent(this.normalizeSlot() || this.content);\n this.setTitle(this.normalizeSlot(SLOT_NAME_TITLE) || this.title);\n }\n } // Render function provided by BTooltip\n\n});","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModalContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModalContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleModalContent.vue?vue&type=template&id=add748f8&scoped=true\"\nimport script from \"./ArticleModalContent.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleModalContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleModalContent.vue?vue&type=style&index=0&id=add748f8&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 \"add748f8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleModal.vue?vue&type=template&id=512cb294&scoped=true\"\nimport script from \"./ArticleModal.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleModal.vue?vue&type=style&index=0&id=512cb294&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 \"512cb294\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSave.vue?vue&type=style&index=0&id=26d9e583&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex align-items-center\"},[_c('article-linked-in',{staticClass:\"me-2\",attrs:{\"article\":_vm.article,\"is-small\":true,\"link\":_vm.article.pdf_url,\"summary\":_vm.article.summary}}),_c('article-tweet',{staticClass:\"me-2\",attrs:{\"article\":_vm.article,\"is-small\":true,\"link\":_vm.article.pdf_url,\"summary\":_vm.article.summary}}),_c('div',{staticClass:\"badge bg-green hoverable me-2\",on:{\"click\":_vm.goToSource}},[_c('link-icon',{attrs:{\"size\":\"15\"}}),_vm._v(\" Go to Source \")],1),_c('div',{staticClass:\"badge bg-green hoverable\",on:{\"click\":_vm.mailToLink}},[_c('mail-icon',{staticClass:\"custom-class\",attrs:{\"size\":\"15\"}}),_vm._v(\" Mail \")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocialButtonsSmall.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocialButtonsSmall.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SocialButtonsSmall.vue?vue&type=template&id=598dc320&scoped=true\"\nimport script from \"./SocialButtonsSmall.vue?vue&type=script&lang=js\"\nexport * from \"./SocialButtonsSmall.vue?vue&type=script&lang=js\"\nimport style0 from \"./SocialButtonsSmall.vue?vue&type=style&index=0&id=598dc320&prod&scoped=true&lang=css\"\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 \"598dc320\",\n null\n \n)\n\nexport default component.exports","\n// Shortens the string to the last word in a sentence\nfunction truncateString(yourString, maxLength) {\n // get the index of space after maxLength\n const index = yourString.indexOf(\" \", maxLength);\n return index === -1 ? yourString : yourString.substring(0, index);\n}\n\n// Create the string of agencies separated by a comma\n// If they hit the required length of greater than one\nfunction createAgenciesString(allAgencies) {\n let agenciesString = '';\n if(allAgencies.length>0){\n for (let i = 0; i < allAgencies.length; i++) {\n i === 0 ?\n agenciesString = `${agenciesString} ${allAgencies[i].name}`\n :\n agenciesString = `${agenciesString} and ${allAgencies[i].name}`;\n }\n\n }\n return agenciesString;\n\n}\n\n\nexport {\n truncateString,\n createAgenciesString\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleTweet.vue?vue&type=style&index=0&id=e3c52aa4&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleLinkedIn.vue?vue&type=style&index=0&id=84dadf7c&prod&lang=scss&scoped=true\"","/**\n * Utilities to get information about the current environment\n */\nexport var getEnv = function getEnv(key) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var env = typeof process !== 'undefined' && process ? process.env || {} : {};\n\n if (!key) {\n /* istanbul ignore next */\n return env;\n }\n\n return env[key] || fallback;\n};\nexport var getNoWarn = function getNoWarn() {\n return getEnv('BOOTSTRAP_VUE_NO_WARN') || getEnv('NODE_ENV') === 'production';\n};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleReportIssue.vue?vue&type=style&index=0&id=95d53b9a&prod&scoped=true&lang=scss\"","module.exports = \"data:image/webp;base64,UklGRkoEAABXRUJQVlA4ID4EAACwEgCdASpAAEAAPpE+mEkloyIhKhZtELASCWwArz92vR+v/kPgR2wIw22A/ZT1AfwD/Eftv7wvoA83L+Z9Y36EX6zdbLXZf1roQETeHm2H3p7kHce6kyqLHj6BOg56o9FU3rYutpmG38hcdMjFmKumyVG/dXS2VWMxSWFTnKuso8NNVw5tEpGnBONZLPoI0/nvAN8tXj8IcRHiDxEDgAD+/pPufitxthAp4D453AeiQzp84s1AnpcW+0PG8s4Lq0IdoQMx4c1b8E0s/7tbxiYYVs3avTX+IQIm5RZWofyu5dzhP37R5PMe9PqMexHGoOD+Y0IdoYLD0+nWpPqhxciBeCvwkyBrnuMRVaPe9pG+luDnKq8S8DFtH+ETojvwhIHima/UIgQPX/p8+uIZrlu0nq4p2Fq36MvOdRPstjnyzJ5OH92yUECJ6Wz0UPCyAIyvoaV2Teg/xA6QXgghD5dkfXHd80qqyV3YLPmvkfj+Iw5rX8G+0+H9GcPczcTWoZiOCY8W/jjlapqibJgpOgl+2ob6UbY5ggvvZeZD4GjarG0ww7WlS81b0qGUL8O3WbxvMFpgxWCUlXXQvBIduQ9y5nhhbRMznH1UmlacgXx/fn4k9LoDCJSmow9gRXxaQ+Q5zPiHzbL+fEJ+d6/73yQflL/1aWP1WqqC977fSK4zpbyQl/pn1h51Rft0ipAhg8ib/48K7kQoZZwdsZgV78oANGR7q+mKE5CoJsp58ENyJ0UlJkL4u9/mDTzFAHfN25+dfHVbGU6oFXw5kd3eO+ww5ubYGhhU4WH642+5eyJrYV9WPuoceb5L7VYWiJeUVfeGmkX2v0iO+v+wjGoXHQnT9opBIhC4JAe49BriDGl9iOs7PSchSVwYRUNMTGduh25z2DZknuPLYDqr/PtPWXnD4bXUQEN3ReIJt/6enAZ2ifvC8YC+dxUiFahLTtIAsSPdrnhyG7+1o+PB1rnCB10Ygwx6PwtKTc7/t0tAvjGNnPWMp1LlXnu5Yi3KWG4nca+oqJaN8NeSXELf7a0j68RyDlIPvJIKyALHwsoFTPvgpTsq1WeZkWP5VX/oKwK6RMunMaOO4ePLQMOlXpKNXBjJdSbwYPssIWuzkvJCJU91+tWuQxSp55gQxdSKbnCD91Fd/r/axj7aVipTHeyf4YGgu5ZDoc7bimqKChKhHrClmZavbGnZeAsC2XkYxBqDhoUe26Zef7ukb/7YWP9DpK7r+x8Smks/kWCEbBRm82gxS5H95cneJ34W8FV/bMG3Q372l3kSv4glBxEne+Cs8brWHOX6u8cWdVBVqP+48Otn1obC58sl/ugj+M7ng2lTZPBPP8yhhyWXrbJpwbBlstYoPvc4fvq/CYrCGL3VUvpKciknHJtuhL7HG184DWA380DA2x5afVY+fnunClKM1rF71gKIFaXWtmR6o92AAAA=\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"article-card\"},[_c('div',{staticClass:\"ac-header\"},[_c('div',{staticClass:\"ac-title\"},[_c('div',{staticClass:\"d-flex justify-content-between align-items-center mb-2\"},[_c('p',{staticClass:\"small mb-0\"},[_vm._v(\" \"+_vm._s(new Date(_vm.article.latest_update).toLocaleString('default', {month: 'long', timeZone: 'UTC'}))+\" \"+_vm._s(_vm.article.latest_update.split('-')[2])+\", \"+_vm._s(new Date(_vm.article.latest_update).getUTCFullYear())+\" \")]),_c('div',{staticClass:\"small d-flex align-items-center\"},[_c('span',{class:`badge article-alert-${_vm.article.status.toLowerCase()}`},[_vm._v(\" \"+_vm._s(_vm.article.status)+\" \")]),_c('article-card-remove',{attrs:{\"article\":_vm.article}})],1)]),_c('div',{staticClass:\"article-card-title\",on:{\"click\":() => _vm.loadArticle(_vm.article.id)}},[(_vm.article.title.length > 80)?_c('h5',{domProps:{\"innerHTML\":_vm._s(_vm.shortenTitle(_vm.article.title))}},[_vm._v(\"...\")]):_c('h5',{domProps:{\"innerHTML\":_vm._s(_vm.normal_title(_vm.article.title))}}),_c('p',{staticClass:\"text-green mb-0 fw-bold\"},[_vm._v(_vm._s(_vm.createAgenciesString(_vm.article.agencies)))])])])]),_c('div',{staticClass:\"ac-body\",on:{\"click\":() => _vm.loadArticle(_vm.article.id)}},[_c('p',{staticClass:\"mb-3\",attrs:{\"data-bs-toggle\":\"tooltip\",\"data-bs-placement\":\"top\",\"title\":_vm.article.summary}},[(_vm.article.summary.length > 150)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.shortenSummary(_vm.article.summary))}},[_vm._v(\"...\")]):_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.normal_summary(_vm.article.summary))}})])]),_c('div',{staticClass:\"social-icons\"},[_c('social-buttons-small',{attrs:{\"article\":_vm.article}}),_c('article-card-save',{attrs:{\"article\":_vm.article}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.insideFolder)?_c('div',{staticClass:\"ms-2\"},[_c('button',{staticClass:\"btn-close btn-sm\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.removeArticle}})]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardRemove.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardRemove.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleCardRemove.vue?vue&type=template&id=2aa7f9a6&scoped=true\"\nimport script from \"./ArticleCardRemove.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleCardRemove.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 \"2aa7f9a6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleCard.vue?vue&type=template&id=2ef65450&scoped=true\"\nimport script from \"./ArticleCard.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleCard.vue?vue&type=style&index=0&id=2ef65450&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 \"2ef65450\",\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/webp;base64,UklGRiwDAABXRUJQVlA4WAoAAAAQAAAAPwAAPwAAQUxQSEsAAAABV6AgbQPGv+l2x0REpEcUKIokqSGnFxJOAhKQgBQkIAW7OT8i+j8BqLgpledPl0qiVGClPCkFuJT9v5BSwEo5XiqoUtGUyuuDigMAVlA4ILoCAAAQDgCdASpAAEAAPo06lUelI6IhMfVckKARiWIAzMQfezRIDbAc//6AOeO3rH2RVYKc/Xncejf1y4dxTe0WTB9MW468J9vO3p1x9NFSz16fqQUgyDXzFtlA7P3As1Lo8wAsfAKnM2rnLm0ZJWJsnVGW65R48fNRDVPgAP79+t/NEhcwsJYf+4huOJO8xPwf3sa/etomnd/8f2q87YzCBXf8tD/kSgS94G4C/EPx5FV8+C+1Y6/IVio6OyoXKulZIU8PuB/WJhwkRplSfOvZ+gJY1XM1LdAbRIKdrWvfXFKHjLZX3yTfS3htVdx/OG6FSJ51a/0ykywfZNMTfXHIODKoS4Qub0Dq8cpeQzVluHJ73VCy/V0H6OfIW6Vk+0E4EiJiVFacW8i5xdqOVdJPJiPve9T80C+Pd8fb58NUfYrIo6YWZZZ3psyu1f/4xe9L8NjMn265QYHPX/AKD4aHFxPybH1B3JmvSaBEpLbWtWVL8dRSctP6TVWRTQ0QXkRpot8bwdLbfj+i+YM3f0IU05vBalhYsetX9usdqHn9PbLuARuSset/6eQNa7wViuGoTY2CXJQHmUTIFPhdm7q1P+Ju86s4Zf/odMDLfs2n9RcTTnYf+5b4pR90SaWHtGCjOhFjtiGcXmryt48suLHjOMjq/ax31Qx0CZDNPY37RJpf/HeKE6fYPrfgQ25Z7H+P6KHc5F9jPIejjImuU+dZzwILKsaOcn6MH86rd2IZKLLQo67bYTSP55QVqT2fQRqRJmKwVbwwO1BMRZWyRaKflzKoun3XF/470o+OmniiOfTBSK8Otrwryfd6+hMviNTkcjaEFEncpEVO6qaJB+HKkBSnHLnux+fT/8Gk3DGC0hYPbLq2Kxu4wTDOi8C9KsqYhNppApLDEGer3zlS2HTjHTpzvmwukvz20AAAAA==\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleCardSaveRow.vue?vue&type=style&index=0&id=68e0b33e&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-btn\"},[(_vm.isSmall)?[(!_vm.isLoading)?_c('div',{staticClass:\"badge btn-linkedin\",on:{\"click\":_vm.buildSharingLink}},[_c('linkedin-icon',{attrs:{\"size\":\"15\"}})],1):_c('div',{staticClass:\"badge btn-linkedin\",attrs:{\"disabled\":\"\"}},[_c('span',{staticClass:\"me-2\"},[_c('linkedin-icon',{attrs:{\"size\":\"15\"}})],1),_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"aria-hidden\":\"true\",\"role\":\"status\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])])]:[(!_vm.isLoading)?_c('button',{staticClass:\"btn btn-linkedin btn-sm\",on:{\"click\":_vm.buildSharingLink}},[_c('linkedin-icon',{attrs:{\"size\":\"15\"}})],1):_c('button',{staticClass:\"btn btn-linkedin btn-sm\",attrs:{\"disabled\":\"\"}},[_c('span',{staticClass:\"me-2\"},[_c('linkedin-icon',{attrs:{\"size\":\"15\"}})],1),_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"aria-hidden\":\"true\",\"role\":\"status\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])])]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleLinkedIn.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleLinkedIn.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleLinkedIn.vue?vue&type=template&id=84dadf7c&scoped=true\"\nimport script from \"./ArticleLinkedIn.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleLinkedIn.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleLinkedIn.vue?vue&type=style&index=0&id=84dadf7c&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 \"84dadf7c\",\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/webp;base64,UklGRrQCAABXRUJQVlA4IKgCAAAwDwCdASpAAEAAPpFAmUklo6KhKBgMqLASCWwAxnnsfmf4gdhBdjjX5Hfxr9gOo/2V8I77NZfbFXb1vNP7h4JKdL5gl8gDY2HBOPKFLH1chV6eKICMw61Jmj54uhxtb8FNJ+BE5QuxCmnai1KoKL5rgRn4OUwP1FX9+gnjnk9GkcOgAP53WroM2rb9i9zcVgeYhqfuvh1QP4FEqpXq/Mmk0Iz0WcbE2ZBUlsXya12a7vtc1I06+R4vq1ZuNexMiQ016n0/1kc/FWsB6R5zeRgvl85fzdXZ0qgGUUuIdC5bzAnLhTCWBJM/NiOD5M+nicx7WJUu+lKnXinj+rhoTejnsJ19RudMLz+v4l+extFVv6mkgjcYETtJnOrhwvGwv6bJQJobldiSh87PVoJMdFxekEIaPFW73F0EQHvPHVUsa83l+MCX+ueHiZzFhDqPUausw64VMNZ751SqPI+qMr8WpCRbcJV4V9ui80QcGDDPi+67HVvfxZnKqHbM+1qNHNfNbDzLH7d8qnND+Ihwfc2MN8Ho3791y5O3TJ6QYcjONCmg7Uh8SIP4XnONFbLoMEpX+H36zCzNQq/gNyveT92JqvhhZyvmiuQWBcJN46DkIVRcsLumHB1AY7D0sUIs3uQfUsMIatiIIikS9SemABH493JPRJkOyW3bOHV6Bq86gqS6EBTZJ7tyOppyQfxQtnCufjVT+/CojJMUVBhcoVrzbhcuhwcUATg1WuCLFodzl3HUEmuU9sSDBoZDT7ff89g6Nd/eqaO4GyNmjK8OQab++9KlFGQfxxZwM/InUeQxrYYtlFrQud5beTCu2GEcRlT03faJaphLVXaxvKLWc5MznCh6zR9UPk/WkYXAceE9kdamhbDB7qzzBfgAmjENyN7Lmfz2klIAAA==\"","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ics = exports.msTeams = exports.aol = exports.yahoo = exports.office365Mobile = exports.office365 = exports.outlookMobile = exports.outlook = exports.google = exports.eventify = void 0;\nconst dayjs_1 = __importDefault(require(\"dayjs\"));\nconst utc_1 = __importDefault(require(\"dayjs/plugin/utc\"));\nconst utils_1 = require(\"./utils\");\ndayjs_1.default.extend(utc_1.default);\nfunction stringify(input) {\n const params = new URLSearchParams();\n Object.keys(input)\n .sort()\n .forEach((key) => {\n const value = input[key];\n if (value != null) {\n params.append(key, value);\n }\n });\n return params.toString().replace(/\\+/g, \"%20\");\n}\nfunction formatTimes({ startTime, endTime }, dateTimeFormat) {\n const format = utils_1.TimeFormats[dateTimeFormat];\n return { start: startTime.format(format), end: endTime.format(format) };\n}\nconst eventify = (event, toUtc = true) => {\n const { start, end, duration, ...rest } = event;\n const startTime = toUtc ? (0, dayjs_1.default)(start).utc() : (0, dayjs_1.default)(start);\n const endTime = end\n ? toUtc\n ? (0, dayjs_1.default)(end).utc()\n : (0, dayjs_1.default)(end)\n : (() => {\n if (event.allDay) {\n return startTime.add(1, \"day\");\n }\n if (duration && duration.length == 2) {\n const value = Number(duration[0]);\n const unit = duration[1];\n return startTime.add(value, unit);\n }\n return toUtc ? (0, dayjs_1.default)().utc() : (0, dayjs_1.default)();\n })();\n return {\n ...rest,\n startTime: startTime,\n endTime: endTime,\n };\n};\nexports.eventify = eventify;\nconst google = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details = {\n action: \"TEMPLATE\",\n text: event.title,\n details: event.description,\n location: event.location,\n trp: event.busy,\n dates: start + \"/\" + end,\n recur: event.rRule ? \"RRULE:\" + event.rRule : undefined,\n };\n if (event.guests && event.guests.length) {\n details.add = event.guests.join();\n }\n return `https://calendar.google.com/calendar/render?${stringify(details)}`;\n};\nexports.google = google;\nconst outlook = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n return `https://outlook.live.com/calendar/0/action/compose?${stringify(details)}`;\n};\nexports.outlook = outlook;\nconst outlookMobile = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n return `https://outlook.live.com/calendar/0/deeplink/compose?${stringify(details)}`;\n};\nexports.outlookMobile = outlookMobile;\nconst office365 = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n return `https://outlook.office.com/calendar/0/action/compose?${stringify(details)}`;\n};\nexports.office365 = office365;\nconst office365Mobile = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent, false);\n const { start, end } = formatTimes(event, \"dateTimeLocal\");\n const details = {\n path: \"/calendar/action/compose\",\n rru: \"addevent\",\n startdt: start,\n enddt: end,\n subject: event.title,\n body: event.description,\n location: event.location,\n allday: event.allDay || false,\n };\n return `https://outlook.office.com/calendar/0/deeplink/compose?${stringify(details)}`;\n};\nexports.office365Mobile = office365Mobile;\nconst yahoo = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details = {\n v: 60,\n title: event.title,\n st: start,\n et: end,\n desc: event.description,\n in_loc: event.location,\n dur: event.allDay ? \"allday\" : false,\n };\n return `https://calendar.yahoo.com/?${stringify(details)}`;\n};\nexports.yahoo = yahoo;\nconst aol = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent);\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const details = {\n v: 60,\n title: event.title,\n st: start,\n et: end,\n desc: event.description,\n in_loc: event.location,\n dur: event.allDay ? \"allday\" : false,\n };\n return `https://calendar.aol.com/?${stringify(details)}`;\n};\nexports.aol = aol;\n// https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/deep-link-workflow?tabs=teamsjs-v2#configure-deep-link-manually-to-open-a-meeting-scheduling-dialog\nconst msTeams = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent);\n const details = {\n subject: event.title,\n content: event.description,\n startTime: event.startTime.toISOString(),\n endTime: event.endTime.toISOString(),\n };\n if (event.guests && event.guests.length) {\n details.attendees = event.guests.join();\n }\n return `https://teams.microsoft.com/l/meeting/new?${stringify(details)}`;\n};\nexports.msTeams = msTeams;\nconst ics = (calendarEvent) => {\n const event = (0, exports.eventify)(calendarEvent);\n const formattedDescription = (event.description || \"\")\n .replace(/,/gm, \",\")\n .replace(/;/gm, \";\")\n .replace(/\\r\\n/gm, \"\\n\")\n .replace(/\\n/gm, \"\\\\n\")\n .replace(/(\\\\n)[\\s\\t]+/gm, \"\\\\n\");\n const formattedLocation = (event.location || \"\")\n .replace(/,/gm, \",\")\n .replace(/;/gm, \";\")\n .replace(/\\r\\n/gm, \"\\n\")\n .replace(/\\n/gm, \"\\\\n\")\n .replace(/(\\\\n)[\\s\\t]+/gm, \"\\\\n\");\n const { start, end } = formatTimes(event, event.allDay ? \"allDay\" : \"dateTimeUTC\");\n const dateStamp = (0, dayjs_1.default)(new Date()).utc().format(utils_1.TimeFormats[\"dateTimeUTC\"]);\n const calendarChunks = [\n {\n key: \"BEGIN\",\n value: \"VCALENDAR\",\n },\n {\n key: \"VERSION\",\n value: \"2.0\",\n },\n {\n key: \"PRODID\",\n value: event.title\n },\n {\n key: \"BEGIN\",\n value: \"VEVENT\",\n },\n {\n key: \"URL\",\n value: event.url,\n },\n {\n key: \"DTSTART\",\n value: start,\n },\n {\n key: \"DTEND\",\n value: end,\n },\n {\n key: \"DTSTAMP\",\n value: dateStamp,\n },\n ...(event.allDay ? [\n {\n key: \"X-MICROSOFT-CDO-ALLDAYEVENT\",\n value: \"TRUE\"\n },\n {\n key: \"X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT\",\n value: \"TRUE\"\n }\n ] : []),\n {\n key: \"RRULE\",\n value: event.rRule,\n },\n {\n key: \"SUMMARY\",\n value: event.title,\n },\n {\n key: \"DESCRIPTION\",\n value: formattedDescription,\n },\n {\n key: \"LOCATION\",\n value: formattedLocation,\n },\n {\n key: \"ORGANIZER\",\n value: event.organizer,\n },\n {\n key: \"STATUS\",\n value: event.status,\n },\n {\n key: \"UID\",\n value: Math.floor(Math.random() * 100000).toString().replace(\".\", \"\"),\n },\n {\n key: \"END\",\n value: \"VEVENT\",\n },\n {\n key: \"END\",\n value: \"VCALENDAR\",\n },\n ];\n let calendarUrl = \"\";\n calendarChunks.forEach((chunk) => {\n if (chunk.value) {\n if (chunk.key == \"ORGANIZER\") {\n const value = chunk.value;\n calendarUrl += `${chunk.key};${encodeURIComponent(`CN=${value.name}:MAILTO:${value.email}\\r\\n`)}`;\n }\n else {\n calendarUrl += `${chunk.key}:${encodeURIComponent(`${chunk.value}\\r\\n`)}`;\n }\n }\n });\n return `data:text/calendar;charset=utf8,${calendarUrl}`;\n};\nexports.ics = ics;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TimeFormats = void 0;\nexports.TimeFormats = {\n dateTimeLocal: \"YYYY-MM-DD[T]HH:mm:ss\",\n dateTimeUTC: \"YYYYMMDD[T]HHmmss[Z]\",\n allDay: \"YYYYMMDD\",\n};\n//# sourceMappingURL=utils.js.map","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"share-btn\"},[(_vm.isSmall)?[(!_vm.isLoading)?_c('div',{staticClass:\"badge btn-twitter\",on:{\"click\":_vm.buildSharingLink}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/x-twitter.svg\"),\"alt\":\"Twitter Logo\",\"width\":\"16\"}})]):_c('div',{staticClass:\"badge btn-twitter\",attrs:{\"disabled\":\"\"}},[_vm._m(0),_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"aria-hidden\":\"true\",\"role\":\"status\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])])]:[(!_vm.isLoading)?_c('button',{staticClass:\"btn btn-twitter btn-sm\",on:{\"click\":_vm.buildSharingLink}},[_c('img',{attrs:{\"src\":require(\"@/assets/images/x-twitter.svg\"),\"alt\":\"Twitter Logo\",\"width\":\"16\"}})]):_c('button',{staticClass:\"btn btn-twitter btn-sm\",attrs:{\"disabled\":\"\"}},[_vm._m(1),_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"aria-hidden\":\"true\",\"role\":\"status\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Loading...\")])])]],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"me-2\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/x-twitter.svg\"),\"alt\":\"Twitter Logo\",\"width\":\"16\"}})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"me-2\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/x-twitter.svg\"),\"alt\":\"Twitter Logo\",\"width\":\"16\"}})])\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleTweet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ArticleTweet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArticleTweet.vue?vue&type=template&id=e3c52aa4&scoped=true\"\nimport script from \"./ArticleTweet.vue?vue&type=script&lang=js\"\nexport * from \"./ArticleTweet.vue?vue&type=script&lang=js\"\nimport style0 from \"./ArticleTweet.vue?vue&type=style&index=0&id=e3c52aa4&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 \"e3c52aa4\",\n null\n \n)\n\nexport default component.exports","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _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/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n"],"sourceRoot":""}