{"version":3,"sources":["webpack:///./src/views/todo/TodoList.vue?0305","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./src/views/todo/TodoTaskEdit.vue?a837","webpack:///./node_modules/lodash/isObject.js","webpack:///./src/@core/comp-functions/ui/app.js","webpack:///./node_modules/lodash/once.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6a28","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?512b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/is-promise/index.js","webpack:///./src/views/todo/TodoTaskEdit.vue?b0e5","webpack:///src/views/todo/TodoTaskEdit.vue","webpack:///./src/views/todo/TodoTaskEdit.vue?2722","webpack:///./src/views/todo/TodoTaskEdit.vue","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/fuzzysearch/index.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?bb93","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./src/views/todo/Todo.vue?2f2b","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/last.js","webpack:///./src/views/todo/TodoTaskHandlerSidebar.vue?c489","webpack:///src/views/todo/TodoTaskHandlerSidebar.vue","webpack:///./src/views/todo/TodoTaskHandlerSidebar.vue?0c24","webpack:///./src/views/todo/TodoTaskHandlerSidebar.vue","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./src/views/todo/TodoTaskHandlerSidebar.vue?8e53","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/@core/components/b-card-code/BCardCode.vue?ce85","webpack:///src/@core/components/b-card-code/BCardCode.vue","webpack:///./src/@core/components/b-card-code/BCardCode.vue?9ac5","webpack:///./src/@core/components/b-card-code/BCardCode.vue","webpack:///./src/views/todo/Todo.vue?a180","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///src/views/todo/Todo.vue","webpack:///./src/views/todo/Todo.vue?764c","webpack:///./src/views/todo/Todo.vue","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/flatpickr/dist/esm/types/options.js","webpack:///./node_modules/flatpickr/dist/esm/l10n/default.js","webpack:///./node_modules/flatpickr/dist/esm/utils/index.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dom.js","webpack:///./node_modules/flatpickr/dist/esm/utils/formatting.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dates.js","webpack:///./node_modules/flatpickr/dist/esm/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./src/views/todo/Todo.vue?a7b2","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/flatpickr/dist/esm/utils/polyfills.js","webpack:///./node_modules/lodash/constant.js","webpack:///./src/views/todo/TodoList.vue?ec9e","webpack:///./src/views/todo/TodoLeftSidebar.vue?7dfc","webpack:///src/views/todo/TodoLeftSidebar.vue","webpack:///./src/views/todo/TodoLeftSidebar.vue?bcb7","webpack:///./src/views/todo/TodoLeftSidebar.vue","webpack:///src/views/todo/TodoList.vue","webpack:///./src/views/todo/TodoList.vue?4048","webpack:///./src/views/todo/TodoList.vue","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/vue-prism-component/dist/vue-prism-component.common.js","webpack:///./node_modules/lodash/_baseTrim.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/quill/dist/quill.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/vue-quill-editor/dist/vue-quill-editor.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./src/utils/getBase64.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/vue-perfect-scrollbar/dist/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./src/views/todo/TodoList.vue?301c","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/prismjs/prism.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/vue-flatpickr-component/dist/vue-flatpickr.min.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/lodash/identity.js","webpack:///./src/views/todo/useTaskHandler.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./src/views/todo/TodoTaskEdit.vue?b116","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group-item.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./src/views/todo/TodoTaskHandlerSidebar.vue?0206","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/watch-size/index.es.mjs","webpack:///./src/views/todo/todoStoreModule.js","webpack:///./node_modules/vue-ripple-directive/src/ripple.js","webpack:///./node_modules/lodash/before.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/@core/components/b-card-code/BCardCode.vue?0cde","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-options.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","_nonIterableSpread","TypeError","__esModule","kFormatter","num","concat","toFixed","title","replacer","arguments","length","str","arr","split","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatCurrency","NumberFormat","toInteger","requireObjectCoercible","repeat","count","String","this","n","Infinity","RangeError","_iterableToArray","r","iterator","Array","from","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","arrayPush","min","Math","MAX_UINT32","SUPPORTS_Y","RegExp","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","source","index","apply","test","O","splitter","regexp","res","done","rx","S","C","unicodeMatching","p","q","A","z","i","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","props","ariaRole","size","vertical","BButtonGroup","extend","name","functional","render","h","_ref","data","children","class","attrs","role","isObjectLike","isObject","type","useResponsiveAppLeftSidebarVisibility","mqShallShowLeftSidebar","ref","currentBreakPoint","computed","store","getters","watch","val","oldVal","before","once","func","arrayLikeToArray","require","_arrayWithoutHoles","isArray","_vm","_h","$createElement","_c","_self","staticClass","variant","icon","domProps","_s","_e","text","on","$event","$emit","hideClose","staticRenderFns","components","BAvatar","default","Boolean","component","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","boundaryPadding","customClass","show","hide","arg","modifiers","mod","selectedTriggers","trim","toLowerCase","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","isPromise","then","clearForm","scopedSlots","_u","fn","taskLocal","_v","status","proxy","_l","list","listIndex","changeStatus","directives","rawName","expression","staticStyle","isImportant","handleSubmit","preventDefault","onSubmit","resetForm","model","callback","$$v","$set","validationContext","getValidationState","getCustomer","gotoAdmin","errors","customer","saveImage","attachment","downloadAttachment","removeAttachment","slot","comment","ind","created_by","addComment","refCategoryOptions","refProductOptions","$store","state","appConfig","isRTL","refTagOptions","option","refPriorityOptions","teamOptions","changeTeam","userOptions","username","enableTime","call_type","dateFormat","required","message","email","BRow","BCol","BButton","BSidebar","BForm","BFormGroup","BFormInput","BInputGroup","BInputGroupAppend","BInputGroupPrepend","BFormFile","BListGroup","BListGroupItem","BFormInvalidFeedback","BFormRadioGroup","BFormRadio","BFormSpinbutton","BTabs","BTab","BFormTextarea","BDropdown","BDropdownItem","BDropdownDivider","vSelect","flatPickr","quillEditor","Treeselect","ValidationProvider","ValidationObserver","Ripple","event","isTaskHandlerModalActive","task","clearTaskData","Function","lists","url","previousTeam","methods","teamName","_this","dispatch","team_name","response","catch","error","$toast","ToastificationContent","position","console","log","setup","_this2","emit","toast","useToast","x","label","organization_name","_useTaskHandler","useTaskHandler","toRefs","resetTaskLocal","assigneeOptions","resolveAvatarVariant","_formValidation","formValidation","refFormObserver","editorOption","modules","toolbar","placeholder","newList","ticketId","ref_status","param","comments","phone","ticket_id","customer_id","customer_per_id","window","open","fileName","fileIndex","attachmentNames","indexOf","splice","file","register_number","getBase64","raw","image","base64","payload","file_name","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","mixins","provide","bvRadioGroup","isRadioGroup","objectToString","freeGlobal","freeSelf","self","root","fuzzysearch","needle","haystack","tlen","qlen","outer","j","nch","charCodeAt","flush","horizontal","componentData","append","nullTag","undefinedTag","baseGetTag","classof","now","last","array","isTaskHandlerSidebarActive","isCompleted","created","tagOptions","_this3","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","isText","BInputGroupAddon","resetFormData","clearFormData","resetObserver","reset","dirty","validated","fieldRequired","changed","_ref$valid","valid","nextTick","toFinite","remainder","reWhitespace","trimmedEndIndex","toObject","regExpExec","max","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","global","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","ch","capture","f","_g","_b","cardAttrs","$listeners","$attrs","code_visible","parentID","_t","codeLanguage","BCard","BCardTitle","BCardSubTitle","BCardBody","BCollapse","Prism","inheritAttrs","JSON","parse","stringify","random","changeBoardName","currentBoardName","phoneOptions","listFilterByPhone","selectedPhone","createdByOptions","listFilterByCreatedBy","selectedUser","gotoUrl","confirmComplete","ITEM_SELECTOR","justify","keyNav","BButtonToolbar","mounted","getItems","items","$el","item","tabIndex","focusFirst","focusPrev","reverse","focusNext","focusLast","onFocusin","relatedTarget","onKeydown","keyCode","shiftKey","tabindex","focusin","keydown","normalizeSlot","BCardText","BCardCode","boardName","createdByList","phoneList","_useRouter","useRouter","route","router","routerName","params","completeTask","workspace","space","folder","board","$swal","showCancelButton","confirmButtonText","cancelButtonText","confirmButton","cancelButton","buttonsStyling","_watch","CLASS_NAME_SHOW","scrollHeight","height","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","appear","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","accordion","isNav","transitioning","classObject","collapse","slotScope","visible","close","newValue","oldValue","emitState","listenOnRoot","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","safeId","emitSync","updated","deactivated","activated","beforeDestroy","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","$content","computeJustifyContent","align","cardHeader","fill","justified","pills","small","tabs","BNav","_class","_arrayLikeToArray","a","appendHtml","prepend","prependHtml","slots","$scopedSlots","$slots","$prepend","hasPrependSlot","$append","hasAppendSlot","HOOKS","_disable","allowInput","allowInvalidPreload","altFormat","altInput","altInputClass","animate","navigator","userAgent","ariaDateFormat","autoFillDefaultTime","clickOpens","closeOnSelect","conjunction","defaultHour","defaultMinute","defaultSeconds","disable","disableMobile","enableSeconds","errorHandler","err","warn","getWeek","givenDate","date","getTime","setHours","setDate","getDate","getDay","week1","getFullYear","round","hourIncrement","ignoredFocusElements","inline","locale","minuteIncrement","mode","monthSelectorType","nextArrow","noCalendar","onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","plugins","positionElement","prevArrow","shorthandCurrentMonth","showMonths","static","time_24hr","weekNumbers","wrap","english","weekdays","shorthand","longhand","months","daysInMonth","firstDayOfWeek","ordinal","nth","s","rangeSeparator","weekAbbreviation","scrollTitle","toggleTitle","amPM","yearAriaLabel","monthAriaLabel","hourAriaLabel","minuteAriaLabel","pad","number","bool","debounce","wait","t","args","clearTimeout","setTimeout","arrayify","toggleClass","elem","className","classList","add","remove","createElement","content","document","textContent","clearNode","node","firstChild","removeChild","findParent","condition","parentNode","createNumberInput","inputClassName","opts","wrapper","numInput","arrowUp","arrowDown","pattern","setAttribute","appendChild","getEventTarget","composedPath","path","doNothing","monthToStr","monthNumber","revFormat","D","F","dateObj","monthName","setMonth","G","hour","getHours","parseFloat","H","J","K","M","shortMonth","seconds","setSeconds","U","_","unixSeconds","W","weekNum","weekNumber","parseInt","Y","setFullYear","Z","ISODate","d","minutes","setMinutes","l","u","unixMillSeconds","w","y","tokenRegex","toISOString","options","getMonth","getSeconds","getMinutes","substring","createDateFormatter","_a","l10n","_d","isMobile","frmt","overrideLocale","c","createDateParser","givenFormat","timeless","customLocale","parsedDate","dateOrig","datestr","parseDate","ops","matchIndex","regexStr","token","isBackSlash","escaped","exec","isNaN","Error","compareDates","date1","date2","isBetween","ts","ts1","ts2","calculateSecondsSinceMidnight","hours","parseSeconds","secondsSinceMidnight","duration","DAY","getDefaultHours","minDate","minHour","minMinutes","minSeconds","maxDate","maxHr","maxMinutes","__assign","assign","__spreadArrays","il","k","jl","DEBOUNCED_CHANGE_MS","FlatpickrInstance","element","instanceConfig","flatpickr","defaultConfig","setupHelperFunctions","utils","getDaysInMonth","yr","currentMonth","currentYear","init","input","isOpen","parseConfig","setupLocale","setupInputs","setupDates","build","bindEvents","selectedDates","setHoursFromDate","latestSelectedDateObj","updateValue","setCalendarWidth","isSafari","positionCalendar","triggerEvent","getClosestActiveElement","calendarContainer","getRootNode","activeElement","bindToInstance","requestAnimationFrame","style","visibility","daysContainer","daysWidth","days","offsetWidth","width","weekWrapper","removeProperty","updateTime","defaultDate","defaults","getMilliseconds","timeWrapper","prevValue","_input","setHoursFromInputs","_debouncedChange","ampm2military","military2ampm","hourElement","minuteElement","secondElement","limitMinHours","minTime","minDateHasTime","limitMaxHours","maxTime","maxDateHasTime","minBound","maxBound","currentTime","onYearInput","eventTarget","delta","changeYear","handler","ev","addEventListener","_handlers","removeEventListener","triggerChange","evt","querySelectorAll","setupMobile","debouncedResize","onResize","onMouseOver","ontouchstart","documentClick","monthNav","onMonthNavClick","selectDate","timeContainer","selText","select","timeIncrement","onBlur","jumpToDate","jumpDate","jumpTo","oldYear","oldMonth","buildMonthSwitch","redraw","incrementNumInput","contains","inputElem","createEvent","dispatchEvent","fragment","createDocumentFragment","buildMonthNav","innerContainer","buildWeeks","rContainer","buildWeekdays","buildDays","buildTime","customAppend","appendTo","nodeType","insertBefore","nextSibling","body","createDay","_dayNumber","dateIsEnabled","isEnabled","dayElement","$i","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","focusOnDayElem","targetNode","getFirstAvailableDay","startMonth","endMonth","startIndex","endIndex","getNextAvailableDay","current","givenMonth","loopDelta","numMonthDays","abs","changeMonth","focusOnDay","dayFocused","isInView","startElem","buildMonthDays","firstOfMonth","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayNumber","dayIndex","dayNum","dayContainer","frag","shouldBuildMonth","monthsDropdownContainer","innerHTML","selected","buildMonth","monthElement","monthNavFragment","selectedMonth","yearInput","yearElement","getElementsByTagName","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","get","__hidePrevMonthArrow","set","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","hourInput","minuteInput","secondInput","getAttribute","weekdayContainer","updateWeekdays","isOffset","_hidePrevMonthArrow","_hideNextMonthArrow","clear","triggerChangeEvent","toInitial","mobileInput","_initialDate","destroy","lastChild","_type","removeAttribute","isCalendarElem","eventTarget_1","isCalendarElement","isInput","lostFocus","isIgnored","some","newYear","newYearNum","isNewYear","dateToCheck","enable","parsed","to","valueChanged","trimEnd","getDateStr","allowKeydown","allowInlineKeydown","isTimeObj","focusAndClose","delta_1","ctrlKey","stopPropagation","elems","pluginElements","cellClass","hoverDate","firstElementChild","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","hoverableCells","dayElem","timestamp","outOfRange","_positionElement","wasOpen","minMaxDateSetter","inverseDateObj","boolOpts","userConfig","dataset","formats","_enable","dates","parseDateRules","timeMode","defaultDateFormat","defaultAltFormat","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","hook","pluginConf","getInputElem","querySelector","l10ns","customPositionElement","calendarHeight","reduce","acc","child","offsetHeight","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","getBoundingClientRect","distanceFromBottom","innerHeight","bottom","showOnTop","top","pageYOffset","left","pageXOffset","isCenter","isRight","right","rightMost","centerMost","doc","getDocumentStyleSheet","bodyWidth","centerLeft","centerBefore","centerAfter","centerIndex","cssRules","centerStyle","insertRule","editableSheet","styleSheets","sheet","createStyleSheet","head","msMaxTouchPoints","isSelectable","selectedDate","shouldChangeMonth","selectedIndex","sort","b","single","range","loadedPlugins","_bind","_setHoursFromDate","_positionCalendar","_createElement","CALLBACKS","updatePositionElement","setSelectedDate","inputDate","rule","preloadedDate","nodeName","inputType","mobileFormatStr","step","hooks","initEvent","specificFormat","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","which","isHourElem","isMinuteElem","_flatpickr","nodeList","nodes","HTMLElement","instances","HTMLCollection","NodeList","selector","Node","en","localize","setDefaults","jQuery","fp_incr","_objectSpread2","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","inject","bvTabs","localActive","_isTab","tabClasses","active","card","noBody","activeTabClass","controlledBy","buttonId","computedNoFade","fade","computedLazy","lazy","activate","deactivate","firstTab","registerTab","updateButton","hasNormalizedSlot","unregisterTab","activateTab","deactivateTab","toNumber","INFINITY","MAX_INTEGER","sign","_unsupportedIterableToArray","constructor","_typeof","o","_i","_loop_1","args_1","constant","reFetchTask","searchQuery","updateRouteQuery","resetSortAndNavigate","$route","query","perfectScrollbarSettings","tasks","handleTaskClick","updateTaskIsCompleted","nativeOn","description","resolveTagVariant","assignee","removeTask","addTask","updateTask","isDynamicRouteActive","VuePerfectScrollbar","taskTags","maxScrollbarLength","taskFilters","BFormCheckbox","BBadge","draggable","TodoLeftSidebar","TodoTaskHandlerSidebar","TodoTaskEdit","Todo","VBModal","TODO_APP_STORE_MODULE_NAME","hasModule","registerModule","todoStoreModule","onUnmounted","unregisterModule","routeSortBy","routeQuery","routeParams","fetchTasks","allLists","requestParam","sortOptions","sortBy","includes","currentRouteQuery","replace","blankTask","dueDate","isDeleted","code","categoryIds","productIds","tagIds","priority","due_date","is_complete","is_draft","is_sent","created_at","merchant_id","firstname","lastname","organization","team","is_deleted","pay_score","promised_at","started_at","finished_at","returned_at","completed_at","phoen","fetchTasksByBoard","taskData","color","tags","_loop","pIndex","_loop2","cIndex","find","tickets","pl","addTaskClick","_useResponsiveAppLeft","stableSort","compareFn","arguments$1","language","ctx","prismLanguage","languages","highlight","reTrimStart","baseTrim","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","arrowPadding","BVPopper","localShow","getAttachment","templateType","popperConfig","getOffset","flip","behavior","arrow","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","$once","beforeMount","updatePopper","destroyPopper","destroyed","$refs","arrowOffset","scheduleUpdate","renderTemplate","beforeEnter","beforeLeave","BVTooltipTemplate","extends","templateClasses","noninteractive","templateAttributes","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusout","$title","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","BVTooltip","activeTrigger","computedId","computedDelay","math","computedTriggers","identity","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","noop","getTarget","scopeId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","cancelable","emitEvent","defaultPrevented","addAriaDescribedby","force","tip","hideEvt","prevHoverState","getTargetId","isInModal","isDropdown","clearInterval","desc","_this5","componentId","vueTarget","bvEvent","_this6","setRootListener","_this7","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","_this9","documentElement","__vue__","currentTarget","_this10","_this11","factory","installedModules","__webpack_require__","moduleId","getter","property","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","create","register","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","setPrototypeOf","__proto__","__","ParchmentError","_super","attributes","classes","types","BlotClass","TEXT_NODE","bubble","DATA_KEY","blot","scope","ANY","LEVEL","BLOCK","INLINE","names","tagName","TYPE","Definitions","Definition","blotName","attrName","keyName","tagNames","diff","equal","op","NULL_CHARACTER","fromCharCode","Delta","insert","newOp","retain","lastOp","unshift","chop","pop","predicate","partition","passed","failed","initial","changeLength","delete","start","end","iter","hasNext","nextOp","next","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","thisOp","otherOp","rest","strings","prep","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","transformPosition","nextType","hasOwn","toStr","gOPD","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","getProperty","src","copy","copyIsArray","clone","deep","BlockEmbed","bubbleFormats","_createClass","descriptor","Constructor","protoProps","staticProps","_get","receiver","getPrototypeOf","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","NEWLINE_LENGTH","_Parchment$Embed","domNode","values","attribute","BLOCK_ATTRIBUTE","def","endsWith","block","insertAt","BLOCK_BLOT","_Parchment$Block","cache","descendants","leaf","lines","shift","tail","statics","defaultChild","allowedChildren","overload","expandConfig","sliceIterator","_arr","_n","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","debug","Quill","__quill","addContainer","scrollingContainer","emitter","scroll","whitelist","editor","selection","theme","keyboard","addModule","clipboard","history","EDITOR_CHANGE","TEXT_CHANGE","isBlank","SCROLL_UPDATE","mutations","lastRange","modify","update","contents","convert","setContents","readOnly","level","imports","overwrite","startsWith","refNode","setRange","_overload","_overload2","deleteText","enabled","scrollTop","scrollIntoView","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_overload3","_overload4","_overload5","_overload6","bounds","getBounds","containerBounds","getLength","_overload7","_overload8","getContents","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","insertEmbed","_overload11","_overload12","insertText","off","dangerouslyPasteHTML","_overload13","_overload14","removeFormat","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","USER","DEFAULTS","import","themeConfig","moduleNames","moduleConfig","moduleClass","modifier","strict","oldDelta","shiftRange","_emitter","_emitter2","_map","pos","_map2","_map3","_map4","version","_Parchment$Inline","compare","BLOT","isolate","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","_len","_key","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","_len2","_key2","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","quill","levels","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","objEquiv","isUndefinedOrNull","isBuffer","ka","kb","attributeBit","ATTRIBUTE","canAdd","Code","_block","_block2","_Inline","CodeBlock","_Block","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","lastIndexOf","prev","optimize","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","CONTENTS","oldText","newText","diffDelta","combined","merged","bullet","arr2","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","_format","nativeRange","collapsed","after","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","positions","indexes","_position","startContainer","endContainer","childNodes","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","scrollBounds","removeAllRanges","addRange","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","makeBlot","forEachAt","criteria","lengthLeft","detach","childBlot","refBlot","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","replaceChild","FormatBlot","replaceWith","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","Set","Promise","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","resolve","reject","__isArray","__isRegExp","__getRegExpFlags","__isDate","allocUnsafe","keyChild","valueChild","entryChild","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","platform","Keyboard","_Module","addBinding","ENTER","handleEnter","metaKey","altKey","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","binding","normalize","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","makeEmbedArrowHandler","_ref3","where","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","Link","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","buildPicker","togglePicker","escape","hasAttribute","selectItem","buildItem","buildLabel","buildOptions","Event","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","matches","camelize","parts","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","tooltip","textbox","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","handlers","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","video","_Tooltip","boundsContainer","save","cancel","preview","linkRange","restoreFocus","extractVideoUrl","LinkedList","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","ceil","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","len","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","matcher","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","marginTop","marginBottom","offsetTop","fontStyle","italic","fontWeight","bold","textIndent","whiteSpace","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","group","control","addSelect","clean","direction","link","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","timer","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","marginLeft","RTL_LANGS","locale1","locale2","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","ariaControls","ariaLabel","formatterFn","labelDecrement","labelIncrement","readonly","repeatDelay","repeatInterval","repeatStepMultiplier","repeatThreshold","localValue","spinId","computedInline","computedReadonly","computedRequired","computedStep","computedMin","computedMax","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedLocale","locales","nf","resolvedOptions","computedRTL","defaultFormatter","precision","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","computedFormatter","computedAttrs","bvAttrs","lang","computedSpinAttrs","hasValue","dir","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","onFocusBlur","stepUp","stepDown","propagation","resetTimers","handleStepRepeat","onKeyup","stepper","threshold","onMouseup","setMouseup","makeButton","IconCmp","keyRef","shortcut","btnDisabled","slotName","$icon","scale","mousedown","touchstart","$increment","$decrement","$hidden","form","$spin","sizeFormClass","stateClass","keyup","toPropertyKey","install","globalOptions","script","background","font","_options","_content","defaultOptions","initialize","pasteHTML","setText","_compiled","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","beforeCreate","_injectStyles","esModule","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","els","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","menu","$off","focusToggler","showMenu","hideMenu","$_hideTimeout","whileOpenListen","clearHideTimeout","createPopper","focusMenu","getPopperConfig","rootCloseListener","vm","refocus","_event","onMousedown","onEsc","onSplitClick","hideHandler","up","focusItem","imgResult","onerror","onloadend","_iterableToArrayLimit","_defineProperties","OBSERVER_PROP_NAME","VisibilityObserver","margin","doneOnce","createObserver","stop","IntersectionObserver","rootMargin","entries","entry","isIntersecting","intersectionRatio","_prevModifiers","VBVisible","maxRows","noAutoShrink","noResize","rows","heightInPx","computedStyle","resize","computedRows","overflowY","computedMinRows","computedMaxRows","autocomplete","plaintext","computedAriaInvalid","computedListeners","bvListeners","onInput","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","minHeight","oldHeight","contentRows","computedClass","settings","tagname","ps","__init","__uninit","scrolling","isAlive","scrollingThreshold","CustomEvent","initCustomEvent","reach","v","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","g","minScrollbarLength","railXWidth","isRtl","negativeScrollAdjustment","scrollLeft","containerWidth","contentWidth","isScrollbarXUsingBottom","scrollbarXBottom","scrollbarXTop","scrollbarXRail","railYHeight","isScrollbarYUsingRight","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarYRail","scrollbarX","scrollbarXLeft","scrollbarXWidth","railBorderXWidth","scrollbarY","scrollbarYTop","scrollbarYHeight","railBorderYWidth","T","clicking","ownerDocument","Element","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","main","thumb","rail","consuming","X","isEmpty","unbindAll","eventElements","eventElement","L","R","isWebKit","supportsTouch","DocumentTouch","supportsIePointer","isChrome","clientWidth","containerHeight","clientHeight","scrollWidth","contentHeight","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXMarginWidth","railXRatio","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYMarginHeight","railYRatio","pageY","pageX","E","wheelPropagation","isDefaultPrevented","contentDocument","shadowRoot","deltaX","deltaY","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","overflow","overflowX","useBothWheelAxes","wheelSpeed","onwheel","onmousewheel","scrollY","targetTouches","pointerType","MSPOINTER_TYPE_MOUSE","swipeEasing","isInitialized","PointerEvent","MSPointerEvent","P","wheel","touch","isNegativeScroll","marginRight","lastScrollTop","lastScrollLeft","onScroll","removePsClasses","$props","refs","media","sourceMap","singleton","styleSheet","cssText","btoa","unescape","encodeURIComponent","DEBUG","locals","bvGroup","computedLocalChecked","linkClass","closeDropdown","onClick","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","forced","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","_classList$push","toPrimitive","plain","formCustomMixin","custom","_extends","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","passive","getParentOrHost","host","closest","includeCTX","_throttleTimeout","R_SPACE","defaultView","currentStyle","matrix","selfOnly","appliedTransforms","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","getWindowScrollingElement","scrollingElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","elRect","innerWidth","containerRect","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","currentChild","Sortable","ghost","dragged","lastElementChild","previousElementSibling","getRelativeScrollOffset","offsetLeft","winScroller","indexOfObject","includeSelf","gotSelf","elemCSS","dst","isRectEqual","rect1","rect2","throttle","ms","cancelThrottle","scrollBy","Polymer","Zepto","dom","setRect","unsetRect","expando","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animationResetTimer","currentRect","translateX","translateY","animatingX","animatingY","repaint","easing","animated","sqrt","pow","initializeByDefault","PluginManager","mount","plugin","pluginEvent","sortable","eventCanceled","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","bubbles","pullMode","lastPutMode","allEventProperties","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","pointerEvents","_detectDirection","elCSS","elWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","secondChildWidth","flexDirection","gridTemplateColumns","touchingSideChild2","_dragElInRowColumn","dragRect","targetRect","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","handle","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","dropBubble","dragoverBubble","dataIdAttr","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","sum","_saveInputCheckedState","inputs","idx","checked","_nextTick","_cancelNextTick","_getDirection","originalTarget","isContentEditable","_prepareDragStart","dragStartFn","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","_onTouchMove","_onDragStart","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","cssMatrix","_hideClone","cloneId","_loopId","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","toArray","is","cancelNextTick","detectDirection","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","AutoScrollPlugin","AutoScroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","lastSwapEl","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","SwapPlugin","Swap","swapClass","dragStart","dragOverValid","swap","prevSwapEl","swapNodes","swapItem","n1","n2","i1","i2","p1","p2","isEqualNode","_ref4","parentSortable","lastMultiDragSelect","multiDragSortable","dragEl$1","clonesFromRect","clonesHidden","multiDragElements","multiDragClones","initialFolding","folding","MultiDragPlugin","MultiDrag","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragElement","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","sortableIndex","insertMultiDragClones","showClone","hideClone","_ref5","dragStartGlobal","_ref6","multiDrag","_ref7","removeMultiDragElements","dragOver","_ref8","_ref9","insertMultiDragElements","_ref10","dragRectAbsolute","clonesHiddenBefore","dragOverAnimationCapture","_ref11","dragMatrix","dragOverAnimationComplete","_ref12","originalEvt","currentIndex","multiDragIndex","nullingGlobal","destroyGlobal","deselect","oldIndicies","newIndicies","clones","clonesInserted","elementsInserted","FUNC_ERROR_TEXT","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","valueOf","isBinary","thisNumberValue","nativeToFixed","FORCED","fractionDigits","fractDigits","multiply","c2","divide","dataToString","__WEBPACK_EXTERNAL_MODULE_a352__","LIBRARY","$export","redefine","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","defined","TO_STRING","that","at","$keys","enumBugKeys","dP","getKeys","Properties","wks","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","arg2","forceStringMethod","strfn","rxfn","cof","ARG","tryGet","B","callee","SRC","$toString","TPL","inspectSource","safe","isFunction","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","contentWindow","write","uid","USE_SYMBOL","$exports","INCLUDES","createDesc","ObjectProto","bitmap","MATCH","regexpFlags","nativeExec","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","core","SHARED","copyright","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","builtinExec","shared","$includes","IObject","gOPS","pIE","$assign","aLen","getSymbols","isEnum","__g","stat","__e","IE8_DOM_DEFINE","Attributes","aFunction","UNSCOPABLES","ArrayProto","$replace","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","__webpack_exports__","insertNodeAt","removeNode","getConsole","cached","hit","regex","parentElement","fatherNode","px","addToUnscopables","iterated","_k","Arguments","arrayIndexOf","STARTS_WITH","$startsWith","search","currentScript","scripts","readyState","setPublicPath_i","_arrayWithHoles","minLen","_nonIterableRest","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default","helper","buildAttribute","propName","computeVmIndex","vnodes","elt","elm","_computeIndexes","isTransition","footerOffset","elmFromNodes","footerIndex","rawIndexes","evtName","evtData","delegateAndEmit","realList","isTransitionName","vuedraggable_isTransition","_slots","componentOptions","getSlot","scopedSlot","computeChildrenAndOffsets","headerOffset","footer","getComponentAttributes","componentDataAttrs","eventsListened","eventsToEmit","readonlyProperties","draggingElement","noTransitionOnDrag","original","draggableComponent","transitionMode","noneFunctionalComponentMode","_computeChildrenAndOf","getTag","getIsFunctional","optionsAdded","onDragMove","_sortable","rootContainer","computeIndexes","newOptionValue","updateOptions","fnOptions","_vnode","getChildrenNodes","$children","rawNodes","visibleIndexes","getUnderlyingVm","htmlElt","getUnderlyingPotencialDraggableComponent","vue","$options","_componentTag","emitChanges","alterList","onList","spliceList","_arguments","updatePosition","getRelatedContextFromMoveEvent","destination","getVmIndex","domIndex","numberIndexes","getComponent","componentInstance","resetTransitionData","transitionContainer","kept","onDragStart","_underlying_vm_","onDragAdd","added","onDragRemove","removed","onDragUpdate","updateProperty","computeFutureIndex","relatedContext","domChildren","currentDOMIndex","draggedInList","draggedContext","futureIndex","sendEvt","onDragEnd","Vue","vuedraggable","CLASS_NAME","ariaLabelledby","backdrop","backdropVariant","bgVariant","bodyClass","closeLabel","footerClass","headerClass","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","textVariant","zIndex","renderHeaderTitle","renderHeaderClose","renderHeader","$close","renderBody","renderFooter","$footer","renderContent","$header","renderBackdrop","onBackdropClick","transitionProps","hasTitle","titleId","fullPath","$_returnFocusEl","handleToggle","handleSync","onTopTrapFocus","tabables","enforceFocus","onBottomTrapFocus","onBeforeEnter","$sidebar","$backdrop","$tabTrapTop","$tabTrapBottom","WorkerGlobalScope","uniqueId","disableWorkerMessageHandler","util","encode","tokens","Token","alias","objId","deepClone","visited","getLanguage","redef","inside","grammar","newToken","old","DFS","propertyType","highlightAll","async","highlightAllUnder","env","run","elements","highlightElement","insertHighlightedCode","highlightedCode","Worker","worker","filename","onmessage","postMessage","immediateClose","tokenize","matchGrammar","strarr","startPos","oneshot","patterns","lookbehind","greedy","lookbehindLength","delNum","wrapped","all","callbacks","matchedStr","aliases","highlightAutomaticallyCallback","defer","markup","includedCdataInside","xml","mathml","svg","addInlined","clike","javascript","js","fileHighlight","Extensions","pre","extension","xhr","XMLHttpRequest","onreadystatechange","responseText","statusText","send","validator","fp","getElem","fpInput","$watch","watchDisabled","immediate","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","isChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","$input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","isGroup","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","isDirectory","getAllFileEntriesInDirectory","createReader","isFile","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","accept","browseText","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","dragging","dropAllowed","computedAccept","extOrType","startMatch","endMatch","computedCapture","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","ClipboardEvent","clipboardData","DataTransfer","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","onDragover","_event$dataTransfer3","onDragleave","onDrop","$label","for","dragenter","dragover","dragleave","slicedToArray_","slicedToArray_default","toConsumableArray_","toConsumableArray_default","defineProperty_","defineProperty_default","external_fuzzysearch_","external_fuzzysearch_default","noop_","noop_default","warning_warning","onLeftClick","mouseDownHandler","$scrollingEl","$focusedEl","scrollingReact","focusedRect","overScroll","intervalId","debounce_","debounce_default","external_watch_size_","external_watch_size_default","removeFromArray","registered","INTERVAL_DURATION","lastWidth","lastHeight","watchSizeForIE9","unwatch","watchSize","isIE9","documentMode","locked","wrappedListener","implementation","removeSizeWatcher","findScrollParents","$scrollParents","isScrollElment","_getComputedStyle","setupResizeAndScrollEventListeners","scrollParent","$scrollParent","isNaN_isNaN","external_is_promise_","external_is_promise_default","once_","once_default","identity_","identity_default","constant_","constant_default","createMap","typeof_","typeof_default","deepExtend","last_","last_default","arrOrStr","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","INDEX","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","enableFuzzyMatch","getErrorMessage","instanceId","treeselectMixin","allowClearingDisabled","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","defaultExpandLevel","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disableFuzzyMatching","flat","joinValues","limitText","loadingText","loadOptions","matchKeys","maxHeight","noChildrenText","noOptionsText","noResultsText","normalizer","openDirection","acceptableValues","openOnClick","openOnFocus","retryText","retryTitle","searchable","searchNested","searchPromptText","showCount","showCountOf","showCountOnSearch","sortValueBy","valueConsistsOf","valueFormat","isFocused","lastScrollPosition","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","noResults","countMap","remoteSearch","selectedNodes","getNode","internalValue","isRootNode","isSelected","isLeaf","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","visibleOptionIds","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","rootNode","shouldFlattenOptions","openMenu","closeMenu","hasChanged","getValue","getInstanceId","buildForestState","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","verifyProps","propNames","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","nodeId","createFallbackNode","extractNodeFromValue","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","defaultNode","valueArray","nodeIdListOfPrevValue","nextSelectedNodeIds","traverseDescendantsBFS","queue","_queue","_nodeId","_node","currNode","traverseDescendantsDFS","traverseAllNodesDFS","walk","toggleClickOutsideEvent","handleClickOutside","getValueContainer","getInput","focusInput","blurInput","handleMouseDown","isClickedOnValueContainer","resetHighlightedOptionWhenNecessary","_this11$$set","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","lowerCasedSearchQuery","toLocaleLowerCase","splitSearchQuery","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","callLoadOptionsProp","action","isPending","succeed","fail","_this13","isExpanded","shouldShowOptionInMenu","getControl","getMenu","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","isHighlighted","scrollToOption","$option","forceReset","highlightFirstOption","highlightPrevOption","highlightLastOption","highlightNextOption","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","_this16","checkDuplication","verifyNodeShape","isDefaultExpanded","_this16$$set","hasDisabledDescendants","branchNodes","leafNodes","_this17","_this18","_this19","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","stringifyValue","HiddenFields_render","HiddenFieldsvue_type_script_lang_js_","injections","stringifiedValues","stringifiedValue","components_HiddenFieldsvue_type_script_lang_js_","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","originalRender","existing","__file","Input_render","Input_staticRenderFns","HiddenFields","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","keysThatRequireMenuBeingOpen","Inputvue_type_script_lang_js_","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","updateSearchQuery","onFocus","_current","_current2","onMouseDown","renderInputContainer","renderInput","renderSizer","sizer","components_Inputvue_type_script_lang_js_","Input_component","Placeholder_render","Placeholder_staticRenderFns","Input","Placeholdervue_type_script_lang_js_","placeholderClass","components_Placeholdervue_type_script_lang_js_","Placeholder_component","SingleValue_render","SingleValue_staticRenderFns","Placeholder","SingleValuevue_type_script_lang_js_","renderSingleValueLabel","customValueLabelRenderer","renderValueContainer","shouldShowValue","components_SingleValuevue_type_script_lang_js_","SingleValue_component","SingleValue","Deletevue_type_template_id_364b6320_render","xmlns","viewBox","Deletevue_type_template_id_364b6320_staticRenderFns","_withStripped","Deletevue_type_script_lang_js_","icons_Deletevue_type_script_lang_js_","Delete_component","MultiValueItem_render","MultiValueItem_staticRenderFns","Delete","MultiValueItemvue_type_script_lang_js_","itemClass","labelRenderer","components_MultiValueItemvue_type_script_lang_js_","MultiValueItem_component","MultiValue_render","MultiValue_staticRenderFns","MultiValueItem","MultiValuevue_type_script_lang_js_","renderMultiValueItems","renderExceedLimitTip","transitionGroupProps","components_MultiValuevue_type_script_lang_js_","MultiValue_component","MultiValue","Arrowvue_type_template_id_11186cd4_render","Arrowvue_type_template_id_11186cd4_staticRenderFns","Arrowvue_type_script_lang_js_","icons_Arrowvue_type_script_lang_js_","Arrow_component","Control_render","Control_staticRenderFns","Arrow","Controlvue_type_script_lang_js_","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","shouldClear","ValueContainer","components_Controlvue_type_script_lang_js_","Control_component","Tip_render","Tip_staticRenderFns","Control","Tipvue_type_script_lang_js_","components_Tipvue_type_script_lang_js_","Tip_component","arrowPlaceholder","checkMark","minusMark","Option_render","Option_staticRenderFns","Tip","Option","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","handleMouseDownOnRetry","indentLevel","listItemClass","Optionvue_type_script_lang_js_","components_Optionvue_type_script_lang_js_","Option_component","Menu_render","Menu_staticRenderFns","components_Option","directionMap","above","below","Menuvue_type_script_lang_js_","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","components_Menuvue_type_script_lang_js_","Menu_component","Menu","external_vue_","external_vue_default","MenuPortalvue_type_script_lang_js_ownKeys","MenuPortalvue_type_script_lang_js_objectSpread","MenuPortal_render","MenuPortal_staticRenderFns","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","transformVariations","portalTargetClass","wrapperClass","portalTargetStyle","MenuPortalvue_type_script_lang_js_","teardown","components_MenuPortalvue_type_script_lang_js_","MenuPortal_component","Treeselect_render","Treeselect_staticRenderFns","MenuPortal","Treeselectvue_type_script_lang_js_","components_Treeselectvue_type_script_lang_js_","Treeselect_component","VERSION","isToday","today","_router$resolve","resolvedRoute","currentRoute","getCurrentInstance","reactive","$router","avatar","fullName","BInputGroupText","actionTags","linkProps","itemProps","_methods","buttonVariant","formRadioCheckMixin","isBtnMode","isPlain","isCustom","isSwitch","switches","switch","isInline","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","handleFocus","$button","textTag","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","$toggle","expand","shrink","expandChild","shrinkChild","TICKET_API_SERVICE_PATH","baseConfig","FILE_SERVICE_PATH","TEST_SERVICE_PATH","namespaced","actions","axios","post","fetchNotes","queryParams","fetchTask","changeStatusTask","fetchTeamsByFilter","teamData","fetchRefCategories","fetchRefCategoriesWithChildren","fetchRefProducts","fetchRefProductsWithChildren","fetchRefPriorities","priorityData","fetchRefTags","tagData","fetchUsersByFilter","fetchUser","fetchUserProfile","fileUpload","transition","setProps","rippler","bg","targetBorder","maxX","maxY","radius","ripple","rippleContainer","borderRadius","storedTargetPosition","clearRipple","clearPosition","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","pill","isBrowser","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","called","taskDebounce","scheduled","supportsMicroTasks","functionToCheck","getType","getStyleComputedProperty","getParentNode","getScrollParent","_getStyleComputedProp","getReferenceNode","referenceNode","isIE11","MSInputMethodContext","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","isOffsetContainer","getRoot","findCommonOffsetParent","element1","element2","commonAncestorContainer","element1root","getScroll","upperSide","includeScroll","subtract","getBordersSize","sideA","sideB","getSize","getWindowSizes","classCallCheck","createClass","getClientRect","offsets","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","hash","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","findIndex","runModifiers","ends","modifiersToRun","isDestroyed","arrowStyles","flipped","positionFixed","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","cancelAnimationFrame","isNumeric","setStyles","unit","setAttributes","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","invertTop","invertLeft","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","placements","validPlacements","clockwise","counter","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","divider","splitRegex","mergeWithPrevious","index2","transformProp","popperStyles","primary","escapeWithReference","secondary","shiftvariation","shiftOffsets","bound","inner","subtractLength","onLoad","Defaults","Popper","jquery","Utils","PopperUtils","OPTIONS_OBJECT_DEPRECATED_MSG","disabledField","htmlField","textField","valueField","formOptionsMixin","formOptions","normalizeOptions","normalizeOption","PASS_DOWN_ATTRS","ariaInvalid","stacked","formRadioCheckGroupMixin","groupClasses","optionComponent","$inputs","notDisabled","tab","BVTabButton","noKeyNav","posInSet","setSize","handleEvt","_this$tab","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","navProps","contentClass","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","localNavClass","$tab","previousTab","nextTab","updateTabs","$_observer","setObserver","$t","attributeFilter","getTabs","$tabs","getButtonForTab","$btn","$forceUpdate","tabEvent","focusButton","emitTabClick","clickTab","lastTab","$activeTab","$fallbackTab","$buttons","_on","refInFor","$nav","$empty","col","row","symbolTag"],"mappings":"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","file":"js/chunk-5d438cca.6103c294.js","sourcesContent":["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!./TodoList.vue?vue&type=style&index=1&id=9c81ef60&prod&lang=scss\"","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","function _nonIterableSpread() {\n 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}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { isToday } from './utils'\n\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\n\nexport const title = (value, replacer = ' ') => {\n if (!value) return ''\n const str = value.toString()\n\n const arr = str.split(replacer)\n const capitalizedArray = []\n arr.forEach(word => {\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\n capitalizedArray.push(capitalized)\n })\n return capitalizedArray.join(' ')\n}\n\nexport const avatarText = value => {\n if (!value) return ''\n const nameArray = value.split(' ')\n return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\n}\n\n/**\n * Format and return date in Humanize format\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\n * @param {String} value date to format\n * @param {Object} formatting Intl object to format with\n */\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\n if (!value) return value\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\n}\n\n/**\n * Return short human friendly month representation of date\n * Can also convert date to only time if date is of today (Better UX)\n * @param {String} value date to format\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\n */\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\n const date = new Date(value)\n let formatting = { month: 'short', day: 'numeric' }\n\n if (toTimeForCurrentDay && isToday(date)) {\n formatting = { hour: 'numeric', minute: 'numeric' }\n }\n\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\n}\n\n// Strip all the tags from markup and return plain text\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\n\nexport const formatCurrency = (value) =>{\n return new Intl.NumberFormat().format(value)\n} \n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue, mergeData } from '../../vue';\nimport { NAME_BUTTON_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as buttonProps } from '../button/button'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(buttonProps, ['size'])), {}, {\n ariaRole: makeProp(PROP_TYPE_STRING, 'group'),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_BUTTON_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BButtonGroup = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), props.size),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\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!./TodoTaskEdit.vue?vue&type=style&index=0&id=e1bcee48&prod&lang=scss\"","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","import store from '@/store'\nimport { ref, watch, computed } from '@vue/composition-api'\n\nexport const useResponsiveAppLeftSidebarVisibility = () => {\n const mqShallShowLeftSidebar = ref(false)\n // Close Active Sidebars and other stuff when going in large device\n const currentBreakPoint = computed(() => store.getters['app/currentBreakPoint'])\n watch(currentBreakPoint, (val, oldVal) => {\n // Reset chats & contacts left sidebar\n if (oldVal === 'md' && val === 'lg') mqShallShowLeftSidebar.value = false\n })\n\n return {\n mqShallShowLeftSidebar,\n }\n}\n\nexport const _ = {}\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\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!./ToastificationContent.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!./ToastificationContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&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 \"55dd3057\",\n null\n \n)\n\nexport default component.exports","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\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 { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{ref:\"task-edit-modal\",attrs:{\"id\":\"modal-task-detail\",\"cancel-variant\":\"outline-secondary\",\"no-close-on-backdrop\":\"\",\"size\":\"xl\",\"hide-footer\":\"\",\"hide-header\":\"\",\"centered\":\"\",\"title\":\"Ажлын дэлгэрэнгүй\"},on:{\"hidden\":_vm.clearForm},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-modal-header px-2 py-1\"},[(_vm.taskLocal.id)?_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":\"\",\"variant\":\"outline-primary\",\"right\":\"\",\"split\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"TrelloIcon\"}}),_vm._v(\" \"+_vm._s(_vm.taskLocal.status)+\" \")]},proxy:true}],null,true)},_vm._l((_vm.lists),function(list,listIndex){return _c('b-dropdown-item',{key:listIndex,attrs:{\"disabled\":_vm.taskLocal.status === list.name},on:{\"click\":function($event){return _vm.changeStatus(_vm.taskLocal, list)}}},[_vm._v(_vm._s(list.name))])}),1):_c('h5',{staticClass:\"mb-0\"},[_vm._v(\" Ажлын дэлгэрэнгүй \")]),_vm._l((_vm.lists),function(list){return [(list.name === 'Дууссан' && _vm.taskLocal.list !== 'Дууссан')?_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],key:list.name,staticClass:\"mr-auto ms-25 done-button d-flex align-items-center justify-content-center\",staticStyle:{\"padding\":\"0.5rem 1rem\"},attrs:{\"title\":\"Дууссан\",\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.changeStatus(_vm.taskLocal, list)}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckIcon\"}})],1):_vm._e()]}),_c('div',[_c('feather-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.taskLocal.id),expression:\"taskLocal.id\"}],staticClass:\"cursor-pointer\",attrs:{\"icon\":\"TrashIcon\"},on:{\"click\":function($event){_vm.$emit('remove-task'); hide();}}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",class:{ 'text-warning': _vm.taskLocal.isImportant },attrs:{\"icon\":\"StarIcon\",\"size\":\"16\"},on:{\"click\":function($event){_vm.taskLocal.isImportant = !_vm.taskLocal.isImportant}}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1)],2),_c('validation-observer',{ref:\"refFormTodoEditObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{ref:\"task-edit-form\",staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_c('b-form-group',{attrs:{\"label\":\"\",\"label-for\":\"task-call-type\"}},[_c('b-form-radio-group',{attrs:{\"aria-controls\":\"ex-disabled-readonly\"},model:{value:(_vm.taskLocal.call_type),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"call_type\", $$v)},expression:\"taskLocal.call_type\"}},[_c('b-form-radio',{attrs:{\"value\":\"inbound\"}},[_vm._v(\" Гаднаас залгасан \")]),_c('b-form-radio',{attrs:{\"value\":\"outbound\"}},[_vm._v(\" Гадагшаа залгасан \")])],1)],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Утас\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Утас\",\"label-for\":\"phone\"}},[_c('b-input-group',[_c('b-form-input',{attrs:{\"id\":\"phone\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Утас\"},on:{\"blur\":function($event){return _vm.getCustomer(_vm.taskLocal)}},model:{value:(_vm.taskLocal.phone),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"phone\", $$v)},expression:\"taskLocal.phone\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.gotoAdmin(_vm.taskLocal)}}},[_vm._v(\" Админруу үсрэх \")])],1)],1),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Овог\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Овог\",\"label-for\":\"lastname\"}},[_c('b-form-input',{attrs:{\"id\":\"lastname\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Овог\"},model:{value:(_vm.taskLocal.customer.lastname),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"lastname\", $$v)},expression:\"taskLocal.customer.lastname\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Нэр\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Нэр\",\"label-for\":\"firstname\"}},[_c('b-form-input',{attrs:{\"id\":\"firstname\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Нэр\"},model:{value:(_vm.taskLocal.customer.firstname),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"firstname\", $$v)},expression:\"taskLocal.customer.firstname\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Регистрийн дугаар\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Регистрийн дугаар\",\"label-for\":\"register_number\"}},[_c('b-form-input',{attrs:{\"id\":\"register_number\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Регистрийн дугаар\"},model:{value:(_vm.taskLocal.customer.register_number),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"register_number\", $$v)},expression:\"taskLocal.customer.register_number\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('b-form-group',{attrs:{\"label\":\"Асуудал\",\"label-for\":\"quil-content\"}},[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"placeholder\":\"Асуудал\"},model:{value:(_vm.taskLocal.description),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"description\", $$v)},expression:\"taskLocal.description\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Файл хавсаргах\"}},[_c('el-upload',{ref:\"uploadImage\",staticClass:\"upload-demo\",attrs:{\"action\":\"#\",\"show-file-list\":false,\"auto-upload\":false,\"on-change\":_vm.saveImage}},[_c('b-list-group',_vm._l((_vm.taskLocal.attachmentNames),function(attachment,index){return _c('b-list-group-item',{key:index,staticClass:\"d-flex justify-content-between align-items-center\"},[_c('span',[_vm._v(_vm._s(attachment))]),_c('div',{staticClass:\"__list_group_buttons\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",staticStyle:{\"margin-right\":\"10px\"},attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.downloadAttachment(attachment)}}},[_c('feather-icon',{attrs:{\"icon\":\"DownloadIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"outline-primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.removeAttachment(attachment)}}},[_c('feather-icon',{attrs:{\"icon\":\"DeleteIcon\"}})],1)],1)])}),1),_c('el-button',{attrs:{\"slot\":\"trigger\",\"size\":\"small\",\"type\":\"primary\"},slot:\"trigger\"},[_vm._v(\"select file\")])],1)],1),_c('b-tabs',[_c('b-tab',{attrs:{\"active\":\"\",\"title\":\"Сэтгэгдэл\"}},[_vm._l((_vm.taskLocal.comments),function(comment,ind){return _c('div',{key:ind,staticClass:\"d-flex align-items-start mb-1\"},[(comment.created_by)?_c('b-avatar',{staticClass:\"mt-25 mr-75\",attrs:{\"size\":\"34\",\"src\":comment.created_by,\"text\":_vm.avatarText(comment.created_by)}}):_c('b-avatar',{staticClass:\"mt-25 mr-75\",attrs:{\"size\":\"34\",\"variant\":\"light-secondary\"}},[_c('feather-icon',{attrs:{\"icon\":\"UserIcon\",\"size\":\"16\"}})],1),_c('div',{staticClass:\"profile-user-info w-100\"},[_c('div',{staticClass:\"d-flex align-items-center justify-content-between\"},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(comment.created_by)+\" \")])]),_c('small',[_vm._v(_vm._s(comment.comment))])])],1)}),_c('b-form-group',[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"placeholder\":\"Сэтгэгдэл үлдээх\"},model:{value:(_vm.taskLocal.comment),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"comment\", $$v)},expression:\"taskLocal.comment\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.addComment(_vm.taskLocal)}}},[_vm._v(\" Сэтгэгдэл үлдээх \")])],2),_c('b-tab',{attrs:{\"title\":\"Түүх\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Ангилал\",\"label-for\":\"categories\"}},[_c('treeselect',{attrs:{\"multiple\":true,\"options\":_vm.refCategoryOptions,\"disable-branch-nodes\":true,\"search-nested\":\"\",\"label\":\"name\",\"placeholder\":\"Ангилал\"},model:{value:(_vm.taskLocal.categoryIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"categoryIds\", $$v)},expression:\"taskLocal.categoryIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Бүтээгдэхүүн\",\"label-for\":\"tag\"}},[_c('treeselect',{attrs:{\"multiple\":true,\"options\":_vm.refProductOptions,\"disable-branch-nodes\":true,\"search-nested\":\"\",\"label\":\"name\",\"placeholder\":\"Бүтээгдэхүүн\"},model:{value:(_vm.taskLocal.productIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"productIds\", $$v)},expression:\"taskLocal.productIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Таг\",\"label-for\":\"tag\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"multiple\":\"\",\"options\":_vm.refTagOptions,\"reduce\":function (option) { return option.id; },\"label\":\"name\",\"input-id\":\"tags\",\"placeholder\":\"Таг\"},model:{value:(_vm.taskLocal.tagIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"tagIds\", $$v)},expression:\"taskLocal.tagIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Ач холбогдол\",\"label-for\":\"priority\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.refPriorityOptions,\"reduce\":function (option) { return option.name; },\"label\":\"name\",\"input-id\":\"priority\",\"placeholder\":\"Ач холбогдол\"},model:{value:(_vm.taskLocal.priority),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"priority\", $$v)},expression:\"taskLocal.priority\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Баг\",\"label-for\":\"team\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.teamOptions,\"reduce\":function (option) { return option.name; },\"label\":\"name\",\"input-id\":\"team\",\"placeholder\":\"Баг\"},on:{\"input\":function($event){return _vm.changeTeam($event)}},model:{value:(_vm.taskLocal.team),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"team\", $$v)},expression:\"taskLocal.team\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Хариуцагч\",\"label-for\":\"assignee\"}},[_c('v-select',{staticClass:\"assignee-selector\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.userOptions,\"reduce\":function (option) { return option.username; },\"label\":\"username\",\"input-id\":\"assignee\",\"placeholder\":\"Хариуцагч\"},model:{value:(_vm.taskLocal.assignee),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"assignee\", $$v)},expression:\"taskLocal.assignee\"}})],1),_c('validation-provider',{attrs:{\"name\":\"Дуусах хугацаа\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Дуусах хугацаа\",\"label-for\":\"due-date\"}},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"id\":\"due-date\",\"config\":{ enableTime: true}},model:{value:(_vm.taskLocal.due_date),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"due_date\", $$v)},expression:\"taskLocal.due_date\"}})],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Issue title\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-group',{attrs:{\"label\":\"Төлөх эрмэлзлэл\",\"label-for\":\"pay-score\"}},[_c('b-form-spinbutton',{attrs:{\"id\":\"pay-score\",\"min\":\"1\",\"max\":\"100\",\"disabled\":_vm.taskLocal.call_type === 'inbound'},model:{value:(_vm.taskLocal.pay_score),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"pay_score\", $$v)},expression:\"taskLocal.pay_score\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])],1)]}}],null,true)}),_c('b-form-group',[_vm._v(\" Эргэн холбогдох \"),_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"config\":{ enableTime: true, dateFormat: 'Y-m-d H:i' },\"disabled\":_vm.taskLocal.call_type === 'inbound'},model:{value:(_vm.taskLocal.promised_at),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"promised_at\", $$v)},expression:\"taskLocal.promised_at\"}})],1),_c('validation-provider',{attrs:{\"name\":\"Бүртгэсэн\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Бүртгэсэн\",\"label-for\":\"created_by\"}},[_c('b-form-input',{attrs:{\"id\":\"created_by\",\"disabled\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Нэр\"},model:{value:(_vm.taskLocal.created_by),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"created_by\", $$v)},expression:\"taskLocal.created_by\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.taskLocal.id ? 'Өөрчлөх' : 'Нэмэх ')+\" \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"}},[_vm._v(\" Буцаах \")])],1)],1)],1)],1)]}}],null,true)})]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./TodoTaskEdit.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!./TodoTaskEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TodoTaskEdit.vue?vue&type=template&id=e1bcee48&scoped=true\"\nimport script from \"./TodoTaskEdit.vue?vue&type=script&lang=js\"\nexport * from \"./TodoTaskEdit.vue?vue&type=script&lang=js\"\nimport style0 from \"./TodoTaskEdit.vue?vue&type=style&index=0&id=e1bcee48&prod&lang=scss\"\nimport style1 from \"./TodoTaskEdit.vue?vue&type=style&index=1&id=e1bcee48&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 \"e1bcee48\",\n null\n \n)\n\nexport default component.exports","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { Vue } from '../../vue';\nimport { NAME_FORM_RADIO_GROUP } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formRadioCheckGroupMixin, props as formRadioCheckGroupProps } from '../../mixins/form-radio-check-group'; // --- Props ---\n\nexport var props = makePropsConfigurable(formRadioCheckGroupProps, NAME_FORM_RADIO_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BFormRadioGroup = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO_GROUP,\n mixins: [formRadioCheckGroupMixin],\n provide: function provide() {\n return {\n bvRadioGroup: this\n };\n },\n props: props,\n computed: {\n isRadioGroup: function isRadioGroup() {\n return true;\n }\n }\n});","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\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!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true\"","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 { Vue, mergeData } from '../../vue';\nimport { NAME_LIST_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isString } from '../../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n flush: makeProp(PROP_TYPE_BOOLEAN, false),\n horizontal: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_LIST_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BListGroup = /*#__PURE__*/Vue.extend({\n name: NAME_LIST_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var horizontal = props.horizontal === '' ? true : props.horizontal;\n horizontal = props.flush ? false : horizontal;\n var componentData = {\n staticClass: 'list-group',\n class: _defineProperty({\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true\n }, \"list-group-horizontal-\".concat(horizontal), isString(horizontal))\n };\n return h(props.tag, mergeData(data, componentData), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","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!./Todo.vue?vue&type=style&index=0&id=8e18ac9a&prod&scoped=true&lang=css\"","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-sidebar',{attrs:{\"id\":\"sidebar-task-handler\",\"sidebar-class\":\"sidebar-lg\",\"visible\":_vm.isTaskHandlerSidebarActive,\"bg-variant\":\"white\",\"shadow\":\"\",\"backdrop\":\"\",\"no-header\":\"\",\"right\":\"\"},on:{\"change\":function (val) { return _vm.$emit('update:is-task-handler-sidebar-active', val); },\"hidden\":_vm.clearForm},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hide = ref.hide;\nreturn [_c('div',{staticClass:\"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"},[(_vm.taskLocal.id)?_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":_vm.taskLocal.isCompleted ? 'outline-success' : 'outline-secondary'},on:{\"click\":function($event){_vm.taskLocal.isCompleted = !_vm.taskLocal.isCompleted}}},[_vm._v(\" \"+_vm._s(_vm.taskLocal.isCompleted ? 'Completed' : 'Mark Complete')+\" \")]):_c('h5',{staticClass:\"mb-0\"},[_vm._v(\" Ажил нэмэх \")]),_c('div',[_c('feather-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.taskLocal.id),expression:\"taskLocal.id\"}],staticClass:\"cursor-pointer\",attrs:{\"icon\":\"TrashIcon\"},on:{\"click\":function($event){_vm.$emit('remove-task'); hide();}}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",class:{ 'text-warning': _vm.taskLocal.isImportant },attrs:{\"icon\":\"StarIcon\",\"size\":\"16\"},on:{\"click\":function($event){_vm.taskLocal.isImportant = !_vm.taskLocal.isImportant}}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\",\"size\":\"16\"},on:{\"click\":hide}})],1)],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar handleSubmit = ref.handleSubmit;\nreturn [_c('b-form',{staticClass:\"p-2\",on:{\"submit\":function($event){$event.preventDefault();return handleSubmit(_vm.onSubmit)},\"reset\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_c('b-form-group',{attrs:{\"label\":\"\",\"label-for\":\"task-call-type\"}},[_c('b-form-radio-group',{attrs:{\"aria-controls\":\"ex-disabled-readonly\"},model:{value:(_vm.taskLocal.call_type),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"call_type\", $$v)},expression:\"taskLocal.call_type\"}},[_c('b-form-radio',{attrs:{\"value\":\"inbound\"}},[_vm._v(\" Гаднаас залгасан \")]),_c('b-form-radio',{attrs:{\"value\":\"outbound\"}},[_vm._v(\" Гадагшаа залгасан \")])],1)],1),_c('validation-provider',{attrs:{\"name\":\"Утас\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Утас\",\"label-for\":\"phone\"}},[_c('b-form-input',{attrs:{\"id\":\"phone\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Утас\"},on:{\"blur\":function($event){return _vm.getCustomer(_vm.taskLocal.phone)}},model:{value:(_vm.taskLocal.phone),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"phone\", $$v)},expression:\"taskLocal.phone\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Овог\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Овог\",\"label-for\":\"lastname\"}},[_c('b-form-input',{attrs:{\"id\":\"lastname\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Овог\"},model:{value:(_vm.taskLocal.customer.lastname),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"lastname\", $$v)},expression:\"taskLocal.customer.lastname\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Нэр\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Нэр\",\"label-for\":\"firstname\"}},[_c('b-form-input',{attrs:{\"id\":\"firstname\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Нэр\"},model:{value:(_vm.taskLocal.customer.firstname),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"firstname\", $$v)},expression:\"taskLocal.customer.firstname\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Регистрийн дугаар\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Регистрийн дугаар\",\"label-for\":\"register_number\"}},[_c('b-form-input',{attrs:{\"id\":\"register_number\",\"autofocus\":\"\",\"state\":_vm.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Регистрийн дугаар\"},model:{value:(_vm.taskLocal.customer.register_number),callback:function ($$v) {_vm.$set(_vm.taskLocal.customer, \"register_number\", $$v)},expression:\"taskLocal.customer.register_number\"}}),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('b-form-group',{attrs:{\"label\":\"Ангилал\",\"label-for\":\"categories\"}},[_c('treeselect',{attrs:{\"multiple\":true,\"options\":_vm.refCategoryOptions,\"disable-branch-nodes\":true,\"search-nested\":\"\",\"label\":\"name\",\"placeholder\":\"Ангилал\",\"closeOnSelect\":true},model:{value:(_vm.taskLocal.categoryIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"categoryIds\", $$v)},expression:\"taskLocal.categoryIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Бүтээгдэхүүн\",\"label-for\":\"tag\"}},[_c('treeselect',{attrs:{\"multiple\":true,\"options\":_vm.refProductOptions,\"disable-branch-nodes\":true,\"search-nested\":\"\",\"label\":\"name\",\"placeholder\":\"Бүтээгдэхүүн\",\"closeOnSelect\":true},model:{value:(_vm.taskLocal.productIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"productIds\", $$v)},expression:\"taskLocal.productIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Таг\",\"label-for\":\"tag\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"multiple\":\"\",\"options\":_vm.refTagOptions,\"reduce\":function (option) { return option.id; },\"label\":\"name\",\"input-id\":\"tags\",\"placeholder\":\"Таг\"},model:{value:(_vm.taskLocal.tagIds),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"tagIds\", $$v)},expression:\"taskLocal.tagIds\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Ач холбогдол\",\"label-for\":\"priority\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.refPriorityOptions,\"reduce\":function (option) { return option.name; },\"label\":\"name\",\"input-id\":\"priority\",\"placeholder\":\"Ач холбогдол\"},model:{value:(_vm.taskLocal.priority),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"priority\", $$v)},expression:\"taskLocal.priority\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Асуудал\",\"label-for\":\"quil-content\"}},[_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"placeholder\":\"Асуудал\"},model:{value:(_vm.taskLocal.description),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"description\", $$v)},expression:\"taskLocal.description\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Баг\",\"label-for\":\"team\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.teamOptions,\"reduce\":function (option) { return option.name; },\"label\":\"name\",\"input-id\":\"team\",\"placeholder\":\"Баг\"},on:{\"input\":function($event){return _vm.changeTeam($event)}},model:{value:(_vm.taskLocal.team),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"team\", $$v)},expression:\"taskLocal.team\"}})],1),_c('b-form-group',{attrs:{\"label\":\"Хариуцагч\",\"label-for\":\"assignee\"}},[_c('v-select',{staticClass:\"assignee-selector\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"reduce\":function (option) { return option.username; },\"options\":_vm.userOptions,\"label\":\"username\",\"input-id\":\"assignee\",\"placeholder\":\"Хариуцагч\"},model:{value:(_vm.taskLocal.assignee),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"assignee\", $$v)},expression:\"taskLocal.assignee\"}})],1),_c('validation-provider',{attrs:{\"name\":\"Дуусах хугацаа\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Дуусах хугацаа\",\"label-for\":\"due-date\"}},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"id\":\"due-date\",\"config\":{ enableTime: true,dateFormat: 'Y-m-d H:i'}},model:{value:(_vm.taskLocal.due_date),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"due_date\", $$v)},expression:\"taskLocal.due_date\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],1)]}}],null,true)}),_c('validation-provider',{attrs:{\"name\":\"Issue title\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-group',{attrs:{\"label\":\"Төлөх эрмэлзлэл\",\"label-for\":\"pay-score\"}},[_c('b-form-spinbutton',{attrs:{\"id\":\"pay-score\",\"min\":\"1\",\"max\":\"100\",\"disabled\":_vm.taskLocal.call_type === 'inbound'},model:{value:(_vm.taskLocal.pay_score),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"pay_score\", $$v)},expression:\"taskLocal.pay_score\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])],1)]}}],null,true)}),_c('b-form-group',{attrs:{\"label\":\"Эргэн холбогдох\"}},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"config\":{ enableTime: true,dateFormat: 'Y-m-d H:i'},\"disabled\":_vm.taskLocal.call_type === 'inbound'},model:{value:(_vm.taskLocal.promised_at),callback:function ($$v) {_vm.$set(_vm.taskLocal, \"promised_at\", $$v)},expression:\"taskLocal.promised_at\"}})],1),_c('div',{staticClass:\"d-flex mt-2\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"type\":\"submit\"}},[_vm._v(\" \"+_vm._s(_vm.taskLocal.id ? 'Өөрчлөх' : 'Нэмэх ')+\" \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"}},[_vm._v(\" Буцаах \")])],1)],1)]}}],null,true)})]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./TodoTaskHandlerSidebar.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!./TodoTaskHandlerSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TodoTaskHandlerSidebar.vue?vue&type=template&id=0efa7b42&scoped=true\"\nimport script from \"./TodoTaskHandlerSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./TodoTaskHandlerSidebar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TodoTaskHandlerSidebar.vue?vue&type=style&index=0&id=0efa7b42&prod&lang=scss\"\nimport style1 from \"./TodoTaskHandlerSidebar.vue?vue&type=style&index=1&id=0efa7b42&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 \"0efa7b42\",\n null\n \n)\n\nexport default component.exports","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","import { ref, nextTick } from '@vue/composition-api'\n\n// ===========================================================\n// ! This is coupled with \"veeValidate\" plugin\n// ===========================================================\n\nexport default function formValidation(resetFormData, clearFormData = () => {}) {\n // ------------------------------------------------\n // refFormObserver\n // ! This is for veeValidate Observer\n // * Used for veeValidate form observer\n // ------------------------------------------------\n const refFormObserver = ref(null)\n\n // ------------------------------------------------\n // resetObserver\n // ! This function is coupled with veeValidate\n // * It resets form observer\n // ------------------------------------------------\n const resetObserver = () => {\n refFormObserver.value.reset()\n }\n\n // ------------------------------------------------\n // getValidationState\n // ! This function is coupled with veeValidate\n // * It returns true/false based on validation\n // ------------------------------------------------\n // eslint-disable-next-line object-curly-newline\n const getValidationState = ({ dirty, validated, required: fieldRequired, changed, valid = null }) => {\n const result = dirty || validated ? valid : null\n return !fieldRequired && !changed ? null : result\n }\n\n // ------------------------------------------------\n // resetForm\n // ! This function is coupled with veeValidate\n // * This uses resetFormData arg to reset form data\n // ------------------------------------------------\n const resetForm = () => {\n resetFormData()\n nextTick(() => {\n resetObserver()\n })\n }\n\n // ------------------------------------------------\n // clearForm\n // ! This function is coupled with veeValidate\n // * This uses clearFormData arg to reset form data\n // ------------------------------------------------\n const clearForm = () => {\n clearFormData()\n nextTick(() => {\n resetObserver()\n })\n }\n\n return {\n refFormObserver,\n resetObserver,\n getValidationState,\n resetForm,\n clearForm,\n }\n}\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\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!./TodoTaskHandlerSidebar.vue?vue&type=style&index=0&id=0efa7b42&prod&lang=scss\"","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',_vm._g(_vm._b({attrs:{\"no-body\":\"\"}},'b-card',_vm.cardAttrs,false),_vm.$listeners),[_c('div',{staticClass:\"card-header\"},[_c('div',[_c('b-card-title',[_vm._v(_vm._s(_vm.$attrs.title))]),(_vm.$attrs['sub-title'])?_c('b-card-sub-title',[_vm._v(\" \"+_vm._s(_vm.$attrs['sub-title'])+\" \")]):_vm._e()],1),_c('i',{staticClass:\"code-toggler feather icon-code cursor-pointer\",attrs:{\"aria-expanded\":!_vm.code_visible ? 'true' : 'false',\"aria-controls\":_vm.parentID},on:{\"click\":function($event){_vm.code_visible = !_vm.code_visible}}})]),(_vm.$attrs['no-body'] !== undefined)?[_vm._t(\"default\"),_c('b-collapse',{staticClass:\"card-code\",attrs:{\"id\":_vm.parentID,\"visible\":_vm.code_visible},model:{value:(_vm.code_visible),callback:function ($$v) {_vm.code_visible=$$v},expression:\"code_visible\"}},[_c('b-card-body',[_c('prism',{attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"code\")],2)],1)],1)]:_c('b-card-body',[_vm._t(\"default\"),_c('b-collapse',{staticClass:\"card-code\",attrs:{\"id\":_vm.parentID,\"visible\":_vm.code_visible},model:{value:(_vm.code_visible),callback:function ($$v) {_vm.code_visible=$$v},expression:\"code_visible\"}},[_c('div',{staticClass:\"p-1\"}),_c('prism',{attrs:{\"language\":_vm.codeLanguage}},[_vm._t(\"code\")],2)],1)],2)],2)}\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!./BCardCode.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!./BCardCode.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BCardCode.vue?vue&type=template&id=aa799a9e&scoped=true\"\nimport script from \"./BCardCode.vue?vue&type=script&lang=js\"\nexport * from \"./BCardCode.vue?vue&type=script&lang=js\"\nimport style0 from \"./BCardCode.vue?vue&type=style&index=0&id=aa799a9e&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 \"aa799a9e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',[(_vm.boardName)?_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start col-md-2 col-12 mb-1\"},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"config\":{ enableTime: false, dateFormat: 'Y-m-d' }},on:{\"input\":_vm.changeBoardName},model:{value:(_vm.currentBoardName),callback:function ($$v) {_vm.currentBoardName=$$v},expression:\"currentBoardName\"}})],1):_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start col-md-2 col-12 mb-1\"},[_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],staticClass:\"mr-2\",staticStyle:{\"width\":\"100%\"},attrs:{\"variant\":\"outline-primary\",\"title\":\"Ажил нэмэх\"},on:{\"click\":function($event){_vm.$emit('update:is-task-handler-sidebar-active', true);\n _vm.$emit('close-left-sidebar');}}},[_c('feather-icon',{attrs:{\"icon\":\"PlusIcon\"}}),_vm._v(\" Ажил нэмэх \")],1)],1),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start col-md-2 col-12 mb-1\"},[_c('v-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"name\",\"options\":_vm.phoneOptions,\"reduce\":function (option) { return option.name; },\"placeholder\":\"Утасны дугаараар\"},on:{\"input\":_vm.listFilterByPhone},model:{value:(_vm.selectedPhone),callback:function ($$v) {_vm.selectedPhone=$$v},expression:\"selectedPhone\"}})],1),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start col-md-2 col-12 mb-1\"},[_c('v-select',{staticStyle:{\"width\":\"100%\"},attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"name\",\"options\":_vm.createdByOptions,\"reduce\":function (option) { return option.name; },\"placeholder\":\"Хэрэглэгчээр\"},on:{\"input\":_vm.listFilterByCreatedBy},model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}})],1),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start col-md-4 col-12 mb-1\"},[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{attrs:{\"icon\":\"SearchIcon\"}})],1),_c('b-form-input',{staticClass:\"d-inline-block mr-1 form-control\",attrs:{\"placeholder\":\"Ажил хайх\"}})],1)],1),_c('b-col',{staticClass:\"col-md-2 col-12 mb-1\"},[_c('b-button-group',{staticClass:\"d-flex align-items-center justify-content-end\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],attrs:{\"variant\":\"outline-primary\",\"title\":\"Ажлын самбар\"},on:{\"click\":function($event){return _vm.gotoUrl('todo-board')}}},[_c('feather-icon',{attrs:{\"icon\":\"TrelloIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],attrs:{\"variant\":\"outline-primary\",\"title\":\"Ажлын жагсаалт\"},on:{\"click\":function($event){return _vm.gotoUrl('todo-list')}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckSquareIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.v-primary\",modifiers:{\"hover\":true,\"v-primary\":true}}],attrs:{\"variant\":\"outline-primary\",\"title\":\"Өдөр өндөрлөх\"},on:{\"click\":function($event){return _vm.confirmComplete(\n 'Нөмөр Кредит ББСБ',\n 'Нөмөр асуудал',\n 'Нээлттэй хавтас',\n 'Нээлттэй самбар'\n )}}},[_c('feather-icon',{attrs:{\"icon\":\"BellIcon\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue } from '../../vue';\nimport { NAME_BUTTON_TOOLBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP } from '../../constants/key-codes';\nimport { attemptFocus, contains, isVisible, selectAll } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // --- Props ---\n\nexport var props = makePropsConfigurable({\n justify: makeProp(PROP_TYPE_BOOLEAN, false),\n keyNav: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_BUTTON_TOOLBAR); // --- Main component ---\n// @vue/component\n\nexport var BButtonToolbar = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_TOOLBAR,\n mixins: [normalizeSlotMixin],\n props: props,\n mounted: function mounted() {\n // Pre-set the tabindexes if the markup does not include\n // `tabindex=\"-1\"` on the toolbar items\n if (this.keyNav) {\n this.getItems();\n }\n },\n methods: {\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el); // Ensure `tabindex=\"-1\"` is set on every item\n\n items.forEach(function (item) {\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n },\n focusFirst: function focusFirst() {\n var items = this.getItems();\n attemptFocus(items[0]);\n },\n focusPrev: function focusPrev(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n attemptFocus(items[0]);\n }\n },\n focusNext: function focusNext(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n attemptFocus(items[0]);\n }\n },\n focusLast: function focusLast() {\n var items = this.getItems().reverse();\n attemptFocus(items[0]);\n },\n onFocusin: function onFocusin(event) {\n var $el = this.$el;\n\n if (event.target === $el && !contains($el, event.relatedTarget)) {\n stopEvent(event);\n this.focusFirst(event);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (keyCode === CODE_UP || keyCode === CODE_LEFT) {\n stopEvent(event);\n shiftKey ? this.focusFirst(event) : this.focusPrev(event);\n } else if (keyCode === CODE_DOWN || keyCode === CODE_RIGHT) {\n stopEvent(event);\n shiftKey ? this.focusLast(event) : this.focusNext(event);\n }\n }\n },\n render: function render(h) {\n var keyNav = this.keyNav;\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: keyNav ? '0' : null\n },\n on: keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot()]);\n }\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!./Todo.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!./Todo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Todo.vue?vue&type=template&id=8e18ac9a&scoped=true\"\nimport script from \"./Todo.vue?vue&type=script&lang=js\"\nexport * from \"./Todo.vue?vue&type=script&lang=js\"\nimport style0 from \"./Todo.vue?vue&type=style&index=0&id=8e18ac9a&prod&scoped=true&lang=css\"\nimport style1 from \"./Todo.vue?vue&type=style&index=1&id=8e18ac9a&prod&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 \"8e18ac9a\",\n null\n \n)\n\nexport default component.exports","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 { Vue, mergeData } from '../../vue';\nimport { NAME_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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 { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n","var _objectSpread2, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue } from '../../vue';\nimport { NAME_TAB } from '../../constants/components';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ACTIVE = 'active';\nvar MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_ACTIVE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"buttonId\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"disabled\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"lazy\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"noBody\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"tag\", makeProp(PROP_TYPE_STRING, 'div')), _defineProperty(_objectSpread2, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"titleItemClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _defineProperty(_objectSpread2, \"titleLinkAttributes\", makeProp(PROP_TYPE_OBJECT)), _defineProperty(_objectSpread2, \"titleLinkClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _objectSpread2))), NAME_TAB); // --- Main component ---\n// @vue/component\n\nexport var BTab = /*#__PURE__*/Vue.extend({\n name: NAME_TAB,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvTabs: {\n default: function _default() {\n return {};\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localActive: this[MODEL_PROP_NAME_ACTIVE] && !this.disabled\n };\n },\n computed: {\n // For parent sniffing of child\n _isTab: function _isTab() {\n return true;\n },\n tabClasses: function tabClasses() {\n var active = this.localActive,\n disabled = this.disabled;\n return [{\n active: active,\n disabled: disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply `activeTabClass` styles when this tab is active\n active ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_ACTIVE, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (newValue) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit(MODEL_EVENT_NAME_ACTIVE, this.localActive);\n }\n }\n }\n }), _defineProperty(_watch, \"disabled\", function disabled(newValue, oldValue) {\n if (newValue !== oldValue) {\n var firstTab = this.bvTabs.firstTab;\n\n if (newValue && this.localActive && firstTab) {\n this.localActive = false;\n firstTab();\n }\n }\n }), _defineProperty(_watch, \"localActive\", function localActive(newValue) {\n // Make `active` prop work with `.sync` modifier\n this.$emit(MODEL_EVENT_NAME_ACTIVE, newValue);\n }), _watch),\n mounted: function mounted() {\n // Inform `` of our presence\n this.registerTab();\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n var updateButton = this.bvTabs.updateButton;\n\n if (updateButton && this.hasNormalizedSlot(SLOT_NAME_TITLE)) {\n updateButton(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Inform `` of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `` of our presence\n var registerTab = this.bvTabs.registerTab;\n\n if (registerTab) {\n registerTab(this);\n }\n },\n unregisterTab: function unregisterTab() {\n // Inform `` of our departure\n var unregisterTab = this.bvTabs.unregisterTab;\n\n if (unregisterTab) {\n unregisterTab(this);\n }\n },\n // Public methods\n activate: function activate() {\n // Not inside a `` component or tab is disabled\n var activateTab = this.bvTabs.activateTab;\n return activateTab && !this.disabled ? activateTab(this) : false;\n },\n deactivate: function deactivate() {\n // Not inside a `` component or not active to begin with\n var deactivateTab = this.bvTabs.deactivateTab;\n return deactivateTab && this.localActive ? deactivateTab(this) : false;\n }\n },\n render: function render(h) {\n var localActive = this.localActive;\n var $content = h(this.tag, {\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n value: localActive\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n },\n ref: 'panel'\n }, // Render content lazily if requested\n [localActive || !this.computedLazy ? this.normalizeSlot() : h()]);\n return h(BVTransition, {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [$content]);\n }\n});","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.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!./Todo.vue?vue&type=style&index=1&id=8e18ac9a&prod&lang=scss\"","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"app-todo-wrapper\"},[_c('todo',{attrs:{\"is-task-handler-sidebar-active\":_vm.isTaskHandlerSidebarActive,\"boardName\":_vm.boardName,\"phoneList\":_vm.phoneList,\"createdByList\":_vm.createdByList},on:{\"update:isTaskHandlerSidebarActive\":function($event){_vm.isTaskHandlerSidebarActive=$event},\"update:is-task-handler-sidebar-active\":function($event){_vm.isTaskHandlerSidebarActive=$event},\"re-fetch-task\":_vm.reFetchTask,\"filter-task-by-phone\":_vm.listFilterByPhone,\"filter-task-by-created-by\":_vm.listFilterByCreatedBy}}),_c('div',{staticClass:\"todo-wrapper ps\"},[_c('div',{staticClass:\"todo-app-list\"},[_c('div',{staticClass:\"app-fixed-search d-flex align-items-center\"},[_c('div',{staticClass:\"d-flex align-content-center justify-content-between w-100\"},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"text-muted\",attrs:{\"icon\":\"SearchIcon\"}})],1),_c('b-form-input',{attrs:{\"value\":_vm.searchQuery,\"placeholder\":\"Ажил хайх\"},on:{\"input\":_vm.updateRouteQuery}})],1)],1),_c('div',{staticClass:\"dropdown\"},[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0 mr-1\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"16\"}})]},proxy:true}])},[_c('b-dropdown-item',{on:{\"click\":_vm.resetSortAndNavigate}},[_vm._v(\" Reset Sort \")]),_c('b-dropdown-item',{attrs:{\"to\":{ name: _vm.$route.name, query: Object.assign({}, _vm.$route.query, {sort: 'title-asc'}) }}},[_vm._v(\" Sort A-Z \")]),_c('b-dropdown-item',{attrs:{\"to\":{ name: _vm.$route.name, query: Object.assign({}, _vm.$route.query, {sort: 'title-desc'}) }}},[_vm._v(\" Sort Z-A \")]),_c('b-dropdown-item',{attrs:{\"to\":{ name: _vm.$route.name, query: Object.assign({}, _vm.$route.query, {sort: 'assignee'}) }}},[_vm._v(\" Sort Assignee \")]),_c('b-dropdown-item',{attrs:{\"to\":{ name: _vm.$route.name, query: Object.assign({}, _vm.$route.query, {sort: 'due-date'}) }}},[_vm._v(\" Sort Due Date \")])],1)],1)]),_c('vue-perfect-scrollbar',{staticClass:\"todo-task-list-wrapper list-group scroll-area\",attrs:{\"settings\":_vm.perfectScrollbarSettings}},[_c('draggable',{staticClass:\"todo-task-list media-list\",attrs:{\"handle\":\".draggable-task-handle\",\"tag\":\"ul\"},model:{value:(_vm.tasks),callback:function ($$v) {_vm.tasks=$$v},expression:\"tasks\"}},_vm._l((_vm.tasks),function(task){return _c('li',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}},{name:\"b-modal\",rawName:\"v-b-modal.modal-task-detail\",modifiers:{\"modal-task-detail\":true}}],key:task.id,staticClass:\"todo-item\",class:{ 'completed': task.isCompleted },on:{\"click\":function($event){return _vm.handleTaskClick(task)}}},[_c('feather-icon',{staticClass:\"draggable-task-handle d-inline\",attrs:{\"icon\":\"MoreVerticalIcon\"}}),_c('div',{staticClass:\"todo-title-wrapper\"},[_c('div',{staticClass:\"todo-title-area\"},[_c('div',{staticClass:\"title-wrapper\"},[_c('b-form-checkbox',{attrs:{\"checked\":task.isCompleted},on:{\"change\":function($event){return _vm.updateTaskIsCompleted(task)}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}}),_c('span',{staticClass:\"todo-title\"},[_vm._v(_vm._s(task.description))])],1)]),_c('div',{staticClass:\"todo-item-action\"},[_c('div',{staticClass:\"badge-wrapper mr-1\"},_vm._l((task.tags),function(tag){return _c('b-badge',{key:tag,staticClass:\"text-capitalize\",attrs:{\"pill\":\"\",\"variant\":(\"light-\" + (_vm.resolveTagVariant(tag)))}},[_vm._v(\" \"+_vm._s(tag)+\" \")])}),1),(task.assignee)?_c('b-avatar',{attrs:{\"size\":\"32\",\"src\":task.assignee,\"text\":_vm.avatarText(task.assignee)}}):_c('b-avatar',{attrs:{\"size\":\"32\",\"variant\":\"light-secondary\"}},[_c('feather-icon',{attrs:{\"icon\":\"UserIcon\",\"size\":\"16\"}})],1)],1)])],1)}),0),_c('div',{staticClass:\"no-results\",class:{ 'show': !_vm.tasks.length }},[_c('h5',[_vm._v(\"Ажил олдсонгүй\")])])],1)],1),_c('todo-task-handler-sidebar',{attrs:{\"task\":_vm.task,\"clear-task-data\":_vm.clearTaskData},on:{\"remove-task\":_vm.removeTask,\"add-task\":_vm.addTask,\"update-task\":_vm.updateTask},model:{value:(_vm.isTaskHandlerSidebarActive),callback:function ($$v) {_vm.isTaskHandlerSidebarActive=$$v},expression:\"isTaskHandlerSidebarActive\"}}),_c('todo-task-edit',{attrs:{\"task\":_vm.task,\"lists\":_vm.lists,\"clear-task-data\":_vm.clearTaskData},on:{\"update-task\":_vm.updateTask,\"re-fetch-task\":_vm.reFetchTask},model:{value:(_vm.isTaskHandlerModalActive),callback:function ($$v) {_vm.isTaskHandlerModalActive=$$v},expression:\"isTaskHandlerModalActive\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-left\"},[_c('div',{staticClass:\"sidebar\"},[_c('div',{staticClass:\"sidebar-content todo-sidebar\"},[_c('div',{staticClass:\"todo-app-menu\"},[_c('div',{staticClass:\"add-task\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){_vm.$emit('update:is-task-handler-sidebar-active', true); _vm.$emit('close-left-sidebar')}}},[_vm._v(\" Ажил нэмэх \")])],1),_c('vue-perfect-scrollbar',{staticClass:\"sidebar-menu-list scroll-area\",attrs:{\"settings\":_vm.perfectScrollbarSettings}},[_c('b-list-group',{staticClass:\"list-group-filters\"},_vm._l((_vm.taskFilters),function(filter){return _c('b-list-group-item',{key:filter.title + _vm.$route.path,attrs:{\"to\":filter.route,\"active\":_vm.isDynamicRouteActive(filter.route)},on:{\"click\":function($event){return _vm.$emit('close-left-sidebar')}}},[_c('feather-icon',{staticClass:\"mr-75\",attrs:{\"icon\":filter.icon,\"size\":\"18\"}}),_c('span',{staticClass:\"align-text-bottom line-height-1\"},[_vm._v(_vm._s(filter.title))])],1)}),1)],1)],1)])])])}\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!./TodoLeftSidebar.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!./TodoLeftSidebar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TodoLeftSidebar.vue?vue&type=template&id=35da5368\"\nimport script from \"./TodoLeftSidebar.vue?vue&type=script&lang=js\"\nexport * from \"./TodoLeftSidebar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\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!./TodoList.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!./TodoList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TodoList.vue?vue&type=template&id=9c81ef60&scoped=true\"\nimport script from \"./TodoList.vue?vue&type=script&lang=js\"\nexport * from \"./TodoList.vue?vue&type=script&lang=js\"\nimport style0 from \"./TodoList.vue?vue&type=style&index=0&id=9c81ef60&prod&lang=scss&scoped=true\"\nimport style1 from \"./TodoList.vue?vue&type=style&index=1&id=9c81ef60&prod&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 \"9c81ef60\",\n null\n \n)\n\nexport default component.exports","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","'use strict';\n\nfunction assign(obj) {\n var arguments$1 = arguments;\n\n for (var i = 1; i < arguments.length; i++) {\n // eslint-disable-next-line guard-for-in, prefer-rest-params\n for (var p in arguments[i]) { obj[p] = arguments$1[i][p]; }\n }\n return obj\n}\n\nvar index = {\n functional: true,\n props: {\n code: {\n type: String\n },\n inline: {\n type: Boolean,\n default: false\n },\n language: {\n type: String,\n default: 'markup'\n }\n },\n render: function render(h, ctx) {\n var code =\n ctx.props.code ||\n (ctx.children && ctx.children.length > 0 ? ctx.children[0].text : '');\n var inline = ctx.props.inline;\n var language = ctx.props.language;\n var prismLanguage = Prism.languages[language];\n var className = \"language-\" + language;\n\n if (process.env.NODE_ENV === 'development' && !prismLanguage) {\n throw new Error(\n (\"Prism component for language \\\"\" + language + \"\\\" was not found, did you forget to register it? See all available ones: https://cdn.jsdelivr.net/npm/prismjs/components/\")\n )\n }\n\n if (inline) {\n return h(\n 'code',\n assign({}, ctx.data, {\n class: [ctx.data.class, className],\n domProps: assign({}, ctx.data.domProps, {\n innerHTML: Prism.highlight(code, prismLanguage)\n })\n })\n )\n }\n\n return h(\n 'pre',\n assign({}, ctx.data, {\n class: [ctx.data.class, className]\n }),\n [\n h('code', {\n class: className,\n domProps: {\n innerHTML: Prism.highlight(code, prismLanguage)\n }\n })\n ]\n )\n }\n};\n\nmodule.exports = index;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\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 { Vue } 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 { 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__*/Vue.extend({\n name: NAME_POPPER,\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.$parent.$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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue } 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__*/Vue.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.$parent.$parent.$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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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, Vue } 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 { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\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 { 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__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\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.$parent) {\n this.$parent.$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.$parent); // 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 = new Template({\n parent: this,\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 showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.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 hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.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 looses 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 $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\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 var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\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.$root[on ? '$on' : '$off'](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.$root || !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 if (target.__vue__) {\n target.__vue__[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});","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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 { Vue } from '../../vue';\nimport { NAME_FORM_SPINBUTTON } from '../../constants/components';\nimport { EVENT_NAME_CHANGE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_PAGEUP, CODE_UP, CODE_PAGEDOWN } from '../../constants/key-codes';\nimport { SLOT_NAME_DECREMENT, SLOT_NAME_INCREMENT } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { eventOnOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isNull } from '../../utils/inspect';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { mathFloor, mathMax, mathPow, mathRound } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toFloat, toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formControlProps } from '../../mixins/form-control';\nimport { BIconPlus, BIconDash } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n // Should this really be String, to match native number inputs?\n type: PROP_TYPE_BOOLEAN_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Default for spin button range and step\n\n\nvar DEFAULT_MIN = 1;\nvar DEFAULT_MAX = 100;\nvar DEFAULT_STEP = 1; // Delay before auto-repeat in ms\n\nvar DEFAULT_REPEAT_DELAY = 500; // Repeat interval in ms\n\nvar DEFAULT_REPEAT_INTERVAL = 100; // Repeat rate increased after number of repeats\n\nvar DEFAULT_REPEAT_THRESHOLD = 10; // Repeat speed multiplier (step multiplier, must be an integer)\n\nvar DEFAULT_REPEAT_MULTIPLIER = 4;\nvar KEY_CODES = [CODE_UP, CODE_DOWN, CODE_HOME, CODE_END, CODE_PAGEUP, CODE_PAGEDOWN]; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), omit(formControlProps, ['required', 'autofocus'])), formSizeProps), formStateProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n formatterFn: makeProp(PROP_TYPE_FUNCTION),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n labelDecrement: makeProp(PROP_TYPE_STRING, 'Decrement'),\n labelIncrement: makeProp(PROP_TYPE_STRING, 'Increment'),\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MAX),\n min: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MIN),\n placeholder: makeProp(PROP_TYPE_STRING),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n repeatDelay: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_DELAY),\n repeatInterval: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_INTERVAL),\n repeatStepMultiplier: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_MULTIPLIER),\n repeatThreshold: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_THRESHOLD),\n step: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_STEP),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false),\n wrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_FORM_SPINBUTTON); // --- Main Component ---\n// @vue/component\n\nexport var BFormSpinbutton = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_SPINBUTTON,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin, formSizeMixin, formStateMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localValue: toFloat(this[MODEL_PROP_NAME], null),\n hasFocus: false\n };\n },\n computed: {\n spinId: function spinId() {\n return this.safeId();\n },\n computedInline: function computedInline() {\n return this.inline && !this.vertical;\n },\n computedReadonly: function computedReadonly() {\n return this.readonly && !this.disabled;\n },\n computedRequired: function computedRequired() {\n return this.required && !this.computedReadonly && !this.disabled;\n },\n computedStep: function computedStep() {\n return toFloat(this.step, DEFAULT_STEP);\n },\n computedMin: function computedMin() {\n return toFloat(this.min, DEFAULT_MIN);\n },\n computedMax: function computedMax() {\n // We round down to the nearest maximum step value\n var max = toFloat(this.max, DEFAULT_MAX);\n var step = this.computedStep;\n var min = this.computedMin;\n return mathFloor((max - min) / step) * step + min;\n },\n computedDelay: function computedDelay() {\n var delay = toInteger(this.repeatDelay, 0);\n return delay > 0 ? delay : DEFAULT_REPEAT_DELAY;\n },\n computedInterval: function computedInterval() {\n var interval = toInteger(this.repeatInterval, 0);\n return interval > 0 ? interval : DEFAULT_REPEAT_INTERVAL;\n },\n computedThreshold: function computedThreshold() {\n return mathMax(toInteger(this.repeatThreshold, DEFAULT_REPEAT_THRESHOLD), 1);\n },\n computedStepMultiplier: function computedStepMultiplier() {\n return mathMax(toInteger(this.repeatStepMultiplier, DEFAULT_REPEAT_MULTIPLIER), 1);\n },\n computedPrecision: function computedPrecision() {\n // Quick and dirty way to get the number of decimals\n var step = this.computedStep;\n return mathFloor(step) === step ? 0 : (step.toString().split('.')[1] || '').length;\n },\n computedMultiplier: function computedMultiplier() {\n return mathPow(10, this.computedPrecision || 0);\n },\n valueAsFixed: function valueAsFixed() {\n var value = this.localValue;\n return isNull(value) ? '' : value.toFixed(this.computedPrecision);\n },\n computedLocale: function computedLocale() {\n var locales = concat(this.locale).filter(identity);\n var nf = new Intl.NumberFormat(locales);\n return nf.resolvedOptions().locale;\n },\n computedRTL: function computedRTL() {\n return isLocaleRTL(this.computedLocale);\n },\n defaultFormatter: function defaultFormatter() {\n // Returns and `Intl.NumberFormat` formatter method reference\n var precision = this.computedPrecision;\n var nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: precision,\n maximumFractionDigits: precision,\n notation: 'standard'\n }); // Return the format method reference\n\n return nf.format;\n },\n computedFormatter: function computedFormatter() {\n var formatterFn = this.formatterFn;\n return hasPropFunction(formatterFn) ? formatterFn : this.defaultFormatter;\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'group',\n lang: this.computedLocale,\n tabindex: this.disabled ? null : '-1',\n title: this.ariaLabel\n });\n },\n computedSpinAttrs: function computedSpinAttrs() {\n var spinId = this.spinId,\n value = this.localValue,\n required = this.computedRequired,\n disabled = this.disabled,\n state = this.state,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n return _objectSpread(_objectSpread({\n dir: this.computedRTL ? 'rtl' : 'ltr'\n }, this.bvAttrs), {}, {\n id: spinId,\n role: 'spinbutton',\n tabindex: disabled ? null : '0',\n 'aria-live': 'off',\n 'aria-label': this.ariaLabel || null,\n 'aria-controls': this.ariaControls || null,\n // TODO: May want to check if the value is in range\n 'aria-invalid': state === false || !hasValue && required ? 'true' : null,\n 'aria-required': required ? 'true' : null,\n // These attrs are required for role spinbutton\n 'aria-valuemin': toString(this.computedMin),\n 'aria-valuemax': toString(this.computedMax),\n // These should be `null` if the value is out of range\n // They must also be non-existent attrs if the value is out of range or `null`\n 'aria-valuenow': hasValue ? value : null,\n 'aria-valuetext': hasValue ? computedFormatter(value) : null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (value) {\n this.localValue = toFloat(value, null);\n }), _defineProperty(_watch, \"localValue\", function localValue(value) {\n this.$emit(MODEL_EVENT_NAME, value);\n }), _defineProperty(_watch, \"disabled\", function disabled(_disabled) {\n if (_disabled) {\n this.clearRepeat();\n }\n }), _defineProperty(_watch, \"readonly\", function readonly(_readonly) {\n if (_readonly) {\n this.clearRepeat();\n }\n }), _watch),\n created: function created() {\n // Create non reactive properties\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n this.$_keyIsDown = false;\n },\n beforeDestroy: function beforeDestroy() {\n this.clearRepeat();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.clearRepeat();\n },\n methods: {\n // --- Public methods ---\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.spinner);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.spinner);\n }\n },\n // --- Private methods ---\n emitChange: function emitChange() {\n this.$emit(EVENT_NAME_CHANGE, this.localValue);\n },\n stepValue: function stepValue(direction) {\n // Sets a new incremented or decremented value, supporting optional wrapping\n // Direction is either +1 or -1 (or a multiple thereof)\n var value = this.localValue;\n\n if (!this.disabled && !isNull(value)) {\n var step = this.computedStep * direction;\n var min = this.computedMin;\n var max = this.computedMax;\n var multiplier = this.computedMultiplier;\n var wrap = this.wrap; // We ensure that the value steps like a native input\n\n value = mathRound((value - min) / step) * step + min + step; // We ensure that precision is maintained (decimals)\n\n value = mathRound(value * multiplier) / multiplier; // Handle if wrapping is enabled\n\n this.localValue = value > max ? wrap ? min : max : value < min ? wrap ? max : min : value;\n }\n },\n onFocusBlur: function onFocusBlur(event) {\n if (!this.disabled) {\n this.hasFocus = event.type === 'focus';\n } else {\n this.hasFocus = false;\n }\n },\n stepUp: function stepUp() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.computedMin;\n } else {\n this.stepValue(+1 * multiplier);\n }\n },\n stepDown: function stepDown() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.wrap ? this.computedMax : this.computedMin;\n } else {\n this.stepValue(-1 * multiplier);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n // https://w3c.github.io/aria-practices/#spinbutton\n stopEvent(event, {\n propagation: false\n });\n /* istanbul ignore if */\n\n if (this.$_keyIsDown) {\n // Keypress is already in progress\n return;\n }\n\n this.resetTimers();\n\n if (arrayIncludes([CODE_UP, CODE_DOWN], keyCode)) {\n // The following use the custom auto-repeat handling\n this.$_keyIsDown = true;\n\n if (keyCode === CODE_UP) {\n this.handleStepRepeat(event, this.stepUp);\n } else if (keyCode === CODE_DOWN) {\n this.handleStepRepeat(event, this.stepDown);\n }\n } else {\n // These use native OS key repeating\n if (keyCode === CODE_PAGEUP) {\n this.stepUp(this.computedStepMultiplier);\n } else if (keyCode === CODE_PAGEDOWN) {\n this.stepDown(this.computedStepMultiplier);\n } else if (keyCode === CODE_HOME) {\n this.localValue = this.computedMin;\n } else if (keyCode === CODE_END) {\n this.localValue = this.computedMax;\n }\n }\n }\n },\n onKeyup: function onKeyup(event) {\n // Emit a change event when the keyup happens\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.$_keyIsDown = false;\n this.emitChange();\n }\n },\n handleStepRepeat: function handleStepRepeat(event, stepper) {\n var _this = this;\n\n var _ref = event || {},\n type = _ref.type,\n button = _ref.button;\n\n if (!this.disabled && !this.readonly) {\n /* istanbul ignore if */\n if (type === 'mousedown' && button) {\n // We only respond to left (main === 0) button clicks\n return;\n }\n\n this.resetTimers(); // Step the counter initially\n\n stepper(1);\n var threshold = this.computedThreshold;\n var multiplier = this.computedStepMultiplier;\n var delay = this.computedDelay;\n var interval = this.computedInterval; // Initiate the delay/repeat interval\n\n this.$_autoDelayTimer = setTimeout(function () {\n var count = 0;\n _this.$_autoRepeatTimer = setInterval(function () {\n // After N initial repeats, we increase the incrementing step amount\n // We do this to minimize screen reader announcements of the value\n // (values are announced every change, which can be chatty for SR users)\n // And to make it easer to select a value when the range is large\n stepper(count < threshold ? 1 : multiplier);\n count++;\n }, interval);\n }, delay);\n }\n },\n onMouseup: function onMouseup(event) {\n // `` listener, only enabled when mousedown starts\n var _ref2 = event || {},\n type = _ref2.type,\n button = _ref2.button;\n /* istanbul ignore if */\n\n\n if (type === 'mouseup' && button) {\n // Ignore non left button (main === 0) mouse button click\n return;\n }\n\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.setMouseup(false); // Trigger the change event\n\n this.emitChange();\n },\n setMouseup: function setMouseup(on) {\n // Enable or disabled the body mouseup/touchend handlers\n // Use try/catch to handle case when called server side\n try {\n eventOnOff(on, document.body, 'mouseup', this.onMouseup, false);\n eventOnOff(on, document.body, 'touchend', this.onMouseup, false);\n } catch (_unused) {}\n },\n resetTimers: function resetTimers() {\n clearTimeout(this.$_autoDelayTimer);\n clearInterval(this.$_autoRepeatTimer);\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n },\n clearRepeat: function clearRepeat() {\n this.resetTimers();\n this.setMouseup(false);\n this.$_keyIsDown = false;\n }\n },\n render: function render(h) {\n var _this2 = this;\n\n var spinId = this.spinId,\n value = this.localValue,\n inline = this.computedInline,\n readonly = this.computedReadonly,\n vertical = this.vertical,\n disabled = this.disabled,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n\n var makeButton = function makeButton(stepper, label, IconCmp, keyRef, shortcut, btnDisabled, slotName) {\n var $icon = h(IconCmp, {\n props: {\n scale: _this2.hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n var scope = {\n hasFocus: _this2.hasFocus\n };\n\n var handler = function handler(event) {\n if (!disabled && !readonly) {\n stopEvent(event, {\n propagation: false\n });\n\n _this2.setMouseup(true); // Since we `preventDefault()`, we must manually focus the button\n\n\n attemptFocus(event.currentTarget);\n\n _this2.handleStepRepeat(event, stepper);\n }\n };\n\n return h('button', {\n staticClass: 'btn btn-sm border-0 rounded-0',\n class: {\n 'py-0': !vertical\n },\n attrs: {\n tabindex: '-1',\n type: 'button',\n disabled: disabled || readonly || btnDisabled,\n 'aria-disabled': disabled || readonly || btnDisabled ? 'true' : null,\n 'aria-controls': spinId,\n 'aria-label': label || null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: {\n mousedown: handler,\n touchstart: handler\n },\n key: keyRef || null,\n ref: keyRef\n }, [_this2.normalizeSlot(slotName, scope) || $icon]);\n }; // TODO: Add button disabled state when `wrap` is `false` and at value max/min\n\n\n var $increment = makeButton(this.stepUp, this.labelIncrement, BIconPlus, 'inc', 'ArrowUp', false, SLOT_NAME_INCREMENT);\n var $decrement = makeButton(this.stepDown, this.labelDecrement, BIconDash, 'dec', 'ArrowDown', false, SLOT_NAME_DECREMENT);\n var $hidden = h();\n\n if (this.name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: this.name,\n form: this.form || null,\n // TODO: Should this be set to '' if value is out of range?\n value: this.valueAsFixed\n },\n key: 'hidden'\n });\n }\n\n var $spin = h( // We use 'output' element to make this accept a `