{"version":3,"sources":["webpack:///./src/assets/font-awesomes/lock.svg","webpack:///./src/store/modules/accountsList.ts","webpack:///./src/assets/font-awesomes/folder.svg","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.less?0b02","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.less?e7ed","webpack:///./src/commoncomponents/contextMenuComponents/ContextMenu.vue?5906","webpack:///./src/commoncomponents/Checkbox.vue?03d6","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue?cf84","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.ts","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue?0f28","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue?47c6","webpack:///./src/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.vue?2c8e","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.ts","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.vue?c212","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.vue?5ab3","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.vue","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.vue?7358","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.ts","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.vue?690f","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.vue?5f69","webpack:///./src/components/learningLibrary/ConfigureLearningLibraryCollection.vue","webpack:///./src/utilities/cms/courseStatus.ts","webpack:///./node_modules/algoliasearch/dist/algoliasearch.umd.js","webpack:///./src/components/cms/collections/SingleCollectionPage.vue?8005","webpack:///./src/components/cms/collections/SingleCollectionPage.ts","webpack:///./src/components/cms/collections/SingleCollectionPage.vue?bde7","webpack:///./src/components/cms/collections/SingleCollectionPage.vue?07d3","webpack:///./src/components/cms/collections/SingleCollectionPage.vue","webpack:///./src/commoncomponents/contextMenuComponents/ContextMenu.vue?38cc","webpack:///./src/commoncomponents/contextMenuComponents/ContextMenu.vue?99ad","webpack:///./src/commoncomponents/contextMenuComponents/ContextMenu.vue?bb4a","webpack:///./src/commoncomponents/contextMenuComponents/ContextMenu.vue","webpack:///./src/services/cms/algoliaService.ts","webpack:///./src/assets/font-awesomes/folder-open.svg","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js","webpack:///./src/services/collections/api.ts","webpack:///./src/commoncomponents/Checkbox.vue?86a5","webpack:///./src/commoncomponents/Checkbox.vue?fb11","webpack:///./src/commoncomponents/Checkbox.vue?d431","webpack:///./src/commoncomponents/Checkbox.vue","webpack:///./src/components/cms/collections/SingleCollectionPage.less?1d29","webpack:///./src/utilities/collectionsUtilities.ts","webpack:///./src/services/account/account.ts","webpack:///./src/commoncomponents/CollectionCardComponent/CollectionCardComponent.less?f5ab"],"names":["module","exports","AccountListModule","accountsdata","searchdata","UpdatedAccountRes","accountsPayload","JSON","parse","stringify","APP_CONST","ACCOUNT_PAYLOAD","accountsPayloadFull","ACCOUNT_PAYLOAD_FULL","allAccountDatas","cmsCourseStatus","CourseStatus","IN_PROGRESS","COMPLETE","TO_DO","payload","this","search","replace","getAccountListResponseObj","then","response","data","results","length","forEach","element","bxSuccessLeadFullName","trim","bxPartnerLeadFullName","primaryAccountAdminFullName","scheduleDate","APP_UTILITIES","formatShortDateFullYear","selected","error","mutateAllAccountData","search_input","searchTable","storage","getLMSCourseStatus","courses","course","status","courseId","push","updateAccountStatus","enableDisableAccount","VuexModule","tslib_1","Mutation","MutationAction","Action","Module","namespaced","name","store","dynamic","getModule","render","_vm","_h","$createElement","_c","_self","staticClass","key","style","STYLE","COLOR","PRIMARY_700","attrs","_v","_s","getScreenText","staticRenderFns","BouncingPreloaderComponent","screenText","ScreenText","Vue","Prop","Component","component","class","collectionChecked","small","routeTo","cardData","contentImages","slice","_e","totalItemsText","title","collectionId","on","handleSelect","handleEdit","handleDelete","CollectionCardComponent","newValue","$emit","value","totalItems","params","learningLibraryEditing","String","type","Object","Boolean","default","Watch","immediate","components","CmsCheckbox","ContextMenu","ContextMenuItem","ref","required","unique","nameValidationRules","scopedSlots","_u","fn","errors","directives","rawName","expression","modifiers","domProps","$event","target","composing","collectionName","$forceUpdate","cancel","save","ConfigureLearningLibraryCollection","collectionValidationProvider","reset","validate","valid","resetValidation","modelValue","collectionNameValidationRules","Model","Ref","ValidationProvider","checkStatus","result","includes","getCourseStatus","courseIds","allStatuses","map","id","allComplete","filter","stat","someComplete","getCourseCardStatus","cards","card","tiCourseIds","courseStatus","t","e","r","defineProperty","enumerable","configurable","writable","keys","getOwnPropertySymbols","n","getOwnPropertyDescriptor","apply","arguments","a","getOwnPropertyDescriptors","defineProperties","o","indexOf","prototype","propertyIsEnumerable","call","Array","isArray","Symbol","iterator","toString","i","u","next","done","return","TypeError","from","concat","localStorage","window","getItem","get","miss","Promise","resolve","all","set","setItem","delete","clear","removeItem","caches","shift","catch","s","serializable","c","headers","m","WithinHeaders","queryParameters","WithinQueryParameters","f","setTimeout","Math","min","d","assign","wait","l","floor","random","p","h","encodeURIComponent","y","entries","timeout","cacheable","g","Read","Write","Any","v","b","P","w","lastUpdate","Date","now","O","protocol","url","accept","I","x","j","D","q","getTimeout","statelessHosts","S","method","toLowerCase","userAgent","pop","message","transporterStackTrace","R","N","path","connectTimeout","timeouts","connect","responseTimeout","request","host","triesLeft","onSuccess","content","onRetry","isTimedOut","logger","info","A","hostsCache","onFail","requester","send","reverse","k","requestsCache","responsesCache","hosts","read","mappedRequestOptions","transporter","reject","write","T","add","segment","version","E","charAt","substr","join","C","U","z","J","F","H","M","K","batch","hits","shouldStop","cursor","page","W","acl","tt","B","cluster","Q","users","G","clearExistingDictionaryEntries","requests","action","body","jt","taskID","L","operation","destination","ut","methods","waitTask","de","V","scope","pe","Rules","_","Settings","X","Synonyms","Y","Z","$","objectID","et","rt","nt","at","ot","it","retrieveMappings","getClusters","appId","indexName","st","ct","ft","dt","lt","pt","ht","mt","yt","facetName","facetQuery","searchForFacetValues","ue","gt","vt","bt","Pt","wt","query","Ot","It","xt","every","Dt","qt","St","hitsPerPage","se","_highlightResult","kt","ce","Tt","batchSize","taskIDs","objectIDs","Nt","Et","forwardToReplicas","Rt","At","Ct","Ut","zt","le","DeleteObject","Jt","Ft","Ht","Lt","Mt","queryLanguages","Kt","paginate","ie","object","position","parseInt","nbPages","Wt","Bt","Qt","attributesToRetrieve","Gt","getVersion","Vt","_t","Xt","createIfNotExists","PartialUpdateObject","PartialUpdateObjectNoCreate","Yt","safe","autoGenerateObjectIDIfNotExist","substring","ee","Zt","ne","clearExistingRules","$t","oe","clearExistingSynonyms","te","AddObject","UpdateObject","re","ae","replaceExistingSynonyms","fe","DeleteIndex","ClearIndex","he","me","ye","ge","apiKey","XMLHttpRequest","open","setRequestHeader","abort","onreadystatechange","readyState","OPENED","clearTimeout","onerror","responseText","onload","debug","console","region","getPersonalizationStrategy","setPersonalizationStrategy","authMode","addAlgoliaAgent","clearCache","multipleBatch","multipleGetObjects","multipleQueries","copyIndex","copySettings","copySynonyms","copyRules","moveIndex","listIndices","getLogs","listClusters","multipleSearchForFacetValues","getApiKey","addApiKey","listApiKeys","updateApiKey","deleteApiKey","restoreApiKey","assignUserID","assignUserIDs","getUserID","searchUserIDs","listUserIDs","getTopUserIDs","removeUserID","hasPendingMappings","clearDictionaryEntries","deleteDictionaryEntries","getDictionarySettings","getAppTask","replaceDictionaryEntries","saveDictionaryEntries","searchDictionaryEntries","setDictionarySettings","waitAppTask","customRequest","initIndex","findAnswers","getObject","getObjects","saveObject","saveObjects","setSettings","getSettings","partialUpdateObject","partialUpdateObjects","deleteObject","deleteObjects","deleteBy","clearObjects","browseObjects","getObjectPosition","findObject","exists","saveSynonym","saveSynonyms","getSynonym","searchSynonyms","browseSynonyms","deleteSynonym","clearSynonyms","replaceAllObjects","replaceAllSynonyms","searchRules","getRule","deleteRule","saveRule","saveRules","replaceAllRules","browseRules","clearRules","initAnalytics","addABTest","getABTest","getABTests","stopABTest","deleteABTest","initPersonalization","initRecommendation","backToCollectionsListRoute","editCollection","itemsCount","items","_m","emptyCollectionTitle","emptyCollectionCopy","learningLibraryRouteTo","emptyCollectionCallToAction","onOrderChange","model","callback","$$v","_l","item","index","deleteContentItem","showConfigureCollectionFlyout","cancelCollectionConfiguration","saveCollection","modifiedCollection","SingleCollectionPage","isLoadingAccountCourseStatuses","collection","isLoadingCollection","getCollectionErrorMessage","isUpdatingCollection","updateCollectionErrorMessage","isDeletingCollectionPost","deleteCollectionPostErrorMessage","accountListStore","setAccountCourseStatuses","finally","fetchCollectionById","getCollection","AlgoliaIndex","posts","contentItems","algoliaToCardData","statusCards","event","moved","updateCollection","userId","postId","showToastMessage","ToastType","Success","ToastPosition","BottomCenter","Error","isLocked","APP_ROUTES","MY_COLLECTIONS","CMS_CATALOG","isEditingLibrary","$route","myCollectionsPageRouteTo","showCollectionsFlyout","Number","deep","CmsCardComponent","OffCanvas","draggable","variant","elevation","options","values","mode","AlgoliaClient","algoliasearch","ALGOLIA_APP_ID","ALGOLIA_API_KEY","ALGOLIA_INDEX_NAME","_typeof","obj","constructor","_defineProperty","_extends","source","hasOwnProperty","_objectSpread","ownKeys","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","pattern","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","addEventListener","off","removeEventListener","matches","selector","msMatchesSelector","webkitMatchesSelector","getParentOrHost","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","state","classList","className","css","prop","val","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","list","getElementsByTagName","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","currentChild","children","display","Sortable","ghost","dragged","lastChild","last","lastElementChild","previousElementSibling","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","extend","dst","src","isRectEqual","rect1","rect2","round","throttle","ms","args","_this","cancelThrottle","scrollBy","Polymer","jQuery","Zepto","dom","cloneNode","setRect","rect","unsetRect","expando","getTime","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","child","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","splice","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","repaint","easing","animated","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","pluginEvent","eventName","sortable","evt","eventCanceled","eventNameGlobal","pluginName","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","dispatchEvent","_ref","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","pullMode","lastPutMode","undefined","allEventProperties","bind","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","activeSortable","active","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","ret","some","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","sort","disabled","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","str","href","sum","charCodeAt","_saveInputCheckedState","root","inputs","idx","checked","_nextTick","_cancelNextTick","contains","_getDirection","touch","pointerType","originalTarget","shadowRoot","composedPath","button","isContentEditable","criteria","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","cssMatrix","appendChild","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","changed","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","handleEvent","toArray","order","getAttribute","destroy","querySelectorAll","removeAttribute","utils","is","nextTick","cancelNextTick","detectDirection","_len","_key","create","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","_ref2","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","lastSwapEl","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","SwapPlugin","Swap","swapClass","dragStart","dragOverValid","swap","prevSwapEl","_ref3","swapNodes","swapItem","n1","n2","i1","i2","p1","p2","isEqualNode","startIndex","_ref4","parentSortable","lastMultiDragSelect","multiDragSortable","dragEl$1","clonesFromRect","clonesHidden","multiDragElements","multiDragClones","initialFolding","folding","MultiDragPlugin","MultiDrag","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragElement","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","sortableIndex","insertMultiDragClones","showClone","hideClone","_ref5","dragStartGlobal","_ref6","multiDrag","_ref7","_this2","removeMultiDragElements","dragOver","_ref8","_ref9","insertMultiDragElements","_ref10","dragRectAbsolute","clonesHiddenBefore","dragOverAnimationCapture","_ref11","dragMatrix","dragOverAnimationComplete","_ref12","originalEvt","shiftKey","lastIndex","currentIndex","multiDragIndex","update","nullingGlobal","destroyGlobal","select","deselect","_this3","oldIndicies","newIndicies","clones","clonesInserted","elementsInserted","factory","self","__WEBPACK_EXTERNAL_MODULE_a352__","modules","installedModules","__webpack_require__","moduleId","getter","toStringTag","__esModule","ns","property","LIBRARY","$export","redefine","hide","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","toInteger","defined","TO_STRING","that","pos","unicode","anObject","global","ignoreCase","multiline","sticky","$keys","enumBugKeys","dP","getKeys","Properties","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","RegExp","string","arg","isObject","cof","ARG","tryGet","callee","has","SRC","$toString","TPL","inspectSource","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","contentWindow","close","uid","USE_SYMBOL","$exports","context","INCLUDES","searchString","createDesc","toObject","ObjectProto","descriptor","ceil","isNaN","bitmap","MATCH","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","core","SHARED","copyright","own","out","exp","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","classof","builtinExec","shared","$includes","IObject","valueOf","gOPS","pIE","$assign","aLen","getSymbols","isEnum","__g","def","tag","__e","IE8_DOM_DEFINE","toPrimitive","Attributes","aFunction","UNSCOPABLES","ArrayProto","toLength","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","maybeCallNative","searchValue","replaceValue","res","rx","functionalReplace","fullUnicode","matchStr","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","symbols","ch","isRegExp","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","forced","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","__webpack_exports__","insertNodeAt","camelize","removeNode","getConsole","cached","cache","hit","regex","node","parentElement","fatherNode","refNode","px","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","STARTS_WITH","$startsWith","startsWith","currentScript","scripts","stack","setPublicPath_i","_arrayWithHoles","_iterableToArrayLimit","_arr","_n","_d","_arrayLikeToArray","len","_unsupportedIterableToArray","minLen","_nonIterableRest","_slicedToArray","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default","helper","buildAttribute","propName","computeVmIndex","vnodes","elt","elm","_computeIndexes","slots","isTransition","footerOffset","elmFromNodes","footerIndex","rawIndexes","ind","emit","evtName","evtData","$nextTick","delegateAndEmit","realList","isTransitionName","vuedraggable_isTransition","_slots","componentOptions","getSlot","slot","scopedSlot","computeChildrenAndOffsets","headerOffset","header","footer","getComponentAttributes","$attrs","componentData","attributes","reduce","props","componentDataAttrs","eventsListened","eventsToEmit","readonlyProperties","draggingElement","noTransitionOnDrag","original","move","draggableComponent","inheritAttrs","transitionMode","noneFunctionalComponentMode","$slots","_computeChildrenAndOf","$scopedSlots","getTag","created","warn","mounted","$el","getIsFunctional","optionsAdded","onDragMove","_sortable","rootContainer","computeIndexes","beforeDestroy","computed","watch","handler","newOptionValue","updateOptions","fnOptions","_vnode","functional","getChildrenNodes","$children","rawNodes","_this4","visibleIndexes","getUnderlyingVm","htmlElt","getUnderlyingPotencialDraggableComponent","vue","__vue__","$options","_componentTag","$parent","emitChanges","_this5","alterList","onList","newList","spliceList","_arguments","updatePosition","getRelatedContextFromMoveEvent","getVmIndex","domIndex","indexes","numberIndexes","getComponent","componentInstance","resetTransitionData","nodes","transitionContainer","kept","onDragStart","_underlying_vm_","onDragAdd","added","onDragRemove","removed","onDragUpdate","updateProperty","propertyName","computeFutureIndex","relatedContext","domChildren","currentDOMIndex","draggedInList","draggedContext","futureIndex","sendEvt","onDragEnd","vuedraggable","getUserCollections","httpIdentityClient","API_CONST","COLLECTIONS","getDefaultCollections","createUserCollection","post","updateCollectionsOrder","deleteUserCollection","validateCollectionName","handleChange","Checkbox","validator","accountDetailResponse","checkBrowserStatus","getAccountDetail","readDataByKey","IDB_NEW_ACCOUNT_INFO","RESPONSE_200","statusText","SUCCESS_RESPONSE_STATUS","RESPONSE_400","httpClient","NEW_ACCOUNTS_DATA_ENDPOINT","setAccountDetailResponse","SAVE_NEW_ACCOUNTS_ENDPOINT","updateAccountDetailResponse","UPDATE_ACCOUNTS_ENDPOINT","fetchExistingAccountData","FETCH_ACCOUNTS_DATA_ENDPOINT","autoSaveAccount","AUTO_SAVE_POST_ACCOUNT_ENDPOINT","writeDataByKey","newAccRes","autoSaveAccountDetails","serviceWorker","ready","sw","sync","register","resourceNotFound","getPanoramaSKU","httpLMSClient","GET_PANORAMAS","getSublicenseByPanorama","panoramaId","getAccountType","httpCMSClient","GET_ACCOUNT_TYPE","ACCOUNT_STATUS","accountId","encodedSearch","decodeURIComponent","selectAllPayload","ENABLE_DISABLE_ACCOUNT"],"mappings":"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","file":"js/chunk-686e66e6.9a6b5690ff708418b04e.1727471474572.min.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/lock.ddfe9bf2.svg\";","import APP_CONST from '@/constants/AppConst';\nimport APP_UTILITIES from '@/utilities/commonFunctions';\nimport { searchTable, getAccountListResponseObj, getLMSCourseStatus } from \"@/services/userService/users-api\";\nimport store from \"@/store\";\nimport {\n getModule,\n Module,\n VuexModule,\n MutationAction,\n Mutation,\n Action\n} from \"vuex-module-decorators\";\nimport { enableDisableAccount, updateAccountStatus } from \"@/services/account/account\";\nimport { CourseAPIResponse, CourseStatusStore } from '@/utilities/cms/courseStatus';\nimport { CourseStatus } from '@/utilities/cmsUtilities';\n@Module({\n namespaced: true,\n name: \"accountListStore\",\n store,\n dynamic: true\n})\n\nexport class AccountListModule extends VuexModule {\n accountsdata: any = {};\n searchdata: any = {};\n public UpdatedAccountRes: any = {}\n public accountsPayload = JSON.parse(JSON.stringify(APP_CONST.ACCOUNT_PAYLOAD))\n public accountsPayloadFull = JSON.parse(JSON.stringify(APP_CONST.ACCOUNT_PAYLOAD_FULL))\n public allAccountDatas: any = [];\n public cmsCourseStatus: CourseStatusStore = {\n [CourseStatus.IN_PROGRESS]: [],\n [CourseStatus.COMPLETE]: [],\n [CourseStatus.TO_DO]: []\n };\n\n get accountList() {\n return this.accountsdata;\n }\n\n get accountPayload() {\n return this.accountsPayload;\n }\n\n get accountAllListData() {\n return this.allAccountDatas;\n }\n\n get fullAccountsPayload() {\n return this.accountsPayloadFull;\n }\n\n @Mutation\n mutateAccountPayload(payload: any) {\n this.accountsPayload = payload;\n }\n\n @Mutation\n mutateAccountsPayloadFull(payload: any) {\n this.accountsPayloadFull = payload;\n }\n\n @MutationAction\n getAccountList(payload: any) {\n payload.search = payload.search.replace(/%20/g, \" \");\n return getAccountListResponseObj(payload).then((response) => {\n response.data\n && response.data.results\n && response.data.results.length\n && response.data.results.forEach((element: any) => {\n element.bxSuccessLeadFullName = element.bxSuccessLeadFullName ? element.bxSuccessLeadFullName.trim() : \"\";\n element.bxPartnerLeadFullName = element.bxPartnerLeadFullName ? element.bxPartnerLeadFullName.trim() : \"\";\n element.primaryAccountAdminFullName = element.primaryAccountAdminFullName ? element.primaryAccountAdminFullName.trim() : \"\";\n element.scheduleDate = element.scheduleDate ? APP_UTILITIES.formatShortDateFullYear(element.scheduleDate) : '';\n element.selected = false;\n });\n return { accountsdata: response };\n }, (error) => {\n return { accountsdata: error };\n });\n }\n\n @Action\n allAccountData(payload: any) {\n return getAccountListResponseObj(payload).then((response: any) => {\n this.mutateAllAccountData(response.data.results)\n })\n }\n\n @Mutation\n mutateAllAccountData(allAccountDatas: any) {\n this.allAccountDatas = allAccountDatas;\n }\n\n @MutationAction\n searchAccountList(search_input: string) {\n return searchTable(search_input).then((response) => {\n return { searchdata: response };\n }, (error) => {\n return { searchdata: error };\n });\n }\n\n @MutationAction\n setAccountCourseStatuses() {\n const storage: CourseStatusStore = {\n [CourseStatus.IN_PROGRESS]: [],\n [CourseStatus.COMPLETE]: [],\n [CourseStatus.TO_DO]: []\n };\n return getLMSCourseStatus().then((response) => {\n const courses: CourseAPIResponse = response.data;\n if (!courses || !courses.length) {\n return { cmsCourseStatus: storage };\n }\n courses.forEach(course => {\n const status = course.status as CourseStatus;\n if (storage[status] && course.courseId) {\n storage[status].push(course.courseId);\n }\n });\n return { cmsCourseStatus: storage };\n }, (error) => {\n return { searchdata: error };\n });\n }\n\n @MutationAction\n public UpdateAccount(payload: object) {\n return updateAccountStatus(payload).then((response: any) => {\n return { UpdatedAccountRes: response };\n }, (error: any) => {\n return { UpdatedAccountRes: error };\n });\n }\n\n @Action\n async enableDisableAccount(payload: any) {\n let response = await enableDisableAccount(payload);\n return response;\n }\n}\nexport default getModule(AccountListModule);","module.exports = __webpack_public_path__ + \"img/folder.f30614ff.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!./BouncingPreloaderComponent.less?vue&type=style&index=0&id=4eff2a66&lang=less&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!./ConfigureLearningLibraryCollection.less?vue&type=style&index=0&id=004a07fe&lang=less&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextMenu.vue?vue&type=style&index=0&id=24a58231&lang=less&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bouncing-preloader\"},[_c('div',{key:\"spinner_loading\",style:({ 'color': _vm.STYLE.COLOR.PRIMARY_700 }),attrs:{\"uk-spinner\":\"ratio: 3.2667\"}}),_c('span',[_vm._v(_vm._s(_vm.getScreenText(\"BOUNCING_PRELOADER_LOADING\")))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component, Prop } from 'vue-property-decorator';\nimport { ScreenText } from '@/lang/ScreenText';\nimport APP_CONST from '@/constants/AppConst';\n\n@Component\nexport class BouncingPreloaderComponent extends Vue {\n @Prop() viewClass!: string;\n\n private screenText: ScreenText = new ScreenText();\n\n readonly STYLE = APP_CONST.STYLE;\n\n public getScreenText(key: string): string {\n return this.screenText.getScreenText(key);\n }\n}","\n\n\n\n\n\n\n\n\n\n\n\nimport { BouncingPreloaderComponent } from '@/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent';\nexport default BouncingPreloaderComponent;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BouncingPreloaderComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BouncingPreloaderComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BouncingPreloaderComponent.vue?vue&type=template&id=4eff2a66&scoped=true&\"\nimport script from \"./BouncingPreloaderComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./BouncingPreloaderComponent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BouncingPreloaderComponent.less?vue&type=style&index=0&id=4eff2a66&lang=less&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 \"4eff2a66\",\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:\"card\",class:{selected: _vm.collectionChecked}},[_c('RouterLink',{staticClass:\"card-container\",class:{small: _vm.small},attrs:{\"to\":_vm.routeTo}},[_c('div',{staticClass:\"card-image\"},[(!_vm.cardData.contentImages || _vm.cardData.contentImages.length === 0)?_c('img',{staticClass:\"card-image-single\",attrs:{\"src\":require(\"../../assets/font-awesomes/folder-open.svg\")}}):(_vm.cardData.contentImages.length <= 3)?_c('img',{staticClass:\"card-image-single\",attrs:{\"src\":_vm.cardData.contentImages.slice(-1)}}):[_c('img',{staticClass:\"card-image-collage\",attrs:{\"src\":_vm.cardData.contentImages.slice(-1)}}),_c('img',{staticClass:\"card-image-collage\",attrs:{\"src\":_vm.cardData.contentImages.slice(-2, -1)}}),_c('img',{staticClass:\"card-image-collage\",attrs:{\"src\":_vm.cardData.contentImages.slice(-3, -2)}}),_c('img',{staticClass:\"card-image-collage\",attrs:{\"src\":_vm.cardData.contentImages.slice(-4, -3)}})]],2),_c('div',{staticClass:\"card-header\"},[(!_vm.small)?_c('span',[_c('img',{attrs:{\"src\":require(\"../../assets/font-awesomes/folder.svg\")}})]):_vm._e(),(!_vm.small)?_c('span',{staticClass:\"card-content-type\"},[_vm._v(\"COLLECTION\")]):_vm._e(),(!_vm.small)?_c('span',{staticClass:\"card-count\"},[_vm._v(_vm._s(_vm.totalItemsText))]):_vm._e(),_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.cardData.title))]),(_vm.small)?_c('span',{staticClass:\"card-count\"},[_vm._v(_vm._s(_vm.totalItemsText))]):_vm._e(),(!_vm.small)?_c('span',{staticClass:\"card-count-mobile\"},[_vm._v(_vm._s(_vm.totalItemsText))]):_vm._e()])]),(_vm.small)?_c('div',{staticClass:\"card-actions active\"},[_c('CmsCheckbox',{attrs:{\"id\":_vm.cardData.collectionId,\"checked\":_vm.collectionChecked},on:{\"change\":_vm.handleSelect}})],1):_vm._e(),(!_vm.small)?_c('div',{staticClass:\"card-actions\"},[(_vm.cardData.isLocked)?_c('img',{attrs:{\"src\":require(\"../../assets/font-awesomes/lock.svg\")}}):_c('div',{staticClass:\"card-context-menu\"},[_c('ContextMenu',{attrs:{\"variant\":\"neutral\",\"elevation\":\"400\",\"mode\":\"click\",\"position\":\"bottom-right\"}},[_c('ContextMenuItem',{on:{\"click\":_vm.handleEdit}},[_vm._v(\"Edit\")]),_c('ContextMenuItem',{on:{\"click\":_vm.handleDelete}},[_vm._v(\"Delete\")])],1)],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CollectionCardData } from '@/utilities/cmsUtilities';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { Location } from 'vue-router';\nimport ContextMenu from '../contextMenuComponents/ContextMenu.vue';\nimport ContextMenuItem from '../contextMenuComponents/ContextMenuItem.vue';\nimport CmsCheckbox from '@/commoncomponents/Checkbox.vue';\n\n@Component({\n name: 'collection-card',\n components: {\n CmsCheckbox,\n ContextMenu,\n ContextMenuItem,\n },\n})\nexport default class CollectionCardComponent extends Vue {\n @Prop({ type: Object })\n cardData!: CollectionCardData;\n\n @Prop({ type: Boolean })\n small?: boolean;\n\n @Prop({ type: Boolean, default: false })\n highlighted!: boolean;\n\n collectionChecked: boolean = false;\n\n @Prop({ type: Boolean })\n learningLibraryEditing?: boolean;\n\n get totalItemsText() {\n return `${this.cardData.totalItems} ${\n this.cardData.totalItems === 1\n ? 'item'\n : 'items'\n }`;\n }\n\n get routeTo(): Location {\n return {\n name: 'Single Collection',\n params: {\n collectionId: this.cardData.collectionId,\n learningLibraryEditing: String(this.cardData.learningLibraryEditing),\n }\n };\n }\n\n @Watch('highlighted', { immediate: true })\n onHighlightedChange(newValue: boolean): void {\n if (!newValue) {\n return;\n }\n this.handleSelect(true);\n }\n\n handleEdit(): void {\n this.$emit('edit', this.cardData);\n }\n\n handleDelete(): void {\n this.$emit('delete', this.cardData);\n }\n\n handleSelect(value: boolean): void {\n this.collectionChecked = value;\n this.$emit('select', {\n selected: this.collectionChecked,\n data: this.cardData,\n });\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport CollectionCardComponent from \"./CollectionCardComponent\";\nexport default CollectionCardComponent;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionCardComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CollectionCardComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CollectionCardComponent.vue?vue&type=template&id=f76bbc3c&scoped=true&\"\nimport script from \"./CollectionCardComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./CollectionCardComponent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CollectionCardComponent.less?vue&type=style&index=0&id=f76bbc3c&lang=less&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 \"f76bbc3c\",\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:\"ConfigureLearningLibraryCollection\"},[_c('section',{staticClass:\"ConfigureLearningLibraryCollection__section\"},[_c('h3',{staticClass:\"ConfigureLearningLibraryCollection__title\"},[_vm._v(\" Configure collection \")]),_c('ValidationProvider',{ref:\"collectionValidationProvider\",staticClass:\"ConfigureLearningLibraryCollection__field\",attrs:{\"custom-messages\":{ required: 'Enter a name.', unique: 'Sorry, that name is already taken.'},\"name\":\"Name\",\"tag\":\"div\",\"rules\":_vm.nameValidationRules,\"mode\":\"passive\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('label',{staticClass:\"ConfigureLearningLibraryCollection__label\",attrs:{\"for\":\"learning-library-collection-name\"}},[_vm._v(\" Name\"),_c('span',{staticClass:\"ConfigureLearningLibraryCollection__required\"},[_vm._v(\"*\")])]),_c('div',{staticClass:\"ConfigureLearningLibraryCollection__description\"},[_vm._v(\" Give your collection a unique name. \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.collectionName),expression:\"collectionName\",modifiers:{\"trim\":true}}],staticClass:\"ConfigureLearningLibraryCollection__input\",attrs:{\"type\":\"text\",\"required\":\"\"},domProps:{\"value\":(_vm.collectionName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.collectionName=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(errors[0]),expression:\"errors[0]\"}],staticClass:\"ConfigureLearningLibraryCollection__error\"},[_c('i',{staticClass:\"fa-solid fa-exclamation-circle\"}),_vm._v(\" \"+_vm._s(errors[0])+\" \")])]}}])}),_c('div',{staticClass:\"ConfigureLearningLibraryCollection__actions\"},[_c('button',{staticClass:\"btn-secondary\",on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")]),_c('button',{staticClass:\"btn-primary\",on:{\"click\":_vm.save}},[_vm._v(\" Save \")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { CollectionsDto } from '@/Model/collections/types';\nimport { ValidationProvider } from 'vee-validate';\nimport { ProviderInstance } from 'vee-validate/dist/types/types';\nimport { PropType } from 'vue';\nimport { Component, Model, Ref, Vue } from 'vue-property-decorator';\nimport {validateCollectionName} from '@/services/collections/api';\nimport {collectionNameValidationRules} from \"@/utilities/collectionsUtilities\";\n\n@Component({\n components: {\n ValidationProvider,\n }\n})\nexport default class ConfigureLearningLibraryCollection extends Vue {\n @Model('update:modelValue', { type: Object as PropType })\n readonly modelValue!: CollectionsDto;\n\n @Ref('collectionValidationProvider')\n public collectionValidationProvider?: ProviderInstance;\n\n get collectionName(): string {\n return this.modelValue.name;\n }\n\n set collectionName(newValue: string) {\n this.$emit('update:modelValue', {\n ...this.modelValue,\n name: newValue,\n });\n }\n\n resetValidation(): void {\n this.collectionValidationProvider && this.collectionValidationProvider.reset();\n }\n\n get nameValidationRules(): Record {\n return collectionNameValidationRules();\n }\n\n async save(): Promise {\n if (!this.collectionValidationProvider) {\n return;\n }\n\n const { valid } = await this.collectionValidationProvider.validate();\n\n if (!valid) {\n return;\n }\n\n this.$emit('save');\n\n this.resetValidation();\n }\n\n cancel(): void {\n this.$emit('cancel');\n this.resetValidation();\n }\n}\n","\n\nimport ConfigureLearningLibraryCollection from './ConfigureLearningLibraryCollection';\nexport default ConfigureLearningLibraryCollection;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigureLearningLibraryCollection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigureLearningLibraryCollection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfigureLearningLibraryCollection.vue?vue&type=template&id=004a07fe&scoped=true&\"\nimport script from \"./ConfigureLearningLibraryCollection.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfigureLearningLibraryCollection.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ConfigureLearningLibraryCollection.less?vue&type=style&index=0&id=004a07fe&lang=less&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 \"004a07fe\",\n null\n \n)\n\nexport default component.exports","import { ContentCardData, CourseStatus } from \"../cmsUtilities\";\n\nexport type CourseResponseItem = {\n courseId: String;\n status: CourseStatus;\n};\n\nexport type CourseAPIResponse = Array;\n\nexport type CourseStatusStore = Record>;\n\nconst checkStatus = (courseId: String, store: CourseStatusStore) => {\n let result = CourseStatus.TO_DO;\n if (store[CourseStatus.COMPLETE].includes(courseId)) {\n return CourseStatus.COMPLETE;\n } else if (store[CourseStatus.IN_PROGRESS].includes(courseId)) {\n return CourseStatus.IN_PROGRESS;\n }\n return result;\n};\n\nexport const getCourseStatus = (\n courseIds: Array,\n store: CourseStatusStore\n) => {\n if (courseIds.length > 1) {\n // Learning Path\n const allStatuses = courseIds.map(id => checkStatus(id, store));\n if (allStatuses.includes(CourseStatus.IN_PROGRESS)) {\n return CourseStatus.IN_PROGRESS;\n } else {\n const allComplete =\n allStatuses.filter(stat => stat === CourseStatus.COMPLETE).length ===\n courseIds.length;\n const someComplete = allStatuses.includes(CourseStatus.COMPLETE);\n if (allComplete) {\n return CourseStatus.COMPLETE;\n } else if (someComplete) {\n //User has finished one section of a course and not started another;\n return CourseStatus.IN_PROGRESS;\n } else {\n return CourseStatus.TO_DO;\n }\n }\n } else if (courseIds.length === 1) {\n // Normal Course\n const courseId = courseIds[0];\n return checkStatus(courseId, store);\n }\n};\n\nexport const getCourseCardStatus: (\n cards: Array,\n store: CourseStatusStore\n) => Array = (cards, store) => {\n return cards.map(card => {\n if (card.tiCourseIds) {\n if (card.tiCourseIds.length === 0) {\n return card;\n } else {\n //Lookup Status\n const cardData: ContentCardData = {\n ...card,\n courseStatus: getCourseStatus(card.tiCourseIds, store)\n };\n return cardData;\n }\n } else {\n return card;\n }\n });\n};\n","/*! algoliasearch.umd.js | 4.17.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).algoliasearch=e()}(this,(function(){\"use strict\";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var r=JSON.stringify(t),n=o()[r];return Promise.all([n||e(),void 0!==n])})).then((function(t){var e=a(t,2),n=e[0],o=e[1];return Promise.all([n,o||r.miss(n)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(t)]=e,n().setItem(r,JSON.stringify(a)),e}))},delete:function(t){return Promise.resolve().then((function(){var e=o();delete e[JSON.stringify(t)],n().setItem(r,JSON.stringify(e))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function u(t){var e=o(t.caches),r=e.shift();return void 0===r?{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=e();return n.then((function(t){return Promise.all([t,r.miss(t)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve(e)},delete:function(t){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(t,n,a).catch((function(){return u({caches:e}).get(t,n,a)}))},set:function(t,n){return r.set(t,n).catch((function(){return u({caches:e}).set(t,n)}))},delete:function(t){return r.delete(t).catch((function(){return u({caches:e}).delete(t)}))},clear:function(){return r.clear().catch((function(){return u({caches:e}).clear()}))}}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in e)return Promise.resolve(t.serializable?JSON.parse(e[o]):e[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(t){return u(t)})).then((function(){return i}))},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(t){return delete e[JSON.stringify(t)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function c(t,e,r){var n={\"x-algolia-api-key\":r,\"x-algolia-application-id\":e};return{headers:function(){return t===m.WithinHeaders?n:{}},queryParameters:function(){return t===m.WithinQueryParameters?n:{}}}}function f(t){var e=0;return t((function r(){return e++,new Promise((function(n){setTimeout((function(){n(t(r))}),Math.min(100*e,1e3))}))}))}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return Promise.resolve()};return Object.assign(t,{wait:function(r){return d(t.then((function(t){return Promise.all([e(t,r),t])})).then((function(t){return t[1]})))}})}function l(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function p(t,e){return e?(Object.keys(e).forEach((function(r){t[r]=e[r](t)})),t):t}function h(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var g={Read:1,Write:2,Any:3},v=1,b=2,P=3;function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return r(r({},t),{},{status:e,lastUpdate:Date.now()})}function O(t){return\"string\"==typeof t?{protocol:\"https\",url:t,accept:g.Any}:{protocol:t.protocol||\"https\",url:t.url,accept:t.accept||g.Any}}var I=\"DELETE\",x=\"GET\",j=\"POST\",D=\"PUT\";function q(t,e){return Promise.all(e.map((function(e){return t.get(e,(function(){return Promise.resolve(w(e))}))}))).then((function(t){var r=t.filter((function(t){return function(t){return t.status===v||Date.now()-t.lastUpdate>12e4}(t)})),n=t.filter((function(t){return function(t){return t.status===P&&Date.now()-t.lastUpdate<=12e4}(t)})),a=[].concat(o(r),o(n));return{getTimeout:function(t,e){return(0===n.length&&0===t?1:n.length+3+t)*e},statelessHosts:a.length>0?a.map((function(t){return O(t)})):e}}))}function S(t,e,n,a){var i=[],u=function(t,e){if(t.method===x||void 0===t.data&&void 0===e.data)return;var n=Array.isArray(t.data)?t.data:r(r({},t.data),e.data);return JSON.stringify(n)}(n,a),s=function(t,e){var n=r(r({},t.headers),e.headers),a={};return Object.keys(n).forEach((function(t){var e=n[t];a[t.toLowerCase()]=e})),a}(t,a),c=n.method,f=n.method!==x?{}:r(r({},n.data),a.data),d=r(r(r({\"x-algolia-agent\":t.userAgent.value},t.queryParameters),f),a.queryParameters),l=0,p=function e(r,o){var f=r.pop();if(void 0===f)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.\",transporterStackTrace:R(i)};var p={data:u,headers:s,method:c,url:N(f,n.path,d),connectTimeout:o(l,t.timeouts.connect),responseTimeout:o(l,a.timeout)},h=function(t){var e={request:p,response:t,host:f,triesLeft:r.length};return i.push(e),e},m={onSuccess:function(t){return function(t){try{return JSON.parse(t.content)}catch(e){throw function(t,e){return{name:\"DeserializationError\",message:t,response:e}}(e.message,t)}}(t)},onRetry:function(n){var a=h(n);return n.isTimedOut&&l++,Promise.all([t.logger.info(\"Retryable failure\",A(a)),t.hostsCache.set(f,w(f,n.isTimedOut?P:b))]).then((function(){return e(r,o)}))},onFail:function(t){throw h(t),function(t,e){var r=t.content,n=t.status,a=r;try{a=JSON.parse(r).message}catch(t){}return function(t,e,r){return{name:\"ApiError\",message:t,status:e,transporterStackTrace:r}}(a,n,e)}(t,R(i))}};return t.requester.send(p).then((function(t){return function(t,e){return function(t){var e=t.status;return t.isTimedOut||function(t){var e=t.isTimedOut,r=t.status;return!e&&0==~~r}(t)||2!=~~(e/100)&&4!=~~(e/100)}(t)?e.onRetry(t):2==~~(t.status/100)?e.onSuccess(t):e.onFail(t)}(t,m)}))};return q(t.hostsCache,e).then((function(t){return p(o(t.statelessHosts).reverse(),t.getTimeout)}))}function k(t){var e=t.hostsCache,r=t.logger,n=t.requester,o=t.requestsCache,i=t.responsesCache,u=t.timeouts,s=t.userAgent,c=t.hosts,f=t.queryParameters,d={hostsCache:e,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:u,userAgent:s,headers:t.headers,queryParameters:f,hosts:c.map((function(t){return O(t)})),read:function(t,e){var r=y(e,d.timeouts.read),n=function(){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Read)})),t,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:t.cacheable))return n();var o={request:t,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(function(){return d.requestsCache.get(o,(function(){return d.requestsCache.set(o,n()).then((function(t){return Promise.all([d.requestsCache.delete(o),t])}),(function(t){return Promise.all([d.requestsCache.delete(o),Promise.reject(t)])})).then((function(t){var e=a(t,2);e[0];return e[1]}))}))}),{miss:function(t){return d.responsesCache.set(o,t)}})},write:function(t,e){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Write)})),t,y(e,d.timeouts.write))}};return d}function T(t){var e={value:\"Algolia for JavaScript (\".concat(t,\")\"),add:function(t){var r=\"; \".concat(t.segment).concat(void 0!==t.version?\" (\".concat(t.version,\")\"):\"\");return-1===e.value.indexOf(r)&&(e.value=\"\".concat(e.value).concat(r)),e}};return e}function N(t,e,r){var n=E(r),a=\"\".concat(t.protocol,\"://\").concat(t.url,\"/\").concat(\"/\"===e.charAt(0)?e.substr(1):e);return n.length&&(a+=\"?\".concat(n)),a}function E(t){return Object.keys(t).map((function(e){return h(\"%s=%s\",e,(r=t[e],\"[object Object]\"===Object.prototype.toString.call(r)||\"[object Array]\"===Object.prototype.toString.call(r)?JSON.stringify(t[e]):t[e]));var r})).join(\"&\")}function R(t){return t.map((function(t){return A(t)}))}function A(t){var e=t.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return r(r({},t),{},{request:r(r({},t.request),{},{headers:r(r({},t.request.headers),e)})})}var C=function(t){return function(e,r){return t.transporter.write({method:j,path:\"2/abtests\",data:e},r)}},U=function(t){return function(e,r){return t.transporter.write({method:I,path:h(\"2/abtests/%s\",e)},r)}},z=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"2/abtests/%s\",e)},r)}},J=function(t){return function(e){return t.transporter.read({method:x,path:\"2/abtests\"},e)}},F=function(t){return function(e,r){return t.transporter.write({method:j,path:h(\"2/abtests/%s/stop\",e)},r)}},H=function(t){return function(e){return t.transporter.read({method:x,path:\"1/strategies/personalization\"},e)}},M=function(t){return function(e,r){return t.transporter.write({method:j,path:\"1/strategies/personalization\",data:e},r)}};function K(t){return function e(r){return t.request(r).then((function(n){if(void 0!==t.batch&&t.batch(n.hits),!t.shouldStop(n))return n.cursor?e({cursor:n.cursor}):e({page:(r.page||0)+1})}))}({})}var W=function(t){return function(e,a){var o=a||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=r({acl:e},void 0!==i?{queryParameters:i}:{});return d(t.transporter.write({method:j,path:\"1/keys\",data:s},u),(function(e,r){return f((function(n){return tt(t)(e.key,r).catch((function(t){if(404!==t.status)throw t;return n()}))}))}))}},B=function(t){return function(e,r,n){var a=y(n);return a.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:j,path:\"1/clusters/mapping\",data:{cluster:r}},a)}},Q=function(t){return function(e,r,n){return t.transporter.write({method:j,path:\"1/clusters/mapping/batch\",data:{users:e,cluster:r}},n)}},G=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:{action:\"addEntry\",body:[]}}},r),(function(e,r){return jt(t)(e.taskID,r)}))}},L=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"copy\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},V=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Rules]}))}},_=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Settings]}))}},X=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Synonyms]}))}},Y=function(t){return function(e,r){return e.method===x?t.transporter.read(e,r):t.transporter.write(e,r)}},Z=function(t){return function(e,r){return d(t.transporter.write({method:I,path:h(\"1/keys/%s\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).then(r).catch((function(t){if(404!==t.status)throw t}))}))}))}},$=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"deleteEntry\",body:{objectID:t}}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},tt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/keys/%s\",e)},r)}},et=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/task/%s\",e.toString())},r)}},rt=function(t){return function(e){return t.transporter.read({method:x,path:\"/1/dictionaries/*/settings\"},e)}},nt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/logs\"},e)}},at=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping/top\"},e)}},ot=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/clusters/mapping/%s\",e)},r)}},it=function(t){return function(e){var r=e||{},a=r.retrieveMappings,o=n(r,[\"retrieveMappings\"]);return!0===a&&(o.getClusters=!0),t.transporter.read({method:x,path:\"1/clusters/mapping/pending\"},o)}},ut=function(t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return p(n,r.methods)}},st=function(t){return function(e){return t.transporter.read({method:x,path:\"1/keys\"},e)}},ct=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters\"},e)}},ft=function(t){return function(e){return t.transporter.read({method:x,path:\"1/indexes\"},e)}},dt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping\"},e)}},lt=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"move\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},pt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:\"1/indexes/*/batch\",data:{requests:e}},r),(function(e,r){return Promise.all(Object.keys(e.taskID).map((function(n){return ut(t)(n,{methods:{waitTask:de}}).waitTask(e.taskID[n],r)})))}))}},ht=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:e}},r)}},mt=function(t){return function(e,n){var a=e.map((function(t){return r(r({},t),{},{params:E(t.params||{})})}));return t.transporter.read({method:j,path:\"1/indexes/*/queries\",data:{requests:a},cacheable:!0},n)}},yt=function(t){return function(e,a){return Promise.all(e.map((function(e){var o=e.params,i=o.facetName,u=o.facetQuery,s=n(o,[\"facetName\",\"facetQuery\"]);return ut(t)(e.indexName,{methods:{searchForFacetValues:ue}}).searchForFacetValues(i,u,r(r({},a),s))})))}},gt=function(t){return function(e,r){var n=y(r);return n.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:I,path:\"1/clusters/mapping\"},n)}},vt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},bt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/keys/%s/restore\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).catch((function(t){if(404!==t.status)throw t;return r()}))}))}))}},Pt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},wt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"/1/dictionaries/%s/search\",e),data:{query:r},cacheable:!0},n)}},Ot=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/clusters/mapping/search\",data:{query:e}},r)}},It=function(t){return function(e,r){return d(t.transporter.write({method:D,path:\"/1/dictionaries/*/settings\",data:e},r),(function(e,r){return jt(t)(e.taskID,r)}))}},xt=function(t){return function(e,r){var a=Object.assign({},r),o=r||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=i?{queryParameters:i}:{},c=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"];return d(t.transporter.write({method:D,path:h(\"1/keys/%s\",e),data:s},u),(function(r,n){return f((function(r){return tt(t)(e,n).then((function(t){return function(t){return Object.keys(a).filter((function(t){return-1!==c.indexOf(t)})).every((function(e){return t[e]===a[e]}))}(t)?Promise.resolve():r()}))}))}))}},jt=function(t){return function(e,r){return f((function(n){return et(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},Dt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/batch\",t.indexName),data:{requests:e}},r),(function(e,r){return de(t)(e.taskID,r)}))}},qt=function(t){return function(e){return K(r(r({shouldStop:function(t){return void 0===t.cursor}},e),{},{request:function(r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/browse\",t.indexName),data:r},e)}}))}},St=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a=t.nbPages)throw{name:\"ObjectNotFoundError\",message:\"Object not found.\"};return n()}))}()}},Wt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/%s\",t.indexName,e)},r)}},Bt=function(){return function(t,e){for(var r=0,n=Object.entries(t.hits);rr.OPENED&&void 0===n&&(clearTimeout(o),n=a(t.responseTimeout,\"Socket timeout\"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),e({content:r.responseText||\"Network request failed\",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),e({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(t.data)}))}},logger:(a=ye,{debug:function(t,e){return he>=a&&console.debug(t,e),Promise.resolve()},info:function(t,e){return me>=a&&console.info(t,e),Promise.resolve()},error:function(t,e){return console.error(t,e),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:u({caches:[i({key:\"\".concat(\"4.17.0\",\"-\").concat(t)}),s()]}),userAgent:T(\"4.17.0\").add({segment:\"Browser\"})},f=r(r({},o),n),d=function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"personalization.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{getPersonalizationStrategy:H,setPersonalizationStrategy:M}}))}};return function(t){var e=t.appId,n=c(void 0!==t.authMode?t.authMode:m.WithinHeaders,e,t.apiKey),a=k(r(r({hosts:[{url:\"\".concat(e,\"-dsn.algolia.net\"),accept:g.Read},{url:\"\".concat(e,\".algolia.net\"),accept:g.Write}].concat(l([{url:\"\".concat(e,\"-1.algolianet.com\")},{url:\"\".concat(e,\"-2.algolianet.com\")},{url:\"\".concat(e,\"-3.algolianet.com\")}]))},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({transporter:a,appId:e,addAlgoliaAgent:function(t,e){a.userAgent.add({segment:t,version:e})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},t.methods)}(r(r({},f),{},{methods:{search:mt,searchForFacetValues:yt,multipleBatch:pt,multipleGetObjects:ht,multipleQueries:mt,copyIndex:L,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:lt,listIndices:ft,getLogs:nt,listClusters:ct,multipleSearchForFacetValues:yt,getApiKey:tt,addApiKey:W,listApiKeys:st,updateApiKey:xt,deleteApiKey:Z,restoreApiKey:bt,assignUserID:B,assignUserIDs:Q,getUserID:ot,searchUserIDs:Ot,listUserIDs:dt,getTopUserIDs:at,removeUserID:gt,hasPendingMappings:it,clearDictionaryEntries:G,deleteDictionaryEntries:$,getDictionarySettings:rt,getAppTask:et,replaceDictionaryEntries:vt,saveDictionaryEntries:Pt,searchDictionaryEntries:wt,setDictionarySettings:It,waitAppTask:jt,customRequest:Y,initIndex:function(t){return function(e){return ut(t)(e,{methods:{batch:Dt,delete:Ct,findAnswers:Mt,getObject:Wt,getObjects:Qt,saveObject:te,saveObjects:ee,search:ie,searchForFacetValues:ue,waitTask:de,setSettings:fe,getSettings:Lt,partialUpdateObject:_t,partialUpdateObjects:Xt,deleteObject:Ut,deleteObjects:zt,deleteBy:At,clearObjects:Nt,browseObjects:qt,getObjectPosition:Bt,findObject:Kt,exists:Ht,saveSynonym:ae,saveSynonyms:oe,getSynonym:Vt,searchSynonyms:ce,browseSynonyms:kt,deleteSynonym:Ft,clearSynonyms:Rt,replaceAllObjects:Yt,replaceAllSynonyms:$t,searchRules:se,getRule:Gt,deleteRule:Jt,saveRule:re,saveRules:ne,replaceAllRules:Zt,browseRules:St,clearRules:Et}})}},initAnalytics:function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"analytics.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{addABTest:C,getABTest:z,getABTests:J,stopABTest:F,deleteABTest:U}}))}},initPersonalization:d,initRecommendation:function(){return function(t){return f.logger.info(\"The `initRecommendation` method is deprecated. Use `initPersonalization` instead.\"),d()(t)}}}}))}return ge.version=\"4.17.0\",ge}));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"SingleCollectionPage\"},[_c('div',{staticClass:\"SingleCollectionPage__container\"},[_c('div',{staticClass:\"SingleCollectionPage__nav\"},[_c('RouterLink',{staticClass:\"SingleCollectionPage__link\",attrs:{\"to\":_vm.backToCollectionsListRoute}},[_c('i',{staticClass:\"fa-solid fa-chevron-left\"}),_vm._v(\" Back \")])],1),_c('div',{staticClass:\"SingleCollectionPage__header\"},[_c('h2',{staticClass:\"SingleCollectionPage__title\"},[_vm._v(\" \"+_vm._s(_vm.collectionName)+\" \")]),(_vm.canEdit)?_c('div',[_c('button',{staticClass:\"SingleCollectionPage__button\",on:{\"click\":_vm.editCollection}},[_c('i',{staticClass:\"fa-solid fa-pencil\"})])]):_vm._e()]),_c('div',{staticClass:\"SingleCollectionPage__content\"},[_c('div',{staticClass:\"SingleCollectionPage__count\"},[_vm._v(_vm._s(_vm.itemsCount)+\" items\")]),(_vm.isLoading)?_c('div',[_c('BouncingPreloaderComponent')],1):(_vm.items.length === 0)?_c('div',{staticClass:\"SingleCollectionPage__empty\"},[_vm._m(0),_c('div',{staticClass:\"SingleCollectionPage__empty-info\"},[_c('h2',{staticClass:\"SingleCollectionPage__empty-title\"},[_vm._v(\" \"+_vm._s(_vm.emptyCollectionTitle)+\" \")]),_c('div',{staticClass:\"SingleCollectionPage__empty-copy\"},[_vm._v(\" \"+_vm._s(_vm.emptyCollectionCopy)+\" \")])]),_c('div',{staticClass:\"SingleCollectionPage__empty-actions\"},[_c('RouterLink',{staticClass:\"SingleCollectionPage__empty-cta btn-primary\",attrs:{\"to\":_vm.learningLibraryRouteTo}},[_vm._v(\" \"+_vm._s(_vm.emptyCollectionCallToAction)+\" \")])],1)]):_c('div',{staticClass:\"SingleCollectionPage__items\"},[_c('draggable',{on:{\"change\":_vm.onOrderChange},model:{value:(_vm.items),callback:function ($$v) {_vm.items=$$v},expression:\"items\"}},_vm._l((_vm.items),function(item,index){return _c('CmsCardComponent',{key:index,staticClass:\"SingleCollectionPage__item\",attrs:{\"card-data\":item,\"is-horizontal-card\":\"\",\"full-width\":\"\",\"with-remove-icon\":\"\"},on:{\"delete\":_vm.deleteContentItem}})}),1)],1)])]),_c('OffCanvas',{staticClass:\"SingleCollectionPage__off-canvas\",attrs:{\"isVisible\":_vm.showConfigureCollectionFlyout},on:{\"update:isVisible\":function($event){_vm.showConfigureCollectionFlyout=$event},\"update:is-visible\":function($event){_vm.showConfigureCollectionFlyout=$event},\"onClose\":_vm.cancelCollectionConfiguration}},[(_vm.modifiedCollection)?_c('ConfigureLearningLibraryCollection',{on:{\"cancel\":_vm.cancelCollectionConfiguration,\"save\":_vm.saveCollection},model:{value:(_vm.modifiedCollection),callback:function ($$v) {_vm.modifiedCollection=$$v},expression:\"modifiedCollection\"}}):_vm._e()],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"SingleCollectionPage__empty-illustration\"},[_c('i',{staticClass:\"SingleCollectionPage__empty-icon fa-solid fa-folder-open\"})])}]\n\nexport { render, staticRenderFns }","import { CollectionsDto } from '@/Model/collections/types';\nimport CmsCardComponent from '@/commoncomponents/CmsCardComponent/CmsCardComponent.vue';\nimport CollectionCardComponent from '@/commoncomponents/CollectionCardComponent/CollectionCardComponent.vue';\nimport OffCanvas from '@/commoncomponents/OffCanvas.vue';\nimport BouncingPreloaderComponent from '@/commoncomponents/bouncingpreloadercomponent/BouncingPreloaderComponent.vue';\nimport ConfigureLearningLibraryCollection from '@/components/learningLibrary/ConfigureLearningLibraryCollection.vue';\nimport APP_CONST from '@/constants/AppConst';\nimport { ScreenText } from '@/lang/ScreenText';\nimport { AlgoliaIndex } from '@/services/cms/algoliaService';\nimport { getCollection, updateCollection } from '@/services/collections/api';\nimport {\n AlgoliaHitObject,\n ContentCardData,\n algoliaToCardData\n} from '@/utilities/cmsUtilities';\nimport APP_UTILITIES from '@/utilities/commonFunctions';\nimport { AxiosError } from 'axios';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { Location } from 'vue-router';\nimport accountListStore from '@/store/modules/accountsList';\nimport { getCourseCardStatus } from '@/utilities/cms/courseStatus';\nimport { ToastType } from '@/Model/toastType';\nimport { ToastPosition } from '@/Model/toastPosition';\nimport draggable from 'vuedraggable';\n\n@Component({\n components: {\n CmsCardComponent,\n CollectionCardComponent,\n ConfigureLearningLibraryCollection,\n OffCanvas,\n BouncingPreloaderComponent,\n draggable\n }\n})\nexport default class SingleCollectionPage extends Vue {\n @Prop({ type: Number, required: true }) collectionId!: number;\n private screenText = new ScreenText();\n\n public isLoadingAccountCourseStatuses = false;\n\n public collection: CollectionsDto | null = null;\n public items: ContentCardData[] = [];\n public modifiedCollection: CollectionsDto | null = null;\n\n public isLoadingCollection = false;\n public getCollectionErrorMessage: null | string = null;\n\n public isUpdatingCollection = false;\n public updateCollectionErrorMessage: null | string = null;\n\n public isDeletingCollectionPost = false;\n public deleteCollectionPostErrorMessage: null | string = null;\n\n public showConfigureCollectionFlyout = false;\n\n @Watch('collectionId', { immediate: true })\n collectionIdWatcher(): void {\n this.isLoadingAccountCourseStatuses = true;\n accountListStore.setAccountCourseStatuses().finally(() => {\n this.isLoadingAccountCourseStatuses = false;\n });\n }\n\n @Watch('cmsCourseStatus', { deep: true })\n cmsCourseStatusWatcher(): void {\n this.fetchCollectionById(this.collectionId);\n }\n\n get canEdit(): boolean {\n if (this.collection == null) {\n return false;\n }\n\n return !this.collection.isLocked;\n }\n\n get isLoading(): boolean {\n return this.isLoadingAccountCourseStatuses || this.isLoadingCollection;\n }\n\n get collectionName(): string {\n return this.collection\n ? this.collection.name\n : '';\n }\n\n get itemsCount(): number {\n return this.items.length;\n }\n\n get myCollectionsPageRouteTo(): Location {\n return {\n name: APP_CONST.APP_ROUTES.MY_COLLECTIONS.name\n };\n }\n\n get learningLibraryRouteTo(): Location {\n return {\n name: APP_CONST.APP_ROUTES.CMS_CATALOG.name\n };\n }\n\n get backToCollectionsListRoute(): Location {\n const isEditingLibrary = this.$route.params.learningLibraryEditing === 'false';\n\n if (isEditingLibrary) {\n return this.myCollectionsPageRouteTo;\n }\n else {\n return {\n ...this.learningLibraryRouteTo,\n query: { ...this.learningLibraryRouteTo.query, showCollectionsFlyout: 'true' }\n };\n }\n }\n\n get emptyCollectionTitle(): string {\n return this.screenText.getScreenText('EMPTY_COLLECTION_TITLE');\n }\n\n get emptyCollectionCopy(): string {\n return this.screenText.getScreenText('EMPTY_COLLECTION_COPY');\n }\n\n get emptyCollectionCallToAction(): string {\n return this.screenText.getScreenText('EMPTY_COLLECTION_CTA');\n }\n\n get cmsCourseStatus() {\n return accountListStore.cmsCourseStatus;\n }\n\n public async fetchCollectionById(id: number): Promise {\n try {\n this.isLoadingCollection = true;\n this.getCollectionErrorMessage = null;\n\n const { data } = await getCollection({ id });\n\n this.collection = data;\n\n const { results } = await AlgoliaIndex.getObjects(\n data.posts\n );\n\n const contentItems: AlgoliaHitObject[] = [];\n\n for (const result of results) {\n if (!result) {\n continue;\n }\n contentItems.push(result);\n }\n\n const cards = algoliaToCardData(contentItems);\n const statusCards = getCourseCardStatus(\n cards,\n accountListStore.cmsCourseStatus\n );\n this.items = statusCards;\n }\n catch (error) {\n this.getCollectionErrorMessage = (error as AxiosError | Error).message;\n }\n finally {\n this.isLoadingCollection = false;\n }\n }\n\n public async onOrderChange(event: any): Promise {\n if (!event.moved || !this.items || !this.collection) {\n return;\n }\n this.collection.posts = this.items.map(item => item.id) as string[];\n this.modifiedCollection = { ...this.collection };\n await this.saveCollection();\n }\n\n public editCollection(): void {\n if (!this.collection) {\n return;\n }\n this.modifiedCollection = { ...this.collection };\n this.showConfigureCollectionFlyout = true;\n }\n\n public cancelCollectionConfiguration(): void {\n this.showConfigureCollectionFlyout = false;\n this.modifiedCollection = null;\n }\n\n public async saveCollection(): Promise {\n if (!this.modifiedCollection) {\n return;\n }\n\n try {\n this.isUpdatingCollection = true;\n this.updateCollectionErrorMessage = null;\n\n await updateCollection({\n id: this.modifiedCollection.id,\n name: this.modifiedCollection.name,\n userId: APP_UTILITIES.getUserID(),\n posts: this.modifiedCollection.posts\n });\n\n this.collection = { ...this.modifiedCollection };\n this.showConfigureCollectionFlyout = false;\n this.modifiedCollection = null;\n }\n catch (error) {\n this.updateCollectionErrorMessage = (error as AxiosError | Error).message;\n }\n finally {\n this.isUpdatingCollection = false;\n }\n }\n\n public async deleteContentItem({ id }: ContentCardData): Promise {\n if (!this.collection || !id) {\n return;\n }\n\n this.modifiedCollection = {\n ...this.collection,\n posts: this.collection.posts.filter(postId => postId !== id)\n };\n\n try {\n this.isDeletingCollectionPost = true;\n this.deleteCollectionPostErrorMessage = null;\n\n await updateCollection({\n id: this.modifiedCollection.id,\n name: this.modifiedCollection.name,\n userId: APP_UTILITIES.getUserID(),\n posts: this.modifiedCollection.posts\n });\n\n this.collection = { ...this.modifiedCollection };\n this.items = this.items.filter(item => item.id !== id);\n this.modifiedCollection = null;\n\n APP_UTILITIES.showToastMessage(\n '1 removed',\n ToastType.Success,\n ToastPosition.BottomCenter\n );\n }\n catch (error) {\n this.deleteCollectionPostErrorMessage = (error as\n | AxiosError\n | Error).message;\n\n APP_UTILITIES.showToastMessage(\n 'Removing content failed',\n ToastType.Error,\n ToastPosition.BottomCenter\n );\n }\n finally {\n this.isDeletingCollectionPost = false;\n }\n }\n}\n","\nimport SingleCollectionPage from './SingleCollectionPage';\nexport default SingleCollectionPage;\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleCollectionPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleCollectionPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SingleCollectionPage.vue?vue&type=template&id=3627cce0&scoped=true&\"\nimport script from \"./SingleCollectionPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./SingleCollectionPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SingleCollectionPage.less?vue&type=style&index=0&id=3627cce0&lang=less&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 \"3627cce0\",\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:\"context-kebab-menu uk-flex-none\"},[_c('div',{class:[\n 'context-kebab-trigger',\n (\"context-kebab-trigger--\" + _vm.variant)\n ]},[_c('i',{staticClass:\"fa-solid fa-ellipsis-vertical\",attrs:{\"alt\":\"Context Menu\"}})]),_c('div',{class:[\n 'context-kebab-dropdown',\n (\"context-kebab-dropdown--elevation-\" + _vm.elevation)\n ],attrs:{\"uk-dropdown\":_vm.options}},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ContextMenuItem from '@/commoncomponents/contextMenuComponents/ContextMenuItem.vue';\nimport { PropType } from 'vue';\n\nconst variants = ['neutral', 'primary'] as const;\ntype ContextMenuVariant = typeof variants[number];\n\nconst elevations = ['100', '200', '300', '400'] as const;\ntype ContextMenuElevation = typeof elevations[number];\n\nconst modes = ['hover', 'click'] as const;\ntype ContextMenuMode = typeof modes[number];\n\nconst positions = [\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-left',\n 'bottom-center',\n 'bottom-right',\n 'left-top',\n 'left-center',\n 'left-bottom',\n 'right-top',\n 'right-center',\n 'right-bottom',\n] as const;\ntype ContextMenuPosition = typeof positions[number];\n\n@Component({\n components: {\n ContextMenuItem\n }\n})\nexport default class ContextMenu extends Vue {\n @Prop({ type: String as PropType, default: 'primary' })\n variant!: ContextMenuVariant;\n\n @Prop({ type: String as PropType, default: '300' })\n elevation!: ContextMenuElevation;\n\n @Prop({ type: String as PropType, default: 'click' })\n mode!: ContextMenuMode;\n\n @Prop({ type: String as PropType, default: '' })\n position!: ContextMenuPosition;\n\n get options(): string {\n const values = [`mode: ${this.mode}`];\n\n if (this.position) {\n values.push(`pos: ${this.position}`);\n }\n\n return values.join(';');\n }\n}\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContextMenu.vue?vue&type=template&id=24a58231&scoped=true&\"\nimport script from \"./ContextMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContextMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ContextMenu.vue?vue&type=style&index=0&id=24a58231&lang=less&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 \"24a58231\",\n null\n \n)\n\nexport default component.exports","import APP_CONST from '@/constants/AppConst';\nimport algoliasearch from 'algoliasearch';\n\nexport const AlgoliaClient = algoliasearch(APP_CONST.ALGOLIA_APP_ID, APP_CONST.ALGOLIA_API_KEY);\n\nexport const AlgoliaIndex = AlgoliaClient.initIndex(APP_CONST.ALGOLIA_INDEX_NAME);\n","module.exports = __webpack_public_path__ + \"img/folder-open.e5016a12.svg\";","/**!\n * Sortable 1.10.2\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar version = \"1.10.2\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !!\n /*@__PURE__*/\n navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\n\n\nfunction getChild(el, childNum, options) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, [\"evt\"]);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n if (lastChild(sortable)) return;\n var rect = getRect(sortable),\n threshold = sortable[expando].options.emptyInsertThreshold,\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (threshold && insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // assign target only if condition is true\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (rootEl.contains(dragEl) && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"sortablejs\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"sortablejs\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vuedraggable\"] = factory(require(\"sortablejs\"));\n\telse\n\t\troot[\"vuedraggable\"] = factory(root[\"Sortable\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) {\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, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\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/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"01f9\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(\"2d00\");\nvar $export = __webpack_require__(\"5ca1\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar $iterCreate = __webpack_require__(\"41a0\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar getPrototypeOf = __webpack_require__(\"38fd\");\nvar ITERATOR = __webpack_require__(\"2b4c\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"02f4\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar defined = __webpack_require__(\"be13\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n\n/***/ \"0390\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(\"02f4\")(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n\n/***/ \"0bfb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(\"cb7c\");\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"0d58\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(\"ce10\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"1495\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar anObject = __webpack_require__(\"cb7c\");\nvar getKeys = __webpack_require__(\"0d58\");\n\nmodule.exports = __webpack_require__(\"9e1e\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"214f\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(\"b0c5\");\nvar redefine = __webpack_require__(\"2aba\");\nvar hide = __webpack_require__(\"32e9\");\nvar fails = __webpack_require__(\"79e5\");\nvar defined = __webpack_require__(\"be13\");\nvar wks = __webpack_require__(\"2b4c\");\nvar regexpExec = __webpack_require__(\"520a\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n\n/***/ \"230e\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nvar document = __webpack_require__(\"7726\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"23c6\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(\"2d95\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n\n/***/ \"2621\":\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"2aba\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar has = __webpack_require__(\"69a8\");\nvar SRC = __webpack_require__(\"ca5a\")('src');\nvar $toString = __webpack_require__(\"fa5b\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(\"8378\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"2aeb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(\"cb7c\");\nvar dPs = __webpack_require__(\"1495\");\nvar enumBugKeys = __webpack_require__(\"e11e\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(\"230e\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(\"fab2\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n\n/***/ \"2b4c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(\"5537\")('wks');\nvar uid = __webpack_require__(\"ca5a\");\nvar Symbol = __webpack_require__(\"7726\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n\n/***/ \"2d00\":\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"2d95\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"2fdb\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(\"5ca1\");\nvar context = __webpack_require__(\"d2c8\");\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n\n/***/ \"32e9\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(\"86cc\");\nvar createDesc = __webpack_require__(\"4630\");\nmodule.exports = __webpack_require__(\"9e1e\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"38fd\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(\"69a8\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n\n/***/ \"41a0\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(\"2aeb\");\nvar descriptor = __webpack_require__(\"4630\");\nvar setToStringTag = __webpack_require__(\"7f20\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(\"32e9\")(IteratorPrototype, __webpack_require__(\"2b4c\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n\n/***/ \"456d\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(\"4bf8\");\nvar $keys = __webpack_require__(\"0d58\");\n\n__webpack_require__(\"5eda\")('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n\n/***/ \"4588\":\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n\n/***/ \"4630\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"4bf8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"5147\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n\n/***/ \"520a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(\"0bfb\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n\n/***/ \"52a7\":\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"5537\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(\"8378\");\nvar global = __webpack_require__(\"7726\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(\"2d00\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"5ca1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(\"7726\");\nvar core = __webpack_require__(\"8378\");\nvar hide = __webpack_require__(\"32e9\");\nvar redefine = __webpack_require__(\"2aba\");\nvar ctx = __webpack_require__(\"9b43\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n\n/***/ \"5eda\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(\"5ca1\");\nvar core = __webpack_require__(\"8378\");\nvar fails = __webpack_require__(\"79e5\");\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n\n/***/ \"5f1b\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(\"23c6\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n\n/***/ \"613b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(\"5537\")('keys');\nvar uid = __webpack_require__(\"ca5a\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"626a\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(\"2d95\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n\n/***/ \"6762\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(\"5ca1\");\nvar $includes = __webpack_require__(\"c366\")(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(\"9c6c\")('includes');\n\n\n/***/ }),\n\n/***/ \"6821\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(\"626a\");\nvar defined = __webpack_require__(\"be13\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n\n/***/ \"69a8\":\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"6a99\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(\"d3f4\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"7333\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(\"0d58\");\nvar gOPS = __webpack_require__(\"2621\");\nvar pIE = __webpack_require__(\"52a7\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar IObject = __webpack_require__(\"626a\");\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(\"79e5\")(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n\n/***/ \"7726\":\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"77f1\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(\"4588\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n\n/***/ \"79e5\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"7f20\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(\"86cc\").f;\nvar has = __webpack_require__(\"69a8\");\nvar TAG = __webpack_require__(\"2b4c\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n\n/***/ \"8378\":\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n\n/***/ \"84f2\":\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"86cc\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar IE8_DOM_DEFINE = __webpack_require__(\"c69a\");\nvar toPrimitive = __webpack_require__(\"6a99\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(\"9e1e\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"9b43\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(\"d8e8\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"9c6c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(\"2b4c\")('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(\"32e9\")(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n\n/***/ \"9def\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(\"4588\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"9e1e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"a352\":\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_a352__;\n\n/***/ }),\n\n/***/ \"a481\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(\"cb7c\");\nvar toObject = __webpack_require__(\"4bf8\");\nvar toLength = __webpack_require__(\"9def\");\nvar toInteger = __webpack_require__(\"4588\");\nvar advanceStringIndex = __webpack_require__(\"0390\");\nvar regExpExec = __webpack_require__(\"5f1b\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(\"214f\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n\n/***/ \"aae3\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(\"d3f4\");\nvar cof = __webpack_require__(\"2d95\");\nvar MATCH = __webpack_require__(\"2b4c\")('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n\n/***/ \"ac6a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(\"cadf\");\nvar getKeys = __webpack_require__(\"0d58\");\nvar redefine = __webpack_require__(\"2aba\");\nvar global = __webpack_require__(\"7726\");\nvar hide = __webpack_require__(\"32e9\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar wks = __webpack_require__(\"2b4c\");\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n\n/***/ \"b0c5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(\"520a\");\n__webpack_require__(\"5ca1\")({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n\n/***/ \"be13\":\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"c366\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(\"6821\");\nvar toLength = __webpack_require__(\"9def\");\nvar toAbsoluteIndex = __webpack_require__(\"77f1\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"c649\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return insertNodeAt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return camelize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return console; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return removeNode; });\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"a481\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction getConsole() {\n if (typeof window !== \"undefined\") {\n return window.console;\n }\n\n return global.console;\n}\n\nvar console = getConsole();\n\nfunction cached(fn) {\n var cache = Object.create(null);\n return function cachedFn(str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\n\nvar regex = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(regex, function (_, c) {\n return c ? c.toUpperCase() : \"\";\n });\n});\n\nfunction removeNode(node) {\n if (node.parentElement !== null) {\n node.parentElement.removeChild(node);\n }\n}\n\nfunction insertNodeAt(fatherNode, node, position) {\n var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling;\n fatherNode.insertBefore(node, refNode);\n}\n\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c69a\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(\"9e1e\") && !__webpack_require__(\"79e5\")(function () {\n return Object.defineProperty(__webpack_require__(\"230e\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"ca5a\":\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"cadf\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(\"9c6c\");\nvar step = __webpack_require__(\"d53b\");\nvar Iterators = __webpack_require__(\"84f2\");\nvar toIObject = __webpack_require__(\"6821\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(\"01f9\")(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n\n/***/ \"cb7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(\"d3f4\");\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"ce10\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(\"69a8\");\nvar toIObject = __webpack_require__(\"6821\");\nvar arrayIndexOf = __webpack_require__(\"c366\")(false);\nvar IE_PROTO = __webpack_require__(\"613b\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"d2c8\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(\"aae3\");\nvar defined = __webpack_require__(\"be13\");\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n\n/***/ \"d3f4\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"d53b\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n\n/***/ \"d8e8\":\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"e11e\":\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n\n/***/ \"f559\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(\"5ca1\");\nvar toLength = __webpack_require__(\"9def\");\nvar context = __webpack_require__(\"d2c8\");\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(\"5147\")(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n\n/***/ \"f6fd\":\n/***/ (function(module, exports) {\n\n// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n\n\n/***/ }),\n\n/***/ \"f751\":\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(\"5ca1\");\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(\"7333\") });\n\n\n/***/ }),\n\n/***/ \"fa5b\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"5537\")('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"fab2\":\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(\"7726\").document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"fb15\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (true) {\n __webpack_require__(\"f6fd\")\n }\n\n var setPublicPath_i\n if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_require__.p = setPublicPath_i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\n/* harmony default export */ var setPublicPath = (null);\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js\nvar es6_object_assign = __webpack_require__(\"f751\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js\nvar es6_string_starts_with = __webpack_require__(\"f559\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js\nvar web_dom_iterable = __webpack_require__(\"ac6a\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js\nvar es6_array_iterator = __webpack_require__(\"cadf\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js\nvar es6_object_keys = __webpack_require__(\"456d\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\n\n\n\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js\nvar es7_array_includes = __webpack_require__(\"6762\");\n\n// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js\nvar es6_string_includes = __webpack_require__(\"2fdb\");\n\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external {\"commonjs\":\"sortablejs\",\"commonjs2\":\"sortablejs\",\"amd\":\"sortablejs\",\"root\":\"Sortable\"}\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __webpack_require__(\"a352\");\nvar external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_);\n\n// EXTERNAL MODULE: ./src/util/helper.js\nvar helper = __webpack_require__(\"c649\");\n\n// CONCATENATED MODULE: ./src/vuedraggable.js\n\n\n\n\n\n\n\n\n\n\n\n\nfunction buildAttribute(object, propName, value) {\n if (value === undefined) {\n return object;\n }\n\n object = object || {};\n object[propName] = value;\n return object;\n}\n\nfunction computeVmIndex(vnodes, element) {\n return vnodes.map(function (elt) {\n return elt.elm;\n }).indexOf(element);\n}\n\nfunction _computeIndexes(slots, children, isTransition, footerOffset) {\n if (!slots) {\n return [];\n }\n\n var elmFromNodes = slots.map(function (elt) {\n return elt.elm;\n });\n var footerIndex = children.length - footerOffset;\n\n var rawIndexes = _toConsumableArray(children).map(function (elt, idx) {\n return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt);\n });\n\n return isTransition ? rawIndexes.filter(function (ind) {\n return ind !== -1;\n }) : rawIndexes;\n}\n\nfunction emit(evtName, evtData) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.$emit(evtName.toLowerCase(), evtData);\n });\n}\n\nfunction delegateAndEmit(evtName) {\n var _this2 = this;\n\n return function (evtData) {\n if (_this2.realList !== null) {\n _this2[\"onDrag\" + evtName](evtData);\n }\n\n emit.call(_this2, evtName, evtData);\n };\n}\n\nfunction isTransitionName(name) {\n return [\"transition-group\", \"TransitionGroup\"].includes(name);\n}\n\nfunction vuedraggable_isTransition(slots) {\n if (!slots || slots.length !== 1) {\n return false;\n }\n\n var _slots = _slicedToArray(slots, 1),\n componentOptions = _slots[0].componentOptions;\n\n if (!componentOptions) {\n return false;\n }\n\n return isTransitionName(componentOptions.tag);\n}\n\nfunction getSlot(slot, scopedSlot, key) {\n return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined);\n}\n\nfunction computeChildrenAndOffsets(children, slot, scopedSlot) {\n var headerOffset = 0;\n var footerOffset = 0;\n var header = getSlot(slot, scopedSlot, \"header\");\n\n if (header) {\n headerOffset = header.length;\n children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header);\n }\n\n var footer = getSlot(slot, scopedSlot, \"footer\");\n\n if (footer) {\n footerOffset = footer.length;\n children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer);\n }\n\n return {\n children: children,\n headerOffset: headerOffset,\n footerOffset: footerOffset\n };\n}\n\nfunction getComponentAttributes($attrs, componentData) {\n var attributes = null;\n\n var update = function update(name, value) {\n attributes = buildAttribute(attributes, name, value);\n };\n\n var attrs = Object.keys($attrs).filter(function (key) {\n return key === \"id\" || key.startsWith(\"data-\");\n }).reduce(function (res, key) {\n res[key] = $attrs[key];\n return res;\n }, {});\n update(\"attrs\", attrs);\n\n if (!componentData) {\n return attributes;\n }\n\n var on = componentData.on,\n props = componentData.props,\n componentDataAttrs = componentData.attrs;\n update(\"on\", on);\n update(\"props\", props);\n Object.assign(attributes.attrs, componentDataAttrs);\n return attributes;\n}\n\nvar eventsListened = [\"Start\", \"Add\", \"Remove\", \"Update\", \"End\"];\nvar eventsToEmit = [\"Choose\", \"Unchoose\", \"Sort\", \"Filter\", \"Clone\"];\nvar readonlyProperties = [\"Move\"].concat(eventsListened, eventsToEmit).map(function (evt) {\n return \"on\" + evt;\n});\nvar draggingElement = null;\nvar props = {\n options: Object,\n list: {\n type: Array,\n required: false,\n default: null\n },\n value: {\n type: Array,\n required: false,\n default: null\n },\n noTransitionOnDrag: {\n type: Boolean,\n default: false\n },\n clone: {\n type: Function,\n default: function _default(original) {\n return original;\n }\n },\n element: {\n type: String,\n default: \"div\"\n },\n tag: {\n type: String,\n default: null\n },\n move: {\n type: Function,\n default: null\n },\n componentData: {\n type: Object,\n required: false,\n default: null\n }\n};\nvar draggableComponent = {\n name: \"draggable\",\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n transitionMode: false,\n noneFunctionalComponentMode: false\n };\n },\n render: function render(h) {\n var slots = this.$slots.default;\n this.transitionMode = vuedraggable_isTransition(slots);\n\n var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots),\n children = _computeChildrenAndOf.children,\n headerOffset = _computeChildrenAndOf.headerOffset,\n footerOffset = _computeChildrenAndOf.footerOffset;\n\n this.headerOffset = headerOffset;\n this.footerOffset = footerOffset;\n var attributes = getComponentAttributes(this.$attrs, this.componentData);\n return h(this.getTag(), attributes, children);\n },\n created: function created() {\n if (this.list !== null && this.value !== null) {\n helper[\"b\" /* console */].error(\"Value and list props are mutually exclusive! Please set one or another.\");\n }\n\n if (this.element !== \"div\") {\n helper[\"b\" /* console */].warn(\"Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props\");\n }\n\n if (this.options !== undefined) {\n helper[\"b\" /* console */].warn(\"Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props\");\n }\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional();\n\n if (this.noneFunctionalComponentMode && this.transitionMode) {\n throw new Error(\"Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: \".concat(this.getTag()));\n }\n\n var optionsAdded = {};\n eventsListened.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = delegateAndEmit.call(_this3, elt);\n });\n eventsToEmit.forEach(function (elt) {\n optionsAdded[\"on\" + elt] = emit.bind(_this3, elt);\n });\n var attributes = Object.keys(this.$attrs).reduce(function (res, key) {\n res[Object(helper[\"a\" /* camelize */])(key)] = _this3.$attrs[key];\n return res;\n }, {});\n var options = Object.assign({}, this.options, attributes, optionsAdded, {\n onMove: function onMove(evt, originalEvent) {\n return _this3.onDragMove(evt, originalEvent);\n }\n });\n !(\"draggable\" in options) && (options.draggable = \">*\");\n this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options);\n this.computeIndexes();\n },\n beforeDestroy: function beforeDestroy() {\n if (this._sortable !== undefined) this._sortable.destroy();\n },\n computed: {\n rootContainer: function rootContainer() {\n return this.transitionMode ? this.$el.children[0] : this.$el;\n },\n realList: function realList() {\n return this.list ? this.list : this.value;\n }\n },\n watch: {\n options: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n $attrs: {\n handler: function handler(newOptionValue) {\n this.updateOptions(newOptionValue);\n },\n deep: true\n },\n realList: function realList() {\n this.computeIndexes();\n }\n },\n methods: {\n getIsFunctional: function getIsFunctional() {\n var fnOptions = this._vnode.fnOptions;\n return fnOptions && fnOptions.functional;\n },\n getTag: function getTag() {\n return this.tag || this.element;\n },\n updateOptions: function updateOptions(newOptionValue) {\n for (var property in newOptionValue) {\n var value = Object(helper[\"a\" /* camelize */])(property);\n\n if (readonlyProperties.indexOf(value) === -1) {\n this._sortable.option(value, newOptionValue[property]);\n }\n }\n },\n getChildrenNodes: function getChildrenNodes() {\n if (this.noneFunctionalComponentMode) {\n return this.$children[0].$slots.default;\n }\n\n var rawNodes = this.$slots.default;\n return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes;\n },\n computeIndexes: function computeIndexes() {\n var _this4 = this;\n\n this.$nextTick(function () {\n _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset);\n });\n },\n getUnderlyingVm: function getUnderlyingVm(htmlElt) {\n var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt);\n\n if (index === -1) {\n //Edge case during move callback: related element might be\n //an element different from collection\n return null;\n }\n\n var element = this.realList[index];\n return {\n index: index,\n element: element\n };\n },\n getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) {\n var vue = _ref.__vue__;\n\n if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) {\n if (!(\"realList\" in vue) && vue.$children.length === 1 && \"realList\" in vue.$children[0]) return vue.$children[0];\n return vue;\n }\n\n return vue.$parent;\n },\n emitChanges: function emitChanges(evt) {\n var _this5 = this;\n\n this.$nextTick(function () {\n _this5.$emit(\"change\", evt);\n });\n },\n alterList: function alterList(onList) {\n if (this.list) {\n onList(this.list);\n return;\n }\n\n var newList = _toConsumableArray(this.value);\n\n onList(newList);\n this.$emit(\"input\", newList);\n },\n spliceList: function spliceList() {\n var _arguments = arguments;\n\n var spliceList = function spliceList(list) {\n return list.splice.apply(list, _toConsumableArray(_arguments));\n };\n\n this.alterList(spliceList);\n },\n updatePosition: function updatePosition(oldIndex, newIndex) {\n var updatePosition = function updatePosition(list) {\n return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]);\n };\n\n this.alterList(updatePosition);\n },\n getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) {\n var to = _ref2.to,\n related = _ref2.related;\n var component = this.getUnderlyingPotencialDraggableComponent(to);\n\n if (!component) {\n return {\n component: component\n };\n }\n\n var list = component.realList;\n var context = {\n list: list,\n component: component\n };\n\n if (to !== related && list && component.getUnderlyingVm) {\n var destination = component.getUnderlyingVm(related);\n\n if (destination) {\n return Object.assign(destination, context);\n }\n }\n\n return context;\n },\n getVmIndex: function getVmIndex(domIndex) {\n var indexes = this.visibleIndexes;\n var numberIndexes = indexes.length;\n return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex];\n },\n getComponent: function getComponent() {\n return this.$slots.default[0].componentInstance;\n },\n resetTransitionData: function resetTransitionData(index) {\n if (!this.noTransitionOnDrag || !this.transitionMode) {\n return;\n }\n\n var nodes = this.getChildrenNodes();\n nodes[index].data = null;\n var transitionContainer = this.getComponent();\n transitionContainer.children = [];\n transitionContainer.kept = undefined;\n },\n onDragStart: function onDragStart(evt) {\n this.context = this.getUnderlyingVm(evt.item);\n evt.item._underlying_vm_ = this.clone(this.context.element);\n draggingElement = evt.item;\n },\n onDragAdd: function onDragAdd(evt) {\n var element = evt.item._underlying_vm_;\n\n if (element === undefined) {\n return;\n }\n\n Object(helper[\"d\" /* removeNode */])(evt.item);\n var newIndex = this.getVmIndex(evt.newIndex);\n this.spliceList(newIndex, 0, element);\n this.computeIndexes();\n var added = {\n element: element,\n newIndex: newIndex\n };\n this.emitChanges({\n added: added\n });\n },\n onDragRemove: function onDragRemove(evt) {\n Object(helper[\"c\" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex);\n\n if (evt.pullMode === \"clone\") {\n Object(helper[\"d\" /* removeNode */])(evt.clone);\n return;\n }\n\n var oldIndex = this.context.index;\n this.spliceList(oldIndex, 1);\n var removed = {\n element: this.context.element,\n oldIndex: oldIndex\n };\n this.resetTransitionData(oldIndex);\n this.emitChanges({\n removed: removed\n });\n },\n onDragUpdate: function onDragUpdate(evt) {\n Object(helper[\"d\" /* removeNode */])(evt.item);\n Object(helper[\"c\" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex);\n var oldIndex = this.context.index;\n var newIndex = this.getVmIndex(evt.newIndex);\n this.updatePosition(oldIndex, newIndex);\n var moved = {\n element: this.context.element,\n oldIndex: oldIndex,\n newIndex: newIndex\n };\n this.emitChanges({\n moved: moved\n });\n },\n updateProperty: function updateProperty(evt, propertyName) {\n evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset);\n },\n computeFutureIndex: function computeFutureIndex(relatedContext, evt) {\n if (!relatedContext.element) {\n return 0;\n }\n\n var domChildren = _toConsumableArray(evt.to.children).filter(function (el) {\n return el.style[\"display\"] !== \"none\";\n });\n\n var currentDOMIndex = domChildren.indexOf(evt.related);\n var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex);\n var draggedInList = domChildren.indexOf(draggingElement) !== -1;\n return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1;\n },\n onDragMove: function onDragMove(evt, originalEvent) {\n var onMove = this.move;\n\n if (!onMove || !this.realList) {\n return true;\n }\n\n var relatedContext = this.getRelatedContextFromMoveEvent(evt);\n var draggedContext = this.context;\n var futureIndex = this.computeFutureIndex(relatedContext, evt);\n Object.assign(draggedContext, {\n futureIndex: futureIndex\n });\n var sendEvt = Object.assign({}, evt, {\n relatedContext: relatedContext,\n draggedContext: draggedContext\n });\n return onMove(sendEvt, originalEvent);\n },\n onDragEnd: function onDragEnd() {\n this.computeIndexes();\n draggingElement = null;\n }\n }\n};\n\nif (typeof window !== \"undefined\" && \"Vue\" in window) {\n window.Vue.component(\"draggable\", draggableComponent);\n}\n\n/* harmony default export */ var vuedraggable = (draggableComponent);\n// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ var entry_lib = __webpack_exports__[\"default\"] = (vuedraggable);\n\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=vuedraggable.umd.js.map","import {\n CollectionsDto,\n CreateUserCollectionRequest,\n DeleteCollectionRequest,\n GetAllUserCollectionsRequest,\n GetCollectionRequest,\n GetUserCollectionsResponse,\n UpdateCollectionRequest,\n CollectionsOrder,\n UserCollection\n} from '@/Model/collections/types';\nimport API_CONST from '@/constants/ApiConst';\nimport { httpIdentityClient } from '../common/httpClient';\n\nexport async function getUserCollections(request: GetAllUserCollectionsRequest) {\n return httpIdentityClient().get(`${API_CONST.COLLECTIONS}`, { params: request });\n}\n\nexport async function getDefaultCollections() {\n return httpIdentityClient().get(`${API_CONST.COLLECTIONS}/default`);\n}\n\nexport async function getCollection(request: GetCollectionRequest) {\n return httpIdentityClient().get(`${API_CONST.COLLECTIONS}/${request.id}`);\n}\n\nexport async function createUserCollection(request: CreateUserCollectionRequest) {\n return httpIdentityClient().post(API_CONST.COLLECTIONS, request);\n}\n\nexport async function updateCollection(request: UpdateCollectionRequest) {\n return httpIdentityClient().put(`${API_CONST.COLLECTIONS}/${request.id}`, request);\n}\n\nexport async function updateCollectionsOrder(request: CollectionsOrder) {\n return httpIdentityClient().put(\n `${API_CONST.COLLECTIONS}/order`,\n request\n );\n}\n\nexport async function deleteUserCollection(request: DeleteCollectionRequest) {\n return httpIdentityClient().delete(`${API_CONST.COLLECTIONS}/${request.id}`);\n}\n\nexport async function validateCollectionName(name: string) {\n return httpIdentityClient().get(`${API_CONST.COLLECTIONS}/exists?name=${name}`);\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{staticClass:\"cms-input\",attrs:{\"id\":_vm.id,\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":_vm.checked},on:{\"click\":_vm.handleChange}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport {Component, Prop} from 'vue-property-decorator';\n\n@Component({\n name: 'CmsCheckbox'\n})\nexport default class Checkbox extends Vue {\n @Prop({ type: String, default: '' }) id!: string;\n @Prop({ type: Boolean, default: false }) readonly checked!: boolean;\n @Prop({ type: Boolean, default: false }) readonly disabled!: boolean;\n\n handleChange(e: any) {\n this.$emit('change', e.target.checked);\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=39101f5b&\"\nimport script from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Checkbox.vue?vue&type=style&index=0&lang=less&\"\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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!./SingleCollectionPage.less?vue&type=style&index=0&id=3627cce0&lang=less&scoped=true&\"","import {validateCollectionName} from '@/services/collections/api';\n\nexport function collectionNameValidationRules(): Record {\n return {\n required: true,\n max: 66,\n unique: {\n validator: validateCollectionName\n },\n };\n}\n","import { httpClient, httpLMSClient, httpCMSClient } from \"../common/httpClient\";\nimport API_CONST from '@/constants/ApiConst';\nimport APP_UTILITIES from '@/utilities/commonFunctions';\nimport APP_CONST from '@/constants/AppConst';\nimport { writeDataByKey, readDataByKey } from '@/utilities/idbUtility';\n\nexport function accountDetailResponse(id: string): Promise {\n if (APP_UTILITIES.checkBrowserStatus()) {\n return getAccountDetail(id);\n }else{\n return readDataByKey(APP_CONST.IDB_NEW_ACCOUNT_INFO, APP_CONST.IDB_NEW_ACCOUNT_INFO).then((response: any) => {\n if(response){\n return { data: response, status: APP_CONST.RESPONSE_200, statusText: APP_CONST.SUCCESS_RESPONSE_STATUS };\n }\n }).catch(error => {\n return { data: error, status: APP_CONST.RESPONSE_400, statusText: error.statusText };\n })\n }\n}\n\nfunction getAccountDetail(id : string){\n return httpClient().get(`${API_CONST.NEW_ACCOUNTS_DATA_ENDPOINT}`).then((response) => {\n return { data: response.data, status: response.status, statusText: response.statusText };\n }).catch((error) => {\n return { data: error.data, status: error.status, statusText: error.statusText };\n });\n}\n\n\nexport function setAccountDetailResponse(data: any): Promise {\n return httpClient().post(`${API_CONST.SAVE_NEW_ACCOUNTS_ENDPOINT}`, data).then((response) => {\n return { data: response.data, status: response.status, statusText: response.statusText };\n }).catch((error) => {\n return { data: error.data, status: error.status, statusText: error.statusText };\n });\n}\n\n\nexport function updateAccountDetailResponse(data: any): Promise {\n return httpClient().put(`${API_CONST.UPDATE_ACCOUNTS_ENDPOINT}/${data.id}`, data).then((response) => {\n return { data: response.data, status: response.status, statusText: response.statusText };\n }).catch((error) => {\n return { data: error.data, status: error.status, statusText: error.statusText };\n });\n}\n\n\nexport function fetchExistingAccountData(id : string){\n return httpClient().get(`${API_CONST.FETCH_ACCOUNTS_DATA_ENDPOINT}/${id}/info`).then((response) => {\n return { data: response.data, status: response.status, statusText: response.statusText };\n }).catch((error) => {\n return { data: error.data, status: error.status, statusText: error.statusText };\n });\n}\n\nfunction autoSaveAccount(data : any){\n return httpClient().post(`${API_CONST.AUTO_SAVE_POST_ACCOUNT_ENDPOINT}`, data).then((response) => {\n return writeDataByKey(APP_CONST.IDB_NEW_ACCOUNT_INFO,APP_CONST.IDB_NEW_ACCOUNT_INFO, data).then((newAccRes: any) => {\n return { data: response.data, status: response.status, statusText: response.statusText };\n }).catch(error => {\n return { data: error, status: APP_CONST.RESPONSE_400, statusText: error.statusText };\n })\n }).catch((error) => {\n return { data: error.data, status: error.status, statusText: error.statusText };\n });\n}\n\nexport function autoSaveAccountDetails(data: any): Promise {\n if (APP_UTILITIES.checkBrowserStatus()) {\n return autoSaveAccount(data);\n }else{\n return navigator.serviceWorker.ready.then((sw) => {\n return writeDataByKey(APP_CONST.IDB_NEW_ACCOUNT_INFO,APP_CONST.IDB_NEW_ACCOUNT_INFO, data)\n .then((newAccRes: any) => {\n return sw.sync.register(\"Account\");\n })\n .then(() => {\n let response = {\n name: \"Info_AccountAutoSaved\",\n value: \"Account auto saved successfully.\",\n resourceNotFound: false\n }\n return { data: response, status: APP_CONST.RESPONSE_200, statusText: APP_CONST.SUCCESS_RESPONSE_STATUS };\n })\n .catch((error: any) => {\n return { data: error, status: APP_CONST.RESPONSE_400, statusText: error.statusText };\n });\n });\n }\n}\n\nexport function getPanoramaSKU()\n{\n return httpLMSClient().get(API_CONST.GET_PANORAMAS).then((response:any) => {\n return { data : response.data, status: response.status, statusText: response.statusText};\n}).catch((error:any) => {\n return { data : error.data, status: error.status, statusText: error.statusText};\n});\n}\nexport function getSublicenseByPanorama(panoramaId: string)\n{\nreturn httpLMSClient().get(\"/licenses/\"+`${panoramaId}`).then((response:any)=> {\n return { data : response.data, status: response.status, statusText: response.statusText};\n}).catch((error:any) => {\n return { data : error.data, status: error.status, statusText: error.statusText};\n});\n}\n\nexport function getAccountType()\n{\n return httpCMSClient().get(API_CONST.GET_ACCOUNT_TYPE).then((response:any) => {\n return { data : response.data, status: response.status, statusText: response.statusText};\n}).catch((error:any) => {\n return { data : error.data, status: error.status, statusText: error.statusText};\n});\n}\nexport function updateAccountStatus(payload:any)\n{\n return httpClient().put(`${API_CONST.ACCOUNT_STATUS}${payload.accountId}&status=${payload.status}`).then((response:any) => {\n return { data : response.data, status: response.status, statusText: response.statusText};\n}).catch((error:any) => {\n return { data : error.data, status: error.status, statusText: error.statusText};\n});\n}\n\n export function enableDisableAccount(payload:any){\n let encodedSearch = decodeURIComponent(payload.selectAllPayload.search);\n payload.selectAllPayload.search = encodedSearch;\n return httpClient().put(`${API_CONST.ENABLE_DISABLE_ACCOUNT}?status=${payload.status}`, payload.selectAllPayload).then((response:any) => {\n return { data : response.data, status: response.status, statusText: response.statusText};\n }).catch((error:any) => {\n return { data : error.data, status: error.status, statusText: error.statusText};\n });\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!./CollectionCardComponent.less?vue&type=style&index=0&id=f76bbc3c&lang=less&scoped=true&\""],"sourceRoot":""}