{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./src/@core/comp-functions/ui/app.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?3be0","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?3fc5","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/bootstrap-vue/esm/components/list-group/list-group.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./src/views/apps/excerpt/excerptStoreModule.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./src/views/apps/excerpt/useDownloads.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./src/views/apps/e-commerce/e-commerce-orders/EmailCompose.vue?ee61","webpack:///./src/views/apps/e-commerce/e-commerce-orders/EmailCompose.vue?d6be","webpack:///./node_modules/quill/dist/quill.js","webpack:///./src/views/apps/e-commerce/e-commerce-orders/Orders.vue?7794","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderLeftSidebar.vue?86f0","webpack:///src/views/apps/e-commerce/e-commerce-orders/OrderLeftSidebar.vue","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderLeftSidebar.vue?f86a","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderLeftSidebar.vue","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderView.vue?b766","webpack:///./src/views/apps/e-commerce/e-commerce-orders/useOrders.js","webpack:///src/views/apps/e-commerce/e-commerce-orders/OrderView.vue","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderView.vue?9334","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderView.vue?73cf","webpack:///./src/views/apps/e-commerce/e-commerce-orders/ordersStoreModule.js","webpack:///./src/views/apps/e-commerce/e-commerce-orders/EmailCompose.vue?83e7","webpack:///src/views/apps/excerpt/excerpt-search/EmailCompose.vue","webpack:///./src/views/apps/e-commerce/e-commerce-orders/EmailCompose.vue?7900","webpack:///./src/views/apps/e-commerce/e-commerce-orders/EmailCompose.vue","webpack:///src/views/apps/e-commerce/e-commerce-orders/Orders.vue","webpack:///./src/views/apps/e-commerce/e-commerce-orders/Orders.vue?cdf4","webpack:///./src/views/apps/e-commerce/e-commerce-orders/Orders.vue","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:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/vue-perfect-scrollbar/dist/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6534","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./src/views/apps/e-commerce/e-commerce-orders/OrderView.vue?57ab","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/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","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:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/views/apps/e-commerce/e-commerce-orders/Orders.vue?fe8b","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","parseSpan","spanValidator","props","colspan","rowspan","stackedHeading","stickyColumn","variant","BTd","extend","name","mixins","inject","bvTableTr","default","inheritAttrs","computed","tag","inTbody","this","inThead","inTfoot","isDark","isStacked","isStackedCell","isResponsive","isStickyHeader","hasStickyHeader","isStickyColumn","rowVariant","headVariant","footVariant","tableVariant","computedColspan","computedRowspan","cellClasses","concat","cellAttrs","headOrFoot","role","scope","bvAttrs","render","h","$content","normalizeSlot","class","attrs","on","bvListeners","fails","wellKnownSymbol","IS_PURE","ITERATOR","module","exports","url","URL","searchParams","result","pathname","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","undefined","id","inline","novalidate","validated","BForm","functional","_ref","data","children","useResponsiveAppLeftSidebarVisibility","mqShallShowLeftSidebar","ref","currentBreakPoint","store","getters","watch","val","oldVal","_vm","_h","$createElement","_c","_self","staticClass","icon","domProps","_s","title","_e","text","$event","$emit","hideClose","staticRenderFns","components","BAvatar","type","Boolean","component","BTfoot","provide","bvTableRowGroup","bvTable","isTfoot","dark","stickyHeader","tfootClasses","tfootAttrs","bottomRowMixin","methods","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","newValue","oldValue","stopIfBusy","event","renderBusy","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","html","stringifyObjectValues","map","k","v","join","row","ignoreFields","includeFields","fieldsObj","formattedRow","reduce","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","_this","timeout","setTimeout","created","_this2","$nextTick","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","currentPage","perPage","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","ctx","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","f","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","BTable","LIGHT","DARK","BTr","isTbody","isThead","isRowDark","trClasses","trAttrs","EOF","$","DESCRIPTORS","USE_NATIVE_URL","global","redefine","anInstance","has","assign","arrayFrom","codeAt","toASCII","setToStringTag","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","set","getInternalURLState","getterFor","floor","Math","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","charAt","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","number","ipv4","parts","split","pop","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","toLowerCase","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","port","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","that","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","output","error","accessorDescriptor","getter","setter","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","forced","sham","flush","horizontal","BListGroup","componentData","hasListenerMixin","hasListener","$listeners","$events","_events","noBody","rightAlign","verticalAlign","BMedia","slots","scopedSlots","$children","slotScope","$slots","$scopedSlots","$aside","right","namespaced","mutations","actions","fetchExcerpts","queryParams","Promise","resolve","reject","axios","endpoint","params","response","catch","fetchExcerpt","fetchXmlExcerpt","fetchMultyXmlExcerpt","idds","post","fetchClients","BInputGroupPrepend","append","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","listeners","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","$parent","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","label","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$rows","detailsId","safeId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","$el","trs","tr","getTbodyTrIndex","el","tagName","indexOf","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","cache","defaultSlotName","lowercaseSlotName","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","isText","BInputGroupAddon","stackedMixin","isStackedAlways","stackedTableClasses","useDownloads","EXCERPT_APP_STORE_MODULE_NAME","hasModule","registerModule","excerptStoreModule","toast","useToast","types","download","fileUrl","fileName","document","createElement","setAttribute","remove","window","webkitURL","XMLSingleDownload","fileTypeId","includes","dispatch","Blob","link","body","appendChild","removeChild","ToastificationContent","position","XMLMultyDownload","commit","sp","Data","zipPath","origFields","sample","memo","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","itemsMixin","appendHtml","prepend","prependHtml","size","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","counter","charCodeAt","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","BTh","extends","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","small","tableClass","tableRendererMixin","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderColgroup","renderThead","renderTfoot","$table","style","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","BMediaAside","align","BMediaBody","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","root","factory","self","modules","installedModules","__webpack_require__","moduleId","l","c","d","__esModule","property","hasOwnProperty","p","s","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","find","register","Container","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","setPrototypeOf","__proto__","__","ParchmentError","_super","Error","attributes","classes","tags","match","BlotClass","node","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","TYPE","Definitions","_i","Definition","blotName","attrName","keyName","className","toUpperCase","tagNames","diff","op","NULL_CHARACTER","Delta","ops","insert","newOp","retain","lastOp","splice","chop","predicate","partition","passed","failed","initial","changeLength","elem","delete","start","end","Infinity","hasNext","nextOp","next","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","min","thisOp","otherOp","rest","strings","prep","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","priority","transformPosition","offset","nextType","hasOwn","toStr","gOPD","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","options","getProperty","src","copy","copyIsArray","clone","BlockEmbed","bubbleFormats","_createClass","descriptor","Constructor","protoProps","staticProps","_get","receiver","Function","desc","parent","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","formats","values","attribute","BLOCK_ATTRIBUTE","format","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","descendants","leaf","lines","tail","head","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_typeof","_slicedToArray","sliceIterator","_arr","_n","_d","done","err","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","debug","Quill","container","innerHTML","trim","classList","add","__quill","addContainer","scrollingContainer","emitter","scroll","whitelist","editor","selection","theme","keyboard","addModule","clipboard","history","init","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","range","lastRange","modify","update","contents","convert","setContents","clear","placeholder","readOnly","disable","limit","level","imports","overwrite","startsWith","refNode","setRange","_overload","_overload2","deleteText","enable","enabled","scrollTop","focus","scrollIntoView","_this4","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","height","left","width","getLength","_overload7","_overload8","getContents","getFormat","Number","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","config","moduleNames","moduleConfig","moduleClass","toolbar","querySelector","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","args","emit","_map","pos","_map2","_map3","max","_map4","version","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","addEventListener","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","log","_len2","_key2","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","quill","levels","_console","console","namespace","ns","logger","bind","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","Date","getTime","objEquiv","isUndefinedOrNull","isBuffer","x","ka","kb","attributeBit","ATTRIBUTE","canAdd","removeAttribute","Code","_block","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","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","image","list","bullet","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","_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","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","_a","lengthLeft","detach","childBlot","refBlot","insertInto","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","__isArray","__isRegExp","__getRegExpFlags","__isDate","allocUnsafe","keyChild","valueChild","entryChild","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","ignoreCase","multiline","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","handleEnter","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_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","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","element","Picker","select","buildPicker","display","togglePicker","escape","option","hasAttribute","selectItem","buildItem","buildLabel","buildOptions","close","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","matches","camelize","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","timestamp","now","delay","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","video","_Tooltip","boundsContainer","save","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","LinkedList","nodes","cur","curNode","callback","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","token","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","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","y","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","j","best_common","prefixLength","hm1","hm2","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","str","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","Events","EE","EventEmitter","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","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","selector","matcher","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","marginTop","marginBottom","offsetTop","fontStyle","italic","fontWeight","bold","textIndent","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","group","control","addSelect","clean","direction","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_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","highlight","timer","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","staticStyle","searchQuery","updateRouteQuery","selectAllEmailCheckbox","isSelectAllEmailCheckboxIndeterminate","selectAllCheckboxUpdate","_v","selectedEmails","perfectScrollbarSettings","_l","email","isRead","updateEmailViewData","toggleSelectedMail","stopPropagation","resolveLabelColor","dateCreate","toLocaleString","GetColorByDate","toLocaleDateString","cntByeFiles","costByeFiles","cntFiles","cost","emails","showEmailDetails","kadViewData","opendedEmailMeta","selectedKadDetail","moveOpenEmailToFolder","toggleStarred","updateOpenEmailLabel","markOpenEmailAsUnread","changeOpenedEmail","shallShowEmailComposeModal","emailsMeta","model","$$v","expression","directives","rawName","modifiers","$route","isDynamicRouteActive","route","GoToRoute","Ripple","BButton","BListGroupItem","VuePerfectScrollbar","required","setup","maxScrollbarLength","rout","$router","resolveFilterBadgeColor","emailFilters","emailLabel","$store","appConfig","isRTL","emailViewData","kad","toLocaleTimeString","selectedFiles","_u","proxy","selectFilesFolder","hasPreviousEmail","hasNextEmail","showWholeThread","replies","selectAllFilesCheckbox","isSelectAllFilesCheckboxIndeterminate","tableColumns","isSortDirDesc","isSelectFiles","idFile","toggleSelectedFile","status","avatar","avatarText","client","resolveClientAvatarVariant","excerptStatus","companyEmail","GetFileOrderStatusDesc","color","fileType","useEmail","BDropdown","BDropdownItem","BRow","BCol","BBadge","BCard","BLink","BFormCheckbox","totalDays","ShopFile","RemoveFile","isCart","AddSelectedToCart","RemoveSelectedFromCart","fetchEmails","payload","fetchOrdersSearch","updateEmail","fetchOrderFiles","updateEmailLabels","paginateEmail","discardEmail","sendEmail","emailToOptions","composeData","showCcField","showBccField","editorOption","BFormInput","BDropdownDivider","quillEditor","vSelect","OrderLeftSidebar","OrderView","EmailCompose","intervalSearch","clearInterval","intervalUpdateRouteQuery","currentRouteQuery","router","folder","currentRoute","mailIndex","mailId","emailIds","dataToUpdate","isStarred","openedEmailIndex","idOrder","kadInfo","moveSelectedEmailsToFolder","updateSelectedEmailsLabel","labelIndex","markSelectedEmailsAsUnread","newEmailIndex","filterTags","formatDateToMonthShort","r","u","install","globalOptions","boundary","script","background","font","_options","_content","defaultOptions","content","disabled","initialize","pasteHTML","setText","_compiled","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","beforeCreate","_injectStyles","esModule","_t","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","visible","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","deactivated","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","placement","popperConfig","flip","boundariesElement","preventOverflow","isOpen","$root","rootCloseListener","vm","refocus","$once","_event","onMousedown","propagation","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","up","getItems","focusItem","getBuiltIn","redefineAll","createIteratorConstructor","classof","anObject","isObject","createPropertyDescriptor","getIterator","getIteratorMethod","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","bytes","percentDecode","sequence","decodeURIComponent","deserialize","it","serialize","parseSearchParams","entry","entries","validateArgumentsLength","URLSearchParamsIterator","kind","step","URLSearchParamsConstructor","iteratorMethod","entryIterator","entryNext","URLSearchParamsPrototype","getAll","found","entriesIndex","sliceIndex","boundFunction","fetch","headers","settings","tagname","ps","__init","__uninit","$isServer","updated","activated","w","Y","scrolling","isAlive","scrollingThreshold","CustomEvent","initCustomEvent","reach","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","unbind","ownerDocument","Element","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","main","thumb","rail","consuming","active","X","W","isEmpty","unbindAll","eventElements","eventElement","L","R","isWebKit","documentElement","supportsTouch","DocumentTouch","supportsIePointer","msMaxTouchPoints","isChrome","clientWidth","containerHeight","clientHeight","scrollWidth","contentHeight","scrollHeight","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXMarginWidth","railXRatio","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYMarginHeight","railYRatio","S","pageY","pageYOffset","pageX","pageXOffset","H","E","wheelPropagation","isDefaultPrevented","contentDocument","shadowRoot","M","abs","deltaX","deltaY","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","overflow","overflowX","overflowY","useBothWheelAxes","wheelSpeed","onwheel","onmousewheel","scrollY","targetTouches","pointerType","MSPOINTER_TYPE_MOUSE","swipeEasing","setInterval","isInitialized","PointerEvent","MSPointerEvent","A","P","wheel","touch","C","nodeName","isNegativeScroll","isNaN","marginRight","borderTopWidth","borderBottomWidth","lastScrollTop","lastScrollLeft","onScroll","removePsClasses","_g","refs","css","media","sourceMap","firstChild","singleton","styleSheet","cssText","btoa","unescape","JSON","stringify","getElementsByTagName","DEBUG","locals","linkClass","computedAttrs","closeDropdown","onClick","plain","formCustomMixin","custom","TABLE_TAG_NAMES","filterEvent","labelFor","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","_objectSpread2","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","bvGroup","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","$input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","isGroup","BInputGroupAppend","textSelectionActive","sel","containsNode","BInputGroupText","actionTags","linkProps","to","action","_class","itemProps","_methods","ariaLabelledby","buttonVariant","formRadioCheckMixin","isBtnMode","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","form","computedSize","computedState","computedButtonVariant","buttonClasses","stateClass","handleFocus","$button","$label","for","colgroupMixin","$colgroup","lazy","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","$toggle","mousedown","$menu","findIconComponent","iconName","$options","iconComponent","BIcon","CLASS_NAME","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","alt","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","buttonType","rounded","square","bvAvatarGroup","localSrc","computedVariant","computedRounded","fontSize","marginStyle","overlapScale","badgeStyle","onImgError","_class2","$badge","hasBadgeSlot","badgeText","pill"],"mappings":"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","file":"js/chunk-752cef14.5c1a8f88.js","sourcesContent":["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_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\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 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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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&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 { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _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 { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\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\nimport { Vue } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\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_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { 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});","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\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 children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","import axios from '@axios'\nimport { endpoint } from '@/@core/endpoint'\n\nexport default {\n namespaced: true,\n state: {},\n getters: {},\n mutations: {},\n actions: {\n fetchExcerpts(ctx, queryParams) {\n return new Promise((resolve, reject) => {\n axios\n .get(`${endpoint()}/excerpt/list`, { params: queryParams })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchExcerpt(ctx, { id }) {\n return new Promise((resolve, reject) => {\n axios\n .get(`${endpoint()}/excerpt/get/${id}`)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchXmlExcerpt(ctx, { id }) {\n return new Promise((resolve, reject) => {\n axios\n .get(`${endpoint()}/excerpt/getxml/${id}`)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchMultyXmlExcerpt(ctx, { idds }) {\n return new Promise((resolve, reject) => {\n axios\n .post(`${endpoint()}/excerpt/getallxml`, { idds })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchClients() {\n return new Promise((resolve, reject) => {\n axios\n .get('/apps/excerpt/clients')\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n // addUser(ctx, userData) {\n // return new Promise((resolve, reject) => {\n // axios\n // .post('/apps/user/users', { user: userData })\n // .then(response => resolve(response))\n // .catch(error => reject(error))\n // })\n // },\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\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});","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_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\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\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\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\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","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});","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 } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","/* eslint-disable object-curly-newline */\nimport store from '@/store'\n\n// Notification\nimport { useToast } from 'vue-toastification/composition'\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\nimport { endpoint } from '@/@core/endpoint'\nimport excerptStoreModule from './excerptStoreModule'\n\nexport default function useDownloads() {\n const EXCERPT_APP_STORE_MODULE_NAME = 'app-excerpt'\n\n // Register module\n if (!store.hasModule(EXCERPT_APP_STORE_MODULE_NAME)) store.registerModule(EXCERPT_APP_STORE_MODULE_NAME, excerptStoreModule)\n\n // Use toast\n const toast = useToast()\n const types = [9, 10, 12, 13, 22, 32, 35, 51, 104, 107, 108, 109]\n\n const download = (fileUrl, fileName) => {\n const a = document.createElement('a')\n a.href = fileUrl\n a.setAttribute('download', fileName)\n a.click()\n a.remove()\n }\n\n const createObjectURL = object => ((window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object))\n const revokeObjectURL = object => ((window.URL) ? window.URL.revokeObjectURL(object) : window.webkitURL.revokeObjectURL(object))\n const XMLSingleDownload = (id, fileTypeId) => {\n // console.log(id, fileTypeId)\n if (!fileTypeId || !types.includes(fileTypeId)) {\n toast({\n component: ToastificationContent,\n position: 'top-right',\n props: {\n title: 'Ошибка скачивания XML',\n icon: 'LoginCoffeeIcon',\n variant: 'danger',\n text: 'Для этого файла выгрука не доступна',\n },\n })\n return\n }\n store.dispatch('app-excerpt/fetchXmlExcerpt', { id })\n .then(response => {\n // console.log(response)\n const blob = new Blob([response.data], { type: 'text/xml' })\n // create file link in browser's memory\n const href = createObjectURL(blob)\n\n // create \"a\" HTML element with href to file & click\n const link = document.createElement('a')\n link.href = href\n link.setAttribute('download', `file${id}.xml`) // or any other extension\n document.body.appendChild(link)\n link.click()\n\n // clean up \"a\" element & remove ObjectURL\n document.body.removeChild(link)\n revokeObjectURL(href)\n })\n .catch(() => {\n // console.log(error)\n })\n }\n\n const XMLMultyDownload = idds => {\n store.commit('app-ecommerce/SET_IS_DOWNLOAD', true)\n store.dispatch('app-excerpt/fetchMultyXmlExcerpt', { idds })\n .then(response => {\n // console.log(response)\n const sp = response.data.Data.zipPath.split('/')\n download(`${endpoint()}${response.data.Data.zipPath}`, sp[sp.length - 1])\n store.commit('app-ecommerce/SET_IS_DOWNLOAD', false)\n })\n .catch(() => {\n // console.log(error)\n store.commit('app-ecommerce/SET_IS_DOWNLOAD', false)\n })\n }\n\n return {\n XMLSingleDownload,\n XMLMultyDownload,\n }\n}\n","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\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 { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { 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});","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\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\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\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// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","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_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\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 verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\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 staticClass: 'media-body'\n }), children);\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailCompose.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailCompose.vue?vue&type=style&index=1&id=590d273c&lang=scss&scoped=true&\"","/*!\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 render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"inherit\"}},[_c('div',{staticClass:\"body-content-overlay\",class:{'show': _vm.mqShallShowLeftSidebar},on:{\"click\":function($event){_vm.mqShallShowLeftSidebar = false}}}),_c('div',{staticClass:\"email-app-list\"},[_c('div',{staticClass:\"app-fixed-search d-flex align-items-center\"},[_c('div',{staticClass:\"sidebar-toggle d-block d-lg-none ml-1\"},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":\"MenuIcon\",\"size\":\"21\"},on:{\"click\":function($event){_vm.mqShallShowLeftSidebar = true}}})],1),_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:\"app-action\"},[_c('div',{staticClass:\"action-left\"},[_c('b-form-checkbox',{attrs:{\"checked\":_vm.selectAllEmailCheckbox,\"indeterminate\":_vm.isSelectAllEmailCheckboxIndeterminate},on:{\"change\":_vm.selectAllCheckboxUpdate}},[_vm._v(\" Выбрать все \")])],1),(false && _vm.selectedEmails.length)?_c('div',{staticClass:\"align-items-center\",class:{'d-flex': _vm.selectedEmails.length}},[(_vm.selectedEmails && _vm.selectedEmails.length)?_c('b-dropdown',{staticClass:\"ml-75\",attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"DownloadIcon\",\"size\":\"17\"}}),_vm._v(\" Скачать \")]},proxy:true}],null,false,1707735651)},[(false)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.$emit('update-email-label', 'personal')}}},[_c('span',{staticClass:\"mr-50 bullet bullet-success bullet-sm\"}),_c('span',[_vm._v(\"HTML\")])]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.$emit('update-email-label', 'company')}}},[_c('span',{staticClass:\"mr-50 bullet bullet-primary bullet-sm\"}),_c('span',[_vm._v(\"XML\")])])],1):_vm._e()],1):_vm._e(),(_vm.selectedEmails.length)?_c('div',[_vm._v(\"нет действий\")]):_vm._e()]),_c('vue-perfect-scrollbar',{staticClass:\"email-user-list scroll-area\",attrs:{\"settings\":_vm.perfectScrollbarSettings}},[_c('ul',{staticClass:\"email-media-list\"},_vm._l((_vm.emails),function(email){return _c('b-media',{key:email.id,staticClass:\"py-1\",class:{ 'mail-read': email.isRead },attrs:{\"tag\":\"li\",\"no-body\":\"\"},on:{\"click\":function($event){return _vm.updateEmailViewData(email)}}},[_c('b-media-aside',{staticClass:\"media-left mr-50\"},[_c('feather-icon',{staticClass:\"mb-1\",attrs:{\"size\":\"20\",\"icon\":\"ShoppingBagIcon\"}}),_c('div',{staticClass:\"user-action\"},[_c('b-form-checkbox',{attrs:{\"checked\":_vm.selectedEmails.includes(email.id)},on:{\"change\":function($event){return _vm.toggleSelectedMail(email.id)}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}})],1)],1),_c('b-media-body',[_c('div',{staticClass:\"mail-details\"},[_c('div',{staticClass:\"mail-items\"},[_c('h5',{staticClass:\"mb-25\"},[_vm._v(\" Заказ № \"+_vm._s(email.id)+\" \")])]),_c('div',{staticClass:\"mail-meta-item\"},[_vm._l((email.labels),function(label){return _c('span',{key:label,staticClass:\"mx-50 bullet bullet-sm\",class:(\"bullet-\" + (_vm.resolveLabelColor(label)))})}),_c('span',{staticClass:\"mail-date\"},[_vm._v(\" от \"+_vm._s(new Date(email.dateCreate).toLocaleString())+\" \")])],2)]),_c('div',[_c('p',{staticClass:\"mb-0\"},[_vm._l((email.items),function(item){return _c('span',{key:item.type,staticStyle:{\"margin-right\":\"10px\"}},[_c('feather-icon',{class:'text-' + _vm.GetColorByDate(new Date(item.files[0].dateCreate)),attrs:{\"icon\":item.type + 'Icon'}}),_vm._v(\" \"+_vm._s(item.files.length)+\" - \"+_vm._s(new Date(item.files[0].dateCreate).toLocaleDateString())+\" \")],1)}),_c('span',{staticStyle:{\"margin-right\":\"10px\"}},[_c('feather-icon',{class:'text-success',attrs:{\"icon\":\"CheckSquareIcon\"}}),_vm._v(\" Куплено: \"+_vm._s(email.cntByeFiles)+\" шт. на \"+_vm._s(email.costByeFiles)+\" \"),_c('feather-icon',{attrs:{\"icon\":\"WindIcon\",\"color\":\"red\"}}),_vm._v(\". \")],1),(email.cntFiles != email.cntByeFiles)?_c('span',{staticStyle:{\"margin-right\":\"10px\"}},[_c('feather-icon',{class:email.cntFiles != email.cntByeFiles ? 'text-danger' : 'text-success',attrs:{\"icon\":\"XOctagonIcon\"}}),_vm._v(\" Не удалось купить файлов: \"+_vm._s(email.cntFiles - email.cntByeFiles)+\" шт. на \"+_vm._s(email.cost - email.costByeFiles)+\" \"),_c('feather-icon',{attrs:{\"icon\":\"WindIcon\",\"color\":\"red\"}}),_vm._v(\". \")],1):_vm._e()],2)])])],1)}),1),_c('div',{staticClass:\"no-results\",class:{'show': !_vm.emails.length}},[_c('h5',[_vm._v(\"У Вас ещё нет ни одного заказа, для начала зайдите в Архив и добавьте файлы в корзину\")])])])],1),_c('order-view',{class:{'show': _vm.showEmailDetails},attrs:{\"email-view-data\":_vm.kadViewData,\"opended-email-meta\":_vm.opendedEmailMeta,\"selectedKadDetail\":_vm.selectedKadDetail},on:{\"close-email-view\":function($event){_vm.showEmailDetails = false},\"move-email-to-folder\":_vm.moveOpenEmailToFolder,\"toggle-email-starred\":function($event){return _vm.toggleStarred(_vm.kadViewData)},\"update-email-label\":_vm.updateOpenEmailLabel,\"mark-email-unread\":_vm.markOpenEmailAsUnread,\"change-opened-email\":_vm.changeOpenedEmail}}),_c('portal',{attrs:{\"to\":\"content-renderer-sidebar-left\"}},[_c('order-left-sidebar',{class:{'show': _vm.mqShallShowLeftSidebar},attrs:{\"shall-show-email-compose-modal\":_vm.shallShowEmailComposeModal,\"emails-meta\":_vm.emailsMeta},on:{\"update:shallShowEmailComposeModal\":function($event){_vm.shallShowEmailComposeModal=$event},\"update:shall-show-email-compose-modal\":function($event){_vm.shallShowEmailComposeModal=$event},\"close-left-sidebar\":function($event){_vm.mqShallShowLeftSidebar = false}}})],1),_c('email-compose',{model:{value:(_vm.shallShowEmailComposeModal),callback:function ($$v) {_vm.shallShowEmailComposeModal=$$v},expression:\"shallShowEmailComposeModal\"}})],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 email-app-sidebar\"},[_c('div',{staticClass:\"email-app-menu\"},[_c('div',{staticClass:\"form-group-compose text-center compose-btn\"},[_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\":\"\",\"to\":{ name: 'apps-excerpt-add' }}},[_vm._v(\" Загрузить файлы \")])],1),_c('vue-perfect-scrollbar',{staticClass:\"sidebar-menu-list scroll-area\",attrs:{\"settings\":_vm.perfectScrollbarSettings}},[_c('h6',{staticClass:\"section-label mt-1 mb-1 px-2\"},[_vm._v(\" Отобразить заказы \")]),_c('b-list-group',{staticClass:\"list-group-labels\"},_vm._l((_vm.emailLabel),function(label){return _c('b-list-group-item',{key:label.title + _vm.$route.path,attrs:{\"active\":_vm.isDynamicRouteActive(label.route),\"tag\":\"a\"},on:{\"click\":function($event){_vm.$emit('close-left-sidebar'); _vm.GoToRoute(label.route)}}},[_c('span',{staticClass:\"bullet bullet-sm mr-1\",class:(\"bullet-\" + (label.color))}),_c('span',[_vm._v(_vm._s(label.title))])])}),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--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderLeftSidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderLeftSidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderLeftSidebar.vue?vue&type=template&id=eb9310e4&\"\nimport script from \"./OrderLeftSidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderLeftSidebar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"email-app-details\"},[_c('div',{staticClass:\"email-detail-header\"},[_c('div',{staticClass:\"email-header-left d-flex align-items-center\"},[_c('span',{staticClass:\"go-back mr-1\"},[_c('feather-icon',{staticClass:\"align-bottom\",attrs:{\"icon\":_vm.$store.state.appConfig.isRTL ? 'ChevronRightIcon' : 'ChevronLeftIcon',\"size\":\"20\"},on:{\"click\":function($event){return _vm.$emit('close-email-view')}}})],1),_c('h4',{staticClass:\"email-subject mb-0\"},[_vm._v(\" Заказ № \"+_vm._s(_vm.emailViewData.kad)+\" от \"+_vm._s(new Date( _vm.emailViewData.dateCreate).toLocaleDateString() + \" \" + new Date( _vm.emailViewData.dateCreate).toLocaleTimeString())+\" \")])]),_c('div',{staticClass:\"email-header-right ml-2 pl-1\"},[(_vm.selectedFiles && _vm.selectedFiles.length)?_c('b-dropdown',{staticClass:\"ml-75\",attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"DownloadIcon\",\"size\":\"17\"}}),_vm._v(\" Скачать \")]},proxy:true}],null,false,1707735651)},[(false)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.$emit('update-email-label', 'personal')}}},[_c('span',{staticClass:\"mr-50 bullet bullet-success bullet-sm\"}),_c('span',[_vm._v(\"HTML\")])]):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){$event.preventDefault();return _vm.XMLMultyDownload(_vm.selectFilesFolder)}}},[_c('span',{staticClass:\"mr-50 bullet bullet-primary bullet-sm\"}),_c('span',[_vm._v(\"XML\")])])],1):_vm._e(),_c('feather-icon',{staticClass:\"ml-75 cursor-pointer\",class:{'text-muted pointer-events-none': !_vm.opendedEmailMeta.hasPreviousEmail},attrs:{\"icon\":_vm.$store.state.appConfig.isRTL ? 'ChevronRightIcon' : 'ChevronLeftIcon',\"size\":\"17\"},on:{\"click\":function($event){return _vm.$emit('change-opened-email', 'previous')}}}),_c('feather-icon',{staticClass:\"ml-75 cursor-pointer\",class:{'text-muted pointer-events-none': !_vm.opendedEmailMeta.hasNextEmail},attrs:{\"icon\":_vm.$store.state.appConfig.isRTL ? 'ChevronLeftIcon' : 'ChevronRightIcon',\"size\":\"17\"},on:{\"click\":function($event){return _vm.$emit('change-opened-email', 'next')}}})],1)]),_c('vue-perfect-scrollbar',{staticClass:\"email-scroll-area scroll-area\",attrs:{\"settings\":_vm.perfectScrollbarSettings}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"email-label\"},_vm._l((_vm.emailViewData.labels),function(label){return _c('b-badge',{key:label,staticClass:\"text-capitalize mr-50\",attrs:{\"pill\":\"\",\"variant\":(\"light-\" + (_vm.resolveLabelColor(label)))}},[_vm._v(\" \"+_vm._s(label)+\" \")])}),1)])],1),(!_vm.showWholeThread && _vm.emailViewData.replies && _vm.emailViewData.replies.length)?_c('b-row',{staticClass:\"mb-1\"},[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-link',{staticClass:\"font-weight-bold\",on:{\"click\":function($event){_vm.showWholeThread = true}}},[_vm._v(\" View \"+_vm._s(_vm.emailViewData.replies.length)+\" Earlier Message\"+_vm._s(_vm.emailViewData.replies.length > 1 ? 's' : '')+\" \")])],1)],1):_vm._e(),(_vm.emailViewData && _vm.emailViewData.files && _vm.emailViewData.files.length > 0)?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-card',[_c('div',{staticClass:\"d-flex justify-content-between p-1\"},[_c('b-form-checkbox',{attrs:{\"checked\":_vm.selectAllFilesCheckbox,\"indeterminate\":_vm.isSelectAllFilesCheckboxIndeterminate},on:{\"change\":_vm.selectAllCheckboxUpdate}},[_vm._v(\" Выбрать все \")]),_vm._v(\" Количество файлов: \"+_vm._s(_vm.emailViewData.files.length)+\" \")],1),_c('b-table',{ref:\"refExcerptListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.emailViewData.files,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":\"Нет ни одного файла\",\"sort-desc\":_vm.isSortDirDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.isSortDirDesc=$event},\"update:sort-desc\":function($event){_vm.isSortDirDesc=$event}},scopedSlots:_vm._u([{key:\"head(excerptStatus)\",fn:function(){return [_c('feather-icon',{staticClass:\"mx-auto\",attrs:{\"icon\":\"TrendingUpIcon\"}})]},proxy:true},{key:\"cell(change)\",fn:function(data){return [_c('b-form-checkbox',{attrs:{\"checked\":_vm.isSelectFiles(data.item.idFile)},on:{\"change\":function($event){return _vm.toggleSelectedFile(data.item)}},nativeOn:{\"click\":function($event){$event.stopPropagation();}}})]}},{key:\"cell(idFile)\",fn:function(data){return [_vm._v(\" #\"+_vm._s(data.value)+\" \")]}},{key:\"cell(status)\",fn:function(data){return [_c('b-tooltip',{attrs:{\"target\":(\"excerpt-row-\" + (data.item.id)),\"placement\":\"top\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.item.status)+\" \")])])]}},{key:\"cell(client)\",fn:function(data){return [_c('b-media',{attrs:{\"vertical-align\":\"center\"},scopedSlots:_vm._u([{key:\"aside\",fn:function(){return [_c('b-avatar',{attrs:{\"size\":\"32\",\"src\":data.item.avatar,\"text\":_vm.avatarText(data.item.client.name),\"variant\":(\"light-\" + (_vm.resolveClientAvatarVariant(data.item.excerptStatus)))}})]},proxy:true}],null,true)},[_c('span',{staticClass:\"font-weight-bold d-block text-nowrap\"},[_vm._v(\" \"+_vm._s(data.item.client.name)+\" \")]),_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(data.item.client.companyEmail))])])]}},{key:\"cell(dateCreate)\",fn:function(data){return [_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(new Date(data.value).toLocaleDateString() + \" \" + new Date(data.value).toLocaleTimeString())+\" \")])]}},{key:\"cell(isYou)\",fn:function(data){return [(data.value)?_c('span',{staticClass:\"text-nowrap\"},[_c('span',[_c('b-link',{attrs:{\"target\":\"_blank\",\"href\":'/apps/excerpt/preview/' + data.item.idFile}},[_vm._v(\" Открыть \")]),_vm._v(\" | \"),_c('b-link',{on:{\"click\":function($event){$event.preventDefault();return _vm.XMLSingleDownload(data.item.idFile, data.item.fileTypeId)}}},[_vm._v(\" XML \")])],1)]):_c('span',{staticClass:\"text-danger\"},[_vm._v(\" \"+_vm._s(_vm.GetFileOrderStatusDesc(data.item.status))+\" \")])]}},{key:\"cell(balance)\",fn:function(data){return [(data.value === 0)?[_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":\"light-success\"}},[_vm._v(\" Paid \")])]:[_vm._v(\" \"+_vm._s(data.value)+\" \")]]}},{key:\"cell(actions)\",fn:function(data){return [_c('div',{staticClass:\"text-nowrap\"},[_c('feather-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(data.item.status == 'file-ok'),expression:\"data.item.status == 'file-ok'\"}],staticClass:\"mx-1\",attrs:{\"id\":(\"excerpt-row-\" + (data.item.id) + \"-preview-icon\"),\"icon\":\"EyeIcon\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.$router.push({ name: 'apps-excerpt-preview', params: { id: data.item.id }})}}}),_c('b-tooltip',{attrs:{\"title\":\"Просмотр файла\",\"target\":(\"excerpt-row-\" + (data.item.id) + \"-preview-icon\")}})],1)]}},{key:\"cell(fileType)\",fn:function(data){return [_c('span',{style:({ color: data.item.fileTypeId === 9 || data.item.fileTypeId === 10 ? 'green' : (data.item.fileTypeId === 13 ? 'orange' : 'unset') })},[(data.item.fileType === '109')?_c('span',[_vm._v(\"КПТ\")]):_c('span',[_vm._v(_vm._s(data.item.fileType))]),_vm._v(\" | \"+_vm._s(data.item.fileTypeId)+\" \")])]}}],null,false,99484401)})],1)],1)],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function useEmail() {\n const resolveLabelColor = label => {\n if (label === 'personal') return 'success'\n if (label === 'company') return 'primary'\n if (label === 'important') return 'warning'\n if (label === 'private') return 'danger'\n return 'secondary'\n }\n\n return {\n resolveLabelColor,\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderView.vue?vue&type=template&id=0c2eb44d&\"\nimport script from \"./OrderView.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OrderView.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from '@axios'\nimport { endpoint } from '@/@core/endpoint'\n\nexport default {\n namespaced: true,\n state: {},\n getters: {},\n mutations: {},\n actions: {\n fetchEmails(ctx, payload) {\n const ee = new Promise((resolve, reject) => {\n // console.log('/app/orders/emails', payload)\n axios\n .get('/app/orders/emails', { params: payload })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n // console.log('responce', ee)\n return ee\n },\n fetchOrdersSearch(ctx, payload) {\n return new Promise((resolve, reject) => {\n // console.log('/order/search', payload)\n axios\n .get(`${endpoint()}/order/search`, { params: payload })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n updateEmail(ctx, payload) {\n return new Promise((resolve, reject) => {\n axios\n .post('/app/orders/update-emails', payload)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchOrderFiles(ctx, payload) {\n return new Promise((resolve, reject) => {\n axios\n .get(`${endpoint()}/order/files`, { params: payload })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n updateEmailLabels(ctx, payload) {\n return new Promise((resolve, reject) => {\n axios\n .post('/app/orders/update-emails-label', payload)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n paginateEmail(ctx, payload) {\n return new Promise((resolve, reject) => {\n axios\n .get('/app/orders/paginate-email', { params: payload })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"compose-mail\",\"visible\":_vm.shallShowEmailComposeModal,\"title\":\"Compose Email\",\"modal-class\":\"modal-sticky\",\"footer-class\":\"d-flex justify-content-between\",\"body-class\":\"p-0\",\"size\":\"lg\",\"no-fade\":\"\",\"hide-backdrop\":\"\",\"static\":\"\"},on:{\"change\":function (val) { return _vm.$emit('update:shall-show-email-compose-modal', val); }},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(){return [_c('h5',{staticClass:\"modal-title\"},[_vm._v(\" Compose Mail \")]),_c('div',{staticClass:\"modal-actions\"},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":\"MinusIcon\"},on:{\"click\":function($event){return _vm.$emit('update:shall-show-email-compose-modal', false)}}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"Maximize2Icon\"}}),_c('feather-icon',{staticClass:\"ml-1 cursor-pointer\",attrs:{\"icon\":\"XIcon\"},on:{\"click\":_vm.discardEmail}})],1)]},proxy:true},{key:\"modal-footer\",fn:function(){return [_c('div',[_c('b-dropdown',{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:{\"split\":\"\",\"text\":\"Send\",\"variant\":\"primary\",\"right\":\"\"},on:{\"click\":_vm.sendEmail}},[_c('b-dropdown-item',[_vm._v(\" Schedule Send \")])],1),_c('feather-icon',{staticClass:\"ml-2 cursor-pointer\",attrs:{\"icon\":\"PaperclipIcon\",\"size\":\"17\"}})],1),_c('div',[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"no-caret\":\"\",\"toggle-class\":\"p-0\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"17\"}})]},proxy:true}])},[_c('b-dropdown-item',[_vm._v(\" Add Label \")]),_c('b-dropdown-item',[_vm._v(\" Plain Text Mode \")]),_c('b-dropdown-divider'),_c('b-dropdown-item',[_vm._v(\" Print \")]),_c('b-dropdown-item',[_vm._v(\" Check Spelling \")])],1),_c('feather-icon',{staticClass:\"ml-75 cursor-pointer\",attrs:{\"icon\":\"TrashIcon\",\"size\":\"17\"},on:{\"click\":_vm.discardEmail}})],1)]},proxy:true}])},[_c('b-form',[_c('div',{staticClass:\"compose-mail-form-field\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"email-to\"}},[_vm._v(\"To: \")]),_c('v-select',{staticClass:\"flex-grow-1 email-to-selector\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"multiple\":\"\",\"label\":\"name\",\"close-on-select\":false,\"options\":_vm.emailToOptions,\"input-id\":\"email-to\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}},{key:\"selected-option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{staticClass:\"border border-white\",attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}}]),model:{value:(_vm.composeData.to),callback:function ($$v) {_vm.$set(_vm.composeData, \"to\", $$v)},expression:\"composeData.to\"}}),_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":function($event){_vm.showCcField=!_vm.showCcField}}},[_vm._v(\"Cc\")]),_c('span',{staticClass:\"ml-1 cursor-pointer\",on:{\"click\":function($event){_vm.showBccField=!_vm.showBccField}}},[_vm._v(\"Bcc\")])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCcField),expression:\"showCcField\"}],staticClass:\"compose-mail-form-field\"},[_c('label',{attrs:{\"for\":\"email-cc\"}},[_vm._v(\"CC: \")]),_c('v-select',{staticClass:\"flex-grow-1 email-cc-selector\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"multiple\":\"\",\"label\":\"name\",\"close-on-select\":false,\"options\":_vm.emailToOptions,\"input-id\":\"email-cc\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}},{key:\"selected-option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{staticClass:\"border border-white\",attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}}]),model:{value:(_vm.composeData.cc),callback:function ($$v) {_vm.$set(_vm.composeData, \"cc\", $$v)},expression:\"composeData.cc\"}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showBccField),expression:\"showBccField\"}],staticClass:\"compose-mail-form-field\"},[_c('label',{attrs:{\"for\":\"email-bcc\"}},[_vm._v(\"Bcc \")]),_c('v-select',{staticClass:\"flex-grow-1 email-bcc-selector\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"multiple\":\"\",\"label\":\"name\",\"close-on-select\":false,\"options\":_vm.emailToOptions,\"input-id\":\"email-bcc\"},scopedSlots:_vm._u([{key:\"option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}},{key:\"selected-option\",fn:function(ref){\nvar avatar = ref.avatar;\nvar name = ref.name;\nreturn [_c('b-avatar',{staticClass:\"border border-white\",attrs:{\"size\":\"sm\",\"src\":avatar}}),_c('span',{staticClass:\"ml-50\"},[_vm._v(\" \"+_vm._s(name))])]}}]),model:{value:(_vm.composeData.bcc),callback:function ($$v) {_vm.$set(_vm.composeData, \"bcc\", $$v)},expression:\"composeData.bcc\"}})],1),_c('div',{staticClass:\"compose-mail-form-field\"},[_c('label',{attrs:{\"for\":\"email-subject\"}},[_vm._v(\"Subject: \")]),_c('b-form-input',{attrs:{\"id\":\"email-subject\"},model:{value:(_vm.composeData.subject),callback:function ($$v) {_vm.$set(_vm.composeData, \"subject\", $$v)},expression:\"composeData.subject\"}})],1),_c('div',{staticClass:\"message-editor\"},[_c('quill-editor',{attrs:{\"id\":\"quil-content\",\"options\":_vm.editorOption},model:{value:(_vm.composeData.message),callback:function ($$v) {_vm.$set(_vm.composeData, \"message\", $$v)},expression:\"composeData.message\"}}),_c('div',{staticClass:\"d-flex border-bottom-0\",attrs:{\"id\":\"quill-toolbar\"}},[_c('button',{staticClass:\"ql-bold\"}),_c('button',{staticClass:\"ql-italic\"}),_c('button',{staticClass:\"ql-underline\"}),_c('button',{staticClass:\"ql-align\"}),_c('button',{staticClass:\"ql-link\"})])],1)])],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--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailCompose.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailCompose.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmailCompose.vue?vue&type=template&id=590d273c&scoped=true&\"\nimport script from \"./EmailCompose.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailCompose.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailCompose.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./EmailCompose.vue?vue&type=style&index=1&id=590d273c&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 \"590d273c\",\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--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Orders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Orders.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Orders.vue?vue&type=template&id=59fc6c40&scoped=true&\"\nimport script from \"./Orders.vue?vue&type=script&lang=js&\"\nexport * from \"./Orders.vue?vue&type=script&lang=js&\"\nimport style1 from \"./Orders.vue?vue&type=style&index=1&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 \"59fc6c40\",\n null\n \n)\n\nexport default component.exports","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"quill\")):\"function\"==typeof define&&define.amd?define([\"quill\"],e):\"object\"==typeof exports?exports.VueQuillEditor=e(require(\"quill\")):t.VueQuillEditor=e(t.Quill)}(this,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var l=n[i]={i:i,l:!1,exports:{}};return t[i].call(l.exports,l,l.exports,e),l.l=!0,l.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=2)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(4),l=n.n(i),o=n(6),r=n(5),u=r(l.a,o.a,!1,null,null,null);e.default=u.exports},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.install=e.quillEditor=e.Quill=void 0;var l=n(0),o=i(l),r=n(1),u=i(r),s=window.Quill||o.default,a=function(t,e){e&&(u.default.props.globalOptions.default=function(){return e}),t.component(u.default.name,u.default)},c={Quill:s,quillEditor:u.default,install:a};e.default=c,e.Quill=s,e.quillEditor=u.default,e.install=a},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={theme:\"snow\",boundary:document.body,modules:{toolbar:[[\"bold\",\"italic\",\"underline\",\"strike\"],[\"blockquote\",\"code-block\"],[{header:1},{header:2}],[{list:\"ordered\"},{list:\"bullet\"}],[{script:\"sub\"},{script:\"super\"}],[{indent:\"-1\"},{indent:\"+1\"}],[{direction:\"rtl\"}],[{size:[\"small\",!1,\"large\",\"huge\"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],[\"clean\"],[\"link\",\"image\",\"video\"]]},placeholder:\"Insert text here ...\",readOnly:!1}},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(0),o=i(l),r=n(3),u=i(r),s=window.Quill||o.default;\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(t,e){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(t),i=1;i

\"===l&&(l=\"\"),t._content=l,t.$emit(\"input\",t._content),t.$emit(\"change\",{html:l,text:r,quill:o})}),this.$emit(\"ready\",this.quill))}},watch:{content:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},value:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},disabled:function(t,e){this.quill&&this.quill.enable(!t)}}}},function(t,e){t.exports=function(t,e,n,i,l,o){var r,u=t=t||{},s=typeof t.default;\"object\"!==s&&\"function\"!==s||(r=t,u=t.default);var a=\"function\"==typeof u?u.options:u;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0),n&&(a.functional=!0),l&&(a._scopeId=l);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},a._ssrRegister=c):i&&(c=i),c){var d=a.functional,f=d?a.render:a.beforeCreate;d?(a._injectStyles=c,a.render=function(t,e){return c.call(e),f(t,e)}):a.beforeCreate=f?[].concat(f,c):[c]}return{esModule:r,exports:u,options:a}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"quill-editor\"},[t._t(\"toolbar\"),t._v(\" \"),n(\"div\",{ref:\"editor\"})],2)},l=[],o={render:i,staticRenderFns:l};e.a=o}])});","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\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\nimport Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\n }\n});","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","module.exports=function(t){function e(i){if(r[i])return r[i].exports;var n=r[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var r={};return e.m=t,e.c=r,e.i=function(t){return t},e.d=function(t,r,i){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,\"a\",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/dist/\",e(e.s=2)}([function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps .ps__rail-x.ps--clicking,.ps .ps__rail-x:focus,.ps .ps__rail-x:hover,.ps .ps__rail-y.ps--clicking,.ps .ps__rail-y:focus,.ps .ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px}.ps__rail-x.ps--clicking .ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y.ps--clicking .ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}\",\"\"])},function(t,e,r){e=t.exports=r(0)(),e.i(r(4),\"\"),e.push([t.i,\".ps-container{position:relative}\",\"\"])},function(t,e,r){\"use strict\";/*!\n * perfect-scrollbar v1.4.0\n * (c) 2018 Hyunje Jun\n * @license MIT\n */\nfunction i(t){return getComputedStyle(t)}function n(t,e){for(var r in e){var i=e[r];\"number\"==typeof i&&(i+=\"px\"),t.style[r]=i}return t}function o(t){var e=document.createElement(\"div\");return e.className=t,e}function l(t,e){if(!w)throw new Error(\"No element matching method supported\");return w.call(t,e)}function s(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function a(t,e){return Array.prototype.filter.call(t.children,function(t){return l(t,e)})}function c(t,e){var r=t.element.classList,i=Y.state.scrolling(e);r.contains(i)?clearTimeout(_[e]):r.add(i)}function h(t,e){_[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(Y.state.scrolling(e))},t.settings.scrollingThreshold)}function u(t,e){c(t,e),h(t,e)}function p(t){if(\"function\"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent(\"CustomEvent\");return e.initCustomEvent(t,!1,!1,void 0),e}function d(t,e,r,i,n){var o=r[0],l=r[1],s=r[2],a=r[3],c=r[4],h=r[5];void 0===i&&(i=!0),void 0===n&&(n=!1);var d=t.element;t.reach[a]=null,d[s]<1&&(t.reach[a]=\"start\"),d[s]>t[o]-t[l]-1&&(t.reach[a]=\"end\"),e&&(d.dispatchEvent(p(\"ps-scroll-\"+a)),e<0?d.dispatchEvent(p(\"ps-scroll-\"+c)):e>0&&d.dispatchEvent(p(\"ps-scroll-\"+h)),i&&u(t,a)),t.reach[a]&&(e||n)&&d.dispatchEvent(p(\"ps-\"+a+\"-reach-\"+t.reach[a]))}function f(t){return parseInt(t,10)||0}function b(t){return l(t,\"input,[contenteditable]\")||l(t,\"select,[contenteditable]\")||l(t,\"textarea,[contenteditable]\")||l(t,\"button,[contenteditable]\")}function v(t){var e=i(t);return f(e.width)+f(e.paddingLeft)+f(e.paddingRight)+f(e.borderLeftWidth)+f(e.borderRightWidth)}function g(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function m(t,e){var r={width:e.railXWidth},i=Math.floor(t.scrollTop);e.isRtl?r.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:r.left=t.scrollLeft,e.isScrollbarXUsingBottom?r.bottom=e.scrollbarXBottom-i:r.top=e.scrollbarXTop+i,n(e.scrollbarXRail,r);var o={top:i,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?o.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:o.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?o.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:o.left=e.scrollbarYLeft+t.scrollLeft,n(e.scrollbarYRail,o),n(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),n(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}function y(t,e){function r(e){b[p]=v+m*(e[l]-g),c(t,d),T(t),e.stopPropagation(),e.preventDefault()}function i(){h(t,d),t[f].classList.remove(Y.state.clicking),t.event.unbind(t.ownerDocument,\"mousemove\",r)}var n=e[0],o=e[1],l=e[2],s=e[3],a=e[4],u=e[5],p=e[6],d=e[7],f=e[8],b=t.element,v=null,g=null,m=null;t.event.bind(t[a],\"mousedown\",function(e){v=b[p],g=e[l],m=(t[o]-t[n])/(t[s]-t[u]),t.event.bind(t.ownerDocument,\"mousemove\",r),t.event.once(t.ownerDocument,\"mouseup\",i),t[f].classList.add(Y.state.clicking),e.stopPropagation(),e.preventDefault()})}var w=\"undefined\"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),Y={main:\"ps\",element:{thumb:function(t){return\"ps__thumb-\"+t},rail:function(t){return\"ps__rail-\"+t},consuming:\"ps__child--consume\"},state:{focus:\"ps--focus\",clicking:\"ps--clicking\",active:function(t){return\"ps--active-\"+t},scrolling:function(t){return\"ps--scrolling-\"+t}}},_={x:null,y:null},X=function(t){this.element=t,this.handlers={}},W={isEmpty:{configurable:!0}};X.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},X.prototype.unbind=function(t,e){var r=this;this.handlers[t]=this.handlers[t].filter(function(i){return!(!e||i===e)||(r.element.removeEventListener(t,i,!1),!1)})},X.prototype.unbindAll=function(){var t=this;for(var e in t.handlers)t.unbind(e)},W.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(X.prototype,W);var x=function(){this.eventElements=[]};x.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new X(t),this.eventElements.push(e)),e},x.prototype.bind=function(t,e,r){this.eventElement(t).bind(e,r)},x.prototype.unbind=function(t,e,r){var i=this.eventElement(t);i.unbind(e,r),i.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(i),1)},x.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},x.prototype.once=function(t,e,r){var i=this.eventElement(t),n=function(t){i.unbind(e,n),r(t)};i.bind(e,n)};var L=function(t,e,r,i,n){void 0===i&&(i=!0),void 0===n&&(n=!1);var o;if(\"top\"===e)o=[\"contentHeight\",\"containerHeight\",\"scrollTop\",\"y\",\"up\",\"down\"];else{if(\"left\"!==e)throw new Error(\"A proper axis should be provided\");o=[\"contentWidth\",\"containerWidth\",\"scrollLeft\",\"x\",\"left\",\"right\"]}d(t,r,o,i,n)},R={isWebKit:\"undefined\"!=typeof document&&\"WebkitAppearance\"in document.documentElement.style,supportsTouch:\"undefined\"!=typeof window&&(\"ontouchstart\"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:\"undefined\"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:\"undefined\"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},T=function(t){var e=t.element,r=Math.floor(e.scrollTop);t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(a(e,Y.element.rail(\"x\")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(a(e,Y.element.rail(\"y\")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),m(e,t),t.scrollbarXActive?e.classList.add(Y.state.active(\"x\")):(e.classList.remove(Y.state.active(\"x\")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(Y.state.active(\"y\")):(e.classList.remove(Y.state.active(\"y\")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)},S=function(t){t.event.bind(t.scrollbarY,\"mousedown\",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,\"mousedown\",function(e){var r=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top,i=r>t.scrollbarYTop?1:-1;t.element.scrollTop+=i*t.containerHeight,T(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,\"mousedown\",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,\"mousedown\",function(e){var r=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left,i=r>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=i*t.containerWidth,T(t),e.stopPropagation()})},H=function(t){y(t,[\"containerWidth\",\"contentWidth\",\"pageX\",\"railXWidth\",\"scrollbarX\",\"scrollbarXWidth\",\"scrollLeft\",\"x\",\"scrollbarXRail\"]),y(t,[\"containerHeight\",\"contentHeight\",\"pageY\",\"railYHeight\",\"scrollbarY\",\"scrollbarYHeight\",\"scrollTop\",\"y\",\"scrollbarYRail\"])},E=function(t){function e(e,i){var n=Math.floor(r.scrollTop);if(0===e){if(!t.scrollbarYActive)return!1;if(0===n&&i>0||n>=t.contentHeight-t.containerHeight&&i<0)return!t.settings.wheelPropagation}var o=r.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===o&&e<0||o>=t.contentWidth-t.containerWidth&&e>0)return!t.settings.wheelPropagation}return!0}var r=t.element,i=function(){return l(r,\":hover\")},n=function(){return l(t.scrollbarX,\":focus\")||l(t.scrollbarY,\":focus\")};t.event.bind(t.ownerDocument,\"keydown\",function(o){if(!(o.isDefaultPrevented&&o.isDefaultPrevented()||o.defaultPrevented)&&(i()||n())){var l=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(l){if(\"IFRAME\"===l.tagName)l=l.contentDocument.activeElement;else for(;l.shadowRoot;)l=l.shadowRoot.activeElement;if(b(l))return}var s=0,a=0;switch(o.which){case 37:s=o.metaKey?-t.contentWidth:o.altKey?-t.containerWidth:-30;break;case 38:a=o.metaKey?t.contentHeight:o.altKey?t.containerHeight:30;break;case 39:s=o.metaKey?t.contentWidth:o.altKey?t.containerWidth:30;break;case 40:a=o.metaKey?-t.contentHeight:o.altKey?-t.containerHeight:-30;break;case 32:a=o.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==a||(r.scrollTop-=a,r.scrollLeft+=s,T(t),e(s,a)&&o.preventDefault())}})},M=function(t){function e(e,r){var i=Math.floor(l.scrollTop),n=0===l.scrollTop,o=i+l.offsetHeight===l.scrollHeight,s=0===l.scrollLeft,a=l.scrollLeft+l.offsetWidth===l.scrollWidth;return!(Math.abs(r)>Math.abs(e)?n||o:s||a)||!t.settings.wheelPropagation}function r(t){var e=t.deltaX,r=-1*t.deltaY;return void 0!==e&&void 0!==r||(e=-1*t.wheelDeltaX/6,r=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,r*=10),e!==e&&r!==r&&(e=0,r=t.wheelDelta),t.shiftKey?[-r,-e]:[e,r]}function n(t,e,r){if(!R.isWebKit&&l.querySelector(\"select:focus\"))return!0;if(!l.contains(t))return!1;for(var n=t;n&&n!==l;){if(n.classList.contains(Y.element.consuming))return!0;var o=i(n);if([o.overflow,o.overflowX,o.overflowY].join(\"\").match(/(scroll|auto)/)){var s=n.scrollHeight-n.clientHeight;if(s>0&&!(0===n.scrollTop&&r>0||n.scrollTop===s&&r<0))return!0;var a=n.scrollWidth-n.clientWidth;if(a>0&&!(0===n.scrollLeft&&e<0||n.scrollLeft===a&&e>0))return!0}n=n.parentNode}return!1}function o(i){var o=r(i),s=o[0],a=o[1];if(!n(i.target,s,a)){var c=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a?l.scrollTop-=a*t.settings.wheelSpeed:l.scrollTop+=s*t.settings.wheelSpeed,c=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(s?l.scrollLeft+=s*t.settings.wheelSpeed:l.scrollLeft-=a*t.settings.wheelSpeed,c=!0):(l.scrollTop-=a*t.settings.wheelSpeed,l.scrollLeft+=s*t.settings.wheelSpeed),T(t),c=c||e(s,a),c&&!i.ctrlKey&&(i.stopPropagation(),i.preventDefault())}}var l=t.element;void 0!==window.onwheel?t.event.bind(l,\"wheel\",o):void 0!==window.onmousewheel&&t.event.bind(l,\"mousewheel\",o)},k=function(t){function e(e,r){var i=Math.floor(h.scrollTop),n=h.scrollLeft,o=Math.abs(e),l=Math.abs(r);if(l>o){if(r<0&&i===t.contentHeight-t.containerHeight||r>0&&0===i)return 0===window.scrollY&&r>0&&R.isChrome}else if(o>l&&(e<0&&n===t.contentWidth-t.containerWidth||e>0&&0===n))return!0;return!0}function r(e,r){h.scrollTop-=r,h.scrollLeft-=e,T(t)}function n(t){return t.targetTouches?t.targetTouches[0]:t}function o(t){return(!t.pointerType||\"pen\"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||\"mouse\"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function l(t){if(o(t)){var e=n(t);u.pageX=e.pageX,u.pageY=e.pageY,p=(new Date).getTime(),null!==f&&clearInterval(f)}}function s(t,e,r){if(!h.contains(t))return!1;for(var n=t;n&&n!==h;){if(n.classList.contains(Y.element.consuming))return!0;var o=i(n);if([o.overflow,o.overflowX,o.overflowY].join(\"\").match(/(scroll|auto)/)){var l=n.scrollHeight-n.clientHeight;if(l>0&&!(0===n.scrollTop&&r>0||n.scrollTop===l&&r<0))return!0;var s=n.scrollLeft-n.clientWidth;if(s>0&&!(0===n.scrollLeft&&e<0||n.scrollLeft===s&&e>0))return!0}n=n.parentNode}return!1}function a(t){if(o(t)){var i=n(t),l={pageX:i.pageX,pageY:i.pageY},a=l.pageX-u.pageX,c=l.pageY-u.pageY;if(s(t.target,a,c))return;r(a,c),u=l;var h=(new Date).getTime(),f=h-p;f>0&&(d.x=a/f,d.y=c/f,p=h),e(a,c)&&t.preventDefault()}}function c(){t.settings.swipeEasing&&(clearInterval(f),f=setInterval(function(){return t.isInitialized?void clearInterval(f):d.x||d.y?Math.abs(d.x)<.01&&Math.abs(d.y)<.01?void clearInterval(f):(r(30*d.x,30*d.y),d.x*=.8,void(d.y*=.8)):void clearInterval(f)},10))}if(R.supportsTouch||R.supportsIePointer){var h=t.element,u={},p=0,d={},f=null;R.supportsTouch?(t.event.bind(h,\"touchstart\",l),t.event.bind(h,\"touchmove\",a),t.event.bind(h,\"touchend\",c)):R.supportsIePointer&&(window.PointerEvent?(t.event.bind(h,\"pointerdown\",l),t.event.bind(h,\"pointermove\",a),t.event.bind(h,\"pointerup\",c)):window.MSPointerEvent&&(t.event.bind(h,\"MSPointerDown\",l),t.event.bind(h,\"MSPointerMove\",a),t.event.bind(h,\"MSPointerUp\",c)))}},A=function(){return{handlers:[\"click-rail\",\"drag-thumb\",\"keyboard\",\"wheel\",\"touch\"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1}},P={\"click-rail\":S,\"drag-thumb\":H,keyboard:E,wheel:M,touch:k},C=function(t,e){var r=this;if(void 0===e&&(e={}),\"string\"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error(\"no element is specified to initialize PerfectScrollbar\");this.element=t,t.classList.add(Y.main),this.settings=A();for(var l in e)r.settings[l]=e[l];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var s=function(){return t.classList.add(Y.state.focus)},a=function(){return t.classList.remove(Y.state.focus)};this.isRtl=\"rtl\"===i(t).direction,this.isNegativeScroll=function(){var e=t.scrollLeft,r=null;return t.scrollLeft=-1,r=t.scrollLeft<0,t.scrollLeft=e,r}(),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new x,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=o(Y.element.rail(\"x\")),t.appendChild(this.scrollbarXRail),this.scrollbarX=o(Y.element.thumb(\"x\")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute(\"tabindex\",0),this.event.bind(this.scrollbarX,\"focus\",s),this.event.bind(this.scrollbarX,\"blur\",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var c=i(this.scrollbarXRail);this.scrollbarXBottom=parseInt(c.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=f(c.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=f(c.borderLeftWidth)+f(c.borderRightWidth),n(this.scrollbarXRail,{display:\"block\"}),this.railXMarginWidth=f(c.marginLeft)+f(c.marginRight),n(this.scrollbarXRail,{display:\"\"}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=o(Y.element.rail(\"y\")),t.appendChild(this.scrollbarYRail),this.scrollbarY=o(Y.element.thumb(\"y\")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute(\"tabindex\",0),this.event.bind(this.scrollbarY,\"focus\",s),this.event.bind(this.scrollbarY,\"blur\",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var h=i(this.scrollbarYRail);this.scrollbarYRight=parseInt(h.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=f(h.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?v(this.scrollbarY):null,this.railBorderYWidth=f(h.borderTopWidth)+f(h.borderBottomWidth),n(this.scrollbarYRail,{display:\"block\"}),this.railYMarginHeight=f(h.marginTop)+f(h.marginBottom),n(this.scrollbarYRail,{display:\"\"}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?\"start\":t.scrollLeft>=this.contentWidth-this.containerWidth?\"end\":null,y:t.scrollTop<=0?\"start\":t.scrollTop>=this.contentHeight-this.containerHeight?\"end\":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return P[t](r)}),this.lastScrollTop=Math.floor(t.scrollTop),this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,\"scroll\",function(t){return r.onScroll(t)}),T(this)};C.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,n(this.scrollbarXRail,{display:\"block\"}),n(this.scrollbarYRail,{display:\"block\"}),this.railXMarginWidth=f(i(this.scrollbarXRail).marginLeft)+f(i(this.scrollbarXRail).marginRight),this.railYMarginHeight=f(i(this.scrollbarYRail).marginTop)+f(i(this.scrollbarYRail).marginBottom),n(this.scrollbarXRail,{display:\"none\"}),n(this.scrollbarYRail,{display:\"none\"}),T(this),L(this,\"top\",0,!1,!0),L(this,\"left\",0,!1,!0),n(this.scrollbarXRail,{display:\"\"}),n(this.scrollbarYRail,{display:\"\"}))},C.prototype.onScroll=function(t){this.isAlive&&(T(this),L(this,\"top\",this.element.scrollTop-this.lastScrollTop),L(this,\"left\",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},C.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),s(this.scrollbarX),s(this.scrollbarY),s(this.scrollbarXRail),s(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},C.prototype.removePsClasses=function(){this.element.className=this.element.className.split(\" \").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(\" \")},e.a=C},function(t,e){t.exports=function(t,e,r,i){var n,o=t=t||{},l=typeof t.default;\"object\"!==l&&\"function\"!==l||(n=t,o=t.default);var s=\"function\"==typeof o?o.options:o;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),r&&(s._scopeId=r),i){var a=s.computed||(s.computed={});Object.keys(i).forEach(function(t){var e=i[t];a[t]=function(){return e}})}return{esModule:n,exports:o,options:s}}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)(t.$props.tagname,t._g({tag:\"section\",staticClass:\"ps-container\",on:{\"~mouseover\":function(e){return t.update(e)}}},t.$listeners),[t._t(\"default\")],2)},staticRenderFns:[]}},function(t,e){function r(t,e){for(var r=0;r=0&&v.splice(e,1)}function l(t){var e=document.createElement(\"style\");return e.type=\"text/css\",n(t,e),e}function s(t,e){var r,i,n;if(e.singleton){var s=b++;r=f||(f=l(e)),i=a.bind(null,r,s,!1),n=a.bind(null,r,s,!0)}else r=l(e),i=c.bind(null,r),n=function(){o(r)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else n()}}function a(t,e,r,i){var n=r?\"\":i.css;if(t.styleSheet)t.styleSheet.cssText=g(e,n);else{var o=document.createTextNode(n),l=t.childNodes;l[e]&&t.removeChild(l[e]),l.length?t.insertBefore(o,l[e]):t.appendChild(o)}}function c(t,e){var r=e.css,i=e.media,n=e.sourceMap;if(i&&t.setAttribute(\"media\",i),n&&(r+=\"\\n/*# sourceURL=\"+n.sources[0]+\" */\",r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+\" */\"),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var h={},u=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}},p=u(function(){return/msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase())}),d=u(function(){return document.head||document.getElementsByTagName(\"head\")[0]}),f=null,b=0,v=[];t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");e=e||{},void 0===e.singleton&&(e.singleton=p()),void 0===e.insertAt&&(e.insertAt=\"bottom\");var n=i(t);return r(n,e),function(t){for(var o=[],l=0;l time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&lang=scss&scoped=true&\"","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_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\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 { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderView.vue?vue&type=style&index=0&lang=css&\"","var _objectSpread2;\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_CHECKBOX } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { isArray } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { looseIndexOf } from '../../utils/loose-index-of';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'; // --- Constants ---\n\nvar MODEL_PROP_NAME_INDETERMINATE = 'indeterminate';\nvar MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formRadioCheckProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_INDETERMINATE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"switch\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"uncheckedValue\", makeProp(PROP_TYPE_ANY, false)), _defineProperty(_objectSpread2, \"value\", makeProp(PROP_TYPE_ANY, true)), _objectSpread2))), NAME_FORM_CHECKBOX); // --- Main component ---\n// @vue/component\n\nexport var BFormCheckbox = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props: props,\n computed: {\n isChecked: function isChecked() {\n var value = this.value,\n checked = this.computedLocalChecked;\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);\n },\n isRadio: function isRadio() {\n return false;\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME_INDETERMINATE, function (newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue);\n }\n }),\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE]);\n },\n methods: {\n computedLocalCheckedWatcher: function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n var $input = this.$refs.input;\n\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate);\n }\n }\n },\n handleChange: function handleChange(_ref) {\n var _this = this;\n\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var value = this.value,\n uncheckedValue = this.uncheckedValue; // Update `computedLocalChecked`\n\n var localChecked = this.computedLocalChecked;\n\n if (isArray(localChecked)) {\n var index = looseIndexOf(localChecked, value);\n\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n\n _this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate);\n });\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false;\n }\n\n var $input = this.$refs.input;\n\n if ($input) {\n $input.indeterminate = state; // Emit update event to prop\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state);\n }\n }\n }\n});","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\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_APPEND } 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_APPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAppend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_APPEND,\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: true\n })\n }), children);\n }\n});","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupText = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_TEXT,\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 staticClass: 'input-group-text'\n }), 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_LIST_GROUP_ITEM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { isTag } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar actionTags = ['a', 'router-link', 'button', 'b-link']; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n action: makeProp(PROP_TYPE_BOOLEAN, false),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_LIST_GROUP_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BListGroupItem = /*#__PURE__*/Vue.extend({\n name: NAME_LIST_GROUP_ITEM,\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 button = props.button,\n variant = props.variant,\n active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = button ? 'button' : !link ? props.tag : BLink;\n var action = !!(props.action || link || button || arrayIncludes(actionTags, props.tag));\n var attrs = {};\n var itemProps = {};\n\n if (isTag(tag, 'button')) {\n if (!data.attrs || !data.attrs.type) {\n // Add a type for button is one not provided in passed attributes\n attrs.type = 'button';\n }\n\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n attrs.disabled = true;\n }\n } else {\n itemProps = pluckProps(linkProps, props);\n }\n\n return h(tag, mergeData(data, {\n attrs: attrs,\n props: itemProps,\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, \"list-group-item-\".concat(variant), variant), _defineProperty(_class, 'list-group-item-action', action), _defineProperty(_class, \"active\", active), _defineProperty(_class, \"disabled\", disabled), _class)\n }), children);\n }\n});","var _watch, _methods;\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 { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\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\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': toString(visible)\n },\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\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_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\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\nimport { Vue } from '../../vue';\nimport { NAME_AVATAR } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_IMG_ERROR } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BADGE } from '../../constants/slots';\nimport { isNumber, isNumeric, isString } from '../../utils/inspect';\nimport { toFloat } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIcon } from '../../icons/icon';\nimport { BIconPersonFill } from '../../icons/icons';\nimport { BButton } from '../button/button';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Constants ---\n\nvar CLASS_NAME = 'b-avatar';\nvar SIZES = ['sm', null, 'lg'];\nvar FONT_SIZE_SCALE = 0.4;\nvar BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7; // --- Helper methods ---\n\nexport var computeSize = function computeSize(value) {\n // Parse to number when value is a float-like string\n value = isString(value) && isNumeric(value) ? toFloat(value, 0) : value; // Convert all numbers to pixel values\n\n return isNumber(value) ? \"\".concat(value, \"px\") : value || null;\n}; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['active', 'event', 'routerTag']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n alt: makeProp(PROP_TYPE_STRING, 'avatar'),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n badge: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n badgeLeft: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeOffset: makeProp(PROP_TYPE_STRING),\n badgeTop: makeProp(PROP_TYPE_BOOLEAN, false),\n badgeVariant: makeProp(PROP_TYPE_STRING, 'primary'),\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n buttonType: makeProp(PROP_TYPE_STRING, 'button'),\n icon: makeProp(PROP_TYPE_STRING),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n size: makeProp(PROP_TYPE_NUMBER_STRING),\n square: makeProp(PROP_TYPE_BOOLEAN, false),\n src: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_AVATAR); // --- Main component ---\n// @vue/component\n\nexport var BAvatar = /*#__PURE__*/Vue.extend({\n name: NAME_AVATAR,\n mixins: [normalizeSlotMixin],\n inject: {\n bvAvatarGroup: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n localSrc: this.src || null\n };\n },\n computed: {\n computedSize: function computedSize() {\n // Always use the avatar group size\n var bvAvatarGroup = this.bvAvatarGroup;\n return computeSize(bvAvatarGroup ? bvAvatarGroup.size : this.size);\n },\n computedVariant: function computedVariant() {\n var bvAvatarGroup = this.bvAvatarGroup;\n return bvAvatarGroup && bvAvatarGroup.variant ? bvAvatarGroup.variant : this.variant;\n },\n computedRounded: function computedRounded() {\n var bvAvatarGroup = this.bvAvatarGroup;\n var square = bvAvatarGroup && bvAvatarGroup.square ? true : this.square;\n var rounded = bvAvatarGroup && bvAvatarGroup.rounded ? bvAvatarGroup.rounded : this.rounded;\n return square ? '0' : rounded === '' ? true : rounded || 'circle';\n },\n fontStyle: function fontStyle() {\n var size = this.computedSize;\n var fontSize = SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(FONT_SIZE_SCALE, \")\") : null;\n return fontSize ? {\n fontSize: fontSize\n } : {};\n },\n marginStyle: function marginStyle() {\n var size = this.computedSize,\n bvAvatarGroup = this.bvAvatarGroup;\n var overlapScale = bvAvatarGroup ? bvAvatarGroup.overlapScale : 0;\n var value = size && overlapScale ? \"calc(\".concat(size, \" * -\").concat(overlapScale, \")\") : null;\n return value ? {\n marginLeft: value,\n marginRight: value\n } : {};\n },\n badgeStyle: function badgeStyle() {\n var size = this.computedSize,\n badgeTop = this.badgeTop,\n badgeLeft = this.badgeLeft,\n badgeOffset = this.badgeOffset;\n var offset = badgeOffset || '0px';\n return {\n fontSize: SIZES.indexOf(size) === -1 ? \"calc(\".concat(size, \" * \").concat(BADGE_FONT_SIZE_SCALE, \" )\") : null,\n top: badgeTop ? offset : null,\n bottom: badgeTop ? null : offset,\n left: badgeLeft ? offset : null,\n right: badgeLeft ? null : offset\n };\n }\n },\n watch: {\n src: function src(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localSrc = newValue || null;\n }\n }\n },\n methods: {\n onImgError: function onImgError(event) {\n this.localSrc = null;\n this.$emit(EVENT_NAME_IMG_ERROR, event);\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n render: function render(h) {\n var _class2;\n\n var variant = this.computedVariant,\n disabled = this.disabled,\n rounded = this.computedRounded,\n icon = this.icon,\n src = this.localSrc,\n text = this.text,\n fontStyle = this.fontStyle,\n marginStyle = this.marginStyle,\n size = this.computedSize,\n button = this.button,\n type = this.buttonType,\n badge = this.badge,\n badgeVariant = this.badgeVariant,\n badgeStyle = this.badgeStyle;\n var link = !button && isLink(this);\n var tag = button ? BButton : link ? BLink : 'span';\n var alt = this.alt;\n var ariaLabel = this.ariaLabel || null;\n var $content = null;\n\n if (this.hasNormalizedSlot()) {\n // Default slot overrides props\n $content = h('span', {\n staticClass: 'b-avatar-custom'\n }, [this.normalizeSlot()]);\n } else if (src) {\n $content = h('img', {\n style: variant ? {} : {\n width: '100%',\n height: '100%'\n },\n attrs: {\n src: src,\n alt: alt\n },\n on: {\n error: this.onImgError\n }\n });\n $content = h('span', {\n staticClass: 'b-avatar-img'\n }, [$content]);\n } else if (icon) {\n $content = h(BIcon, {\n props: {\n icon: icon\n },\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n } else if (text) {\n $content = h('span', {\n staticClass: 'b-avatar-text',\n style: fontStyle\n }, [h('span', text)]);\n } else {\n // Fallback default avatar content\n $content = h(BIconPersonFill, {\n attrs: {\n 'aria-hidden': 'true',\n alt: alt\n }\n });\n }\n\n var $badge = h();\n var hasBadgeSlot = this.hasNormalizedSlot(SLOT_NAME_BADGE);\n\n if (badge || badge === '' || hasBadgeSlot) {\n var badgeText = badge === true ? '' : badge;\n $badge = h('span', {\n staticClass: 'b-avatar-badge',\n class: _defineProperty({}, \"badge-\".concat(badgeVariant), badgeVariant),\n style: badgeStyle\n }, [hasBadgeSlot ? this.normalizeSlot(SLOT_NAME_BADGE) : badgeText]);\n }\n\n var componentData = {\n staticClass: CLASS_NAME,\n class: (_class2 = {}, _defineProperty(_class2, \"\".concat(CLASS_NAME, \"-\").concat(size), size && SIZES.indexOf(size) !== -1), _defineProperty(_class2, \"badge-\".concat(variant), !button && variant), _defineProperty(_class2, \"rounded\", rounded === true), _defineProperty(_class2, \"rounded-\".concat(rounded), rounded && rounded !== true), _defineProperty(_class2, \"disabled\", disabled), _class2),\n style: _objectSpread(_objectSpread({}, marginStyle), {}, {\n width: size,\n height: size\n }),\n attrs: {\n 'aria-label': ariaLabel || null\n },\n props: button ? {\n variant: variant,\n disabled: disabled,\n type: type\n } : link ? pluckProps(linkProps, this) : {},\n on: button || link ? {\n click: this.onClick\n } : {}\n };\n return h(tag, componentData, [$content, $badge]);\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_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\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 active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Orders.vue?vue&type=style&index=1&lang=scss&\"","export var noop = function noop() {};","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_DROPDOWN_DIVIDER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { omit } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n}, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownDivider = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n});"],"sourceRoot":""}