diff --git a/dist/vue-treeselect.cjs.js b/dist/vue-treeselect.cjs.js index 26542aa5..6c53f6f3 100644 --- a/dist/vue-treeselect.cjs.js +++ b/dist/vue-treeselect.cjs.js @@ -3212,9 +3212,12 @@ var directionMap = { renderAsyncSearchMenuInner: function renderAsyncSearchMenuInner() { var instance = this.instance; var entry = instance.getRemoteSearchEntry(); - var shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions && instance.searchPromptText; + var shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions; var shouldShowNoResultsTip = shouldShowSearchPromptTip ? false : entry.isLoaded && entry.options.length === 0; if (shouldShowSearchPromptTip) { + if (!instance.searchPromptText) { + return ''; + } return this.renderSearchPromptTip(); } else if (entry.isLoading) { return this.renderLoadingOptionsTip(); diff --git a/dist/vue-treeselect.cjs.js.map b/dist/vue-treeselect.cjs.js.map index 60143b74..f157005e 100644 --- a/dist/vue-treeselect.cjs.js.map +++ b/dist/vue-treeselect.cjs.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/external \"@babel/runtime/helpers/slicedToArray\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/toConsumableArray\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/defineProperty\"","webpack://VueTreeselect/external \"fuzzysearch\"","webpack://VueTreeselect/external \"lodash/noop\"","webpack://VueTreeselect/external \"lodash/debounce\"","webpack://VueTreeselect/external \"watch-size\"","webpack://VueTreeselect/external \"is-promise\"","webpack://VueTreeselect/external \"lodash/once\"","webpack://VueTreeselect/external \"lodash/identity\"","webpack://VueTreeselect/external \"lodash/constant\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/typeof\"","webpack://VueTreeselect/external \"lodash/last\"","webpack://VueTreeselect/external \"babel-helper-vue-jsx-merge-props\"","webpack://VueTreeselect/external \"vue\"","webpack://VueTreeselect/./src/style.less?1f4a","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/utils/index.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./src/components/HiddenFields.vue?2cdc","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue?3957","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/Placeholder.vue?7a2d","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/SingleValue.vue?304b","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?706a","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue?6db0","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/MultiValue.vue?998f","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?c39d","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Control.vue?2f53","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/./src/components/Tip.vue?f94f","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue?f5e1","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue?0ced","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue?9760","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/components/Treeselect.vue?71f6","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["warning","process","env","NODE_ENV","noop","checker","complainer","_console","message","concat","console","error","apply","_toConsumableArray","onLeftClick","mouseDownHandler","onMouseDown","evt","type","button","_len","arguments","length","args","Array","_key","call","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","Math","min","offsetTop","clientHeight","scrollHeight","top","max","removeFromArray","arr","elem","idx","indexOf","splice","intervalId","registered","INTERVAL_DURATION","run","setInterval","forEach","test","stop","clearInterval","item","$el","listener","lastWidth","lastHeight","width","offsetWidth","height","watchSizeForIE9","unwatch","push","watchSize","isIE9","document","documentMode","locked","wrappedListener","implementation","watchSizeForBrowsersOtherThanIE9","removeSizeWatcher","findScrollParents","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListeners","removeEventListener","$scrollParent","isNaN","x","createMap","Object","create","isPlainObject","value","_typeof","getPrototypeOf","prototype","copy","obj","key","deepExtend","target","source","keys","i","len","includes","arrOrStr","find","predicate","ctx","undefined","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","a","b","level","index","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","needle","haystack","fuzzysearch","getErrorMessage","err","String","instanceId","provide","instance","props","allowClearingDisabled","Boolean","default","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","Function","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","_default","joinValues","limit","Infinity","limitText","limitTextDefault","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","name","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","acceptableValues","openOnClick","openOnFocus","options","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","slice","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","hasChanged","$emit","getValue","getInstanceId","buildForestState","handler","isArray","deep","immediate","triggerSearchQuery","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","label","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","done","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","replace","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","ref","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","toString","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","next","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","reduce","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","result","isPromise","then","catch","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","inject","functional","render","_","context","h","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","instanceTriggerSearchQuery","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","leading","trailing","onInput","onFocus","onBlur","activeElement","cancel","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","_mergeJSXProps","autocomplete","style","sizer","scrollWidth","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","tag","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","setTimeout","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","Tip","handleMouseDownOnRetry","currentTarget","handleMouseDownOnOptionArrow","indentLevel","listItemClass","directionMap","above","below","menuStyle","menuContainerStyle","instanceMenuIsOpen","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","instanceMenuPlacement","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","transformVariations","transform","t","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","createElement","appendChild","Vue","parent","removeChild","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","Treeselect","VERSION","PKG_VERSION"],"mappings":"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","file":"vue-treeselect.cjs.js","sourcesContent":[" \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 = 16);\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"fuzzysearch\");","module.exports = require(\"lodash/noop\");","module.exports = require(\"lodash/debounce\");","module.exports = require(\"watch-size\");","module.exports = require(\"is-promise\");","module.exports = require(\"lodash/once\");","module.exports = require(\"lodash/identity\");","module.exports = require(\"lodash/constant\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"lodash/last\");","module.exports = require(\"babel-helper-vue-jsx-merge-props\");","module.exports = require(\"vue\");","// extracted by mini-css-extract-plugin","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// ========================\n// Debugging Helpers\n// ========================\n\nexport { warning } from './warning'\n\n// ========================\n// DOM Utilities\n// ========================\n\nexport { onLeftClick } from './onLeftClick'\nexport { scrollIntoView } from './scrollIntoView'\nexport { debounce } from './debounce'\nexport { watchSize } from './watchSize'\nexport { setupResizeAndScrollEventListeners } from './setupResizeAndScrollEventListeners'\n\n// ========================\n// Language Helpers\n// ========================\n\nexport { isNaN } from './isNaN'\nexport { isPromise } from './isPromise'\nexport { once } from './once'\nexport { noop } from './noop'\nexport { identity } from './identity'\nexport { constant } from './constant'\nexport { createMap } from './createMap'\nexport { deepExtend } from './deepExtend'\nexport { last } from './last'\nexport { includes } from './includes'\nexport { find } from './find'\nexport { removeFromArray } from './removeFromArray'\n\n// ========================\n// Other Utilities\n// ========================\n\nexport { quickDiff } from './quickDiff'\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9bcc0be2')) {\n api.createRecord('9bcc0be2', component.options)\n } else {\n api.reload('9bcc0be2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Menu.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/external \"@babel/runtime/helpers/slicedToArray\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/toConsumableArray\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/defineProperty\"","webpack://VueTreeselect/external \"fuzzysearch\"","webpack://VueTreeselect/external \"lodash/noop\"","webpack://VueTreeselect/external \"lodash/debounce\"","webpack://VueTreeselect/external \"watch-size\"","webpack://VueTreeselect/external \"is-promise\"","webpack://VueTreeselect/external \"lodash/once\"","webpack://VueTreeselect/external \"lodash/identity\"","webpack://VueTreeselect/external \"lodash/constant\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/typeof\"","webpack://VueTreeselect/external \"lodash/last\"","webpack://VueTreeselect/external \"babel-helper-vue-jsx-merge-props\"","webpack://VueTreeselect/external \"vue\"","webpack://VueTreeselect/./src/style.less?1f4a","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/utils/index.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./src/components/HiddenFields.vue?2cdc","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue?3957","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/Placeholder.vue?7a2d","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/SingleValue.vue?304b","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?706a","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue?6db0","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/MultiValue.vue?998f","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?c39d","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Control.vue?2f53","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/./src/components/Tip.vue?f94f","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue?f5e1","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue?0ced","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue?9760","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/components/Treeselect.vue?71f6","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["warning","process","env","NODE_ENV","noop","checker","complainer","_console","message","concat","console","error","apply","_toConsumableArray","onLeftClick","mouseDownHandler","onMouseDown","evt","type","button","_len","arguments","length","args","Array","_key","call","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","Math","min","offsetTop","clientHeight","scrollHeight","top","max","removeFromArray","arr","elem","idx","indexOf","splice","intervalId","registered","INTERVAL_DURATION","run","setInterval","forEach","test","stop","clearInterval","item","$el","listener","lastWidth","lastHeight","width","offsetWidth","height","watchSizeForIE9","unwatch","push","watchSize","isIE9","document","documentMode","locked","wrappedListener","implementation","watchSizeForBrowsersOtherThanIE9","removeSizeWatcher","findScrollParents","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListeners","removeEventListener","$scrollParent","isNaN","x","createMap","Object","create","isPlainObject","value","_typeof","getPrototypeOf","prototype","copy","obj","key","deepExtend","target","source","keys","i","len","includes","arrOrStr","find","predicate","ctx","undefined","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","a","b","level","index","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","needle","haystack","fuzzysearch","getErrorMessage","err","String","instanceId","provide","instance","props","allowClearingDisabled","Boolean","default","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","Function","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","_default","joinValues","limit","Infinity","limitText","limitTextDefault","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","name","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","acceptableValues","openOnClick","openOnFocus","options","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","slice","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","hasChanged","$emit","getValue","getInstanceId","buildForestState","handler","isArray","deep","immediate","triggerSearchQuery","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","label","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","done","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","replace","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","ref","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","toString","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","next","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","reduce","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","result","isPromise","then","catch","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","inject","functional","render","_","context","h","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","instanceTriggerSearchQuery","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","leading","trailing","onInput","onFocus","onBlur","activeElement","cancel","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","_mergeJSXProps","autocomplete","style","sizer","scrollWidth","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","tag","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","setTimeout","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","Tip","handleMouseDownOnRetry","currentTarget","handleMouseDownOnOptionArrow","indentLevel","listItemClass","directionMap","above","below","menuStyle","menuContainerStyle","instanceMenuIsOpen","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","instanceMenuPlacement","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","transformVariations","transform","t","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","createElement","appendChild","Vue","parent","removeChild","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","Treeselect","VERSION","PKG_VERSION"],"mappings":"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","file":"vue-treeselect.cjs.js","sourcesContent":[" \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 = 16);\n","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"fuzzysearch\");","module.exports = require(\"lodash/noop\");","module.exports = require(\"lodash/debounce\");","module.exports = require(\"watch-size\");","module.exports = require(\"is-promise\");","module.exports = require(\"lodash/once\");","module.exports = require(\"lodash/identity\");","module.exports = require(\"lodash/constant\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"lodash/last\");","module.exports = require(\"babel-helper-vue-jsx-merge-props\");","module.exports = require(\"vue\");","// extracted by mini-css-extract-plugin","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// ========================\n// Debugging Helpers\n// ========================\n\nexport { warning } from './warning'\n\n// ========================\n// DOM Utilities\n// ========================\n\nexport { onLeftClick } from './onLeftClick'\nexport { scrollIntoView } from './scrollIntoView'\nexport { debounce } from './debounce'\nexport { watchSize } from './watchSize'\nexport { setupResizeAndScrollEventListeners } from './setupResizeAndScrollEventListeners'\n\n// ========================\n// Language Helpers\n// ========================\n\nexport { isNaN } from './isNaN'\nexport { isPromise } from './isPromise'\nexport { once } from './once'\nexport { noop } from './noop'\nexport { identity } from './identity'\nexport { constant } from './constant'\nexport { createMap } from './createMap'\nexport { deepExtend } from './deepExtend'\nexport { last } from './last'\nexport { includes } from './includes'\nexport { find } from './find'\nexport { removeFromArray } from './removeFromArray'\n\n// ========================\n// Other Utilities\n// ========================\n\nexport { quickDiff } from './quickDiff'\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9bcc0be2')) {\n api.createRecord('9bcc0be2', component.options)\n } else {\n api.reload('9bcc0be2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Menu.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-treeselect.cjs.min.js b/dist/vue-treeselect.cjs.min.js index 543b6701..acaafebe 100644 --- a/dist/vue-treeselect.cjs.min.js +++ b/dist/vue-treeselect.cjs.min.js @@ -3,5 +3,5 @@ * Released under the MIT License. * https://vue-treeselect.js.org/ */ -module.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=16)}([function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t){e.exports=require("babel-helper-vue-jsx-merge-props")},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t){e.exports=require("lodash/noop")},function(e,t){e.exports=require("lodash/debounce")},function(e,t){e.exports=require("is-promise")},function(e,t){e.exports=require("lodash/once")},function(e,t){e.exports=require("lodash/identity")},function(e,t){e.exports=require("lodash/constant")},function(e,t){e.exports=require("lodash/last")},function(e,t){e.exports=require("@babel/runtime/helpers/slicedToArray")},function(e,t){e.exports=require("fuzzysearch")},function(e,t){e.exports=require("watch-size")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t){e.exports=require("vue")},function(e,t,n){},function(e,t,n){"use strict";n.r(t),n.d(t,"Treeselect",(function(){return He})),n.d(t,"treeselectMixin",(function(){return de})),n.d(t,"LOAD_ROOT_OPTIONS",(function(){return Q})),n.d(t,"LOAD_CHILDREN_OPTIONS",(function(){return G})),n.d(t,"ASYNC_SEARCH",(function(){return Y})),n.d(t,"VERSION",(function(){return je}));var i=n(10),r=n.n(i),s=n(2),o=n.n(s),a=n(0),l=n.n(a),u=n(11),c=n.n(u),d=n(3),h=n.n(d).a;function p(e){return function(t){if("mousedown"===t.type&&0===t.button){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;rn.bottom?e.scrollTop=Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight):i.top-r0},single:function(){return!this.multiple},visibleOptionIds:function(){var e=this,t=[];return this.traverseAllNodesByIndex((function(n){if(e.localSearch.active&&!e.shouldOptionBeIncludedInSearchResult(n)||t.push(n.id),n.isBranch&&!e.shouldExpand(n))return!1})),t},hasVisibleOptions:function(){return 0!==this.visibleOptionIds.length},showCountOnSearchComputed:function(){return"boolean"==typeof this.showCountOnSearch?this.showCountOnSearch:this.showCount},hasBranchNodes:function(){return this.forest.normalizedOptions.some((function(e){return e.isBranch}))},shouldFlattenOptions:function(){return this.localSearch.active&&this.flattenSearchResults}},watch:{alwaysOpen:function(e){e?this.openMenu():this.closeMenu()},branchNodesFirst:function(){this.initialize()},disabled:function(e){e&&this.menu.isOpen?this.closeMenu():e||this.menu.isOpen||!this.alwaysOpen||this.openMenu()},flat:function(){this.initialize()},internalValue:function(e,t){q(e,t)&&this.$emit("input",this.getValue(),this.getInstanceId())},matchKeys:function(){this.initialize()},multiple:function(e){e&&this.buildForestState()},options:{handler:function(){this.async||(this.initialize(),this.rootOptionsStates.isLoaded=Array.isArray(this.options))},deep:!0,immediate:!0},"trigger.searchQuery":function(){this.async?this.handleRemoteSearch():this.handleLocalSearch(),this.$emit("search-change",this.trigger.searchQuery,this.getInstanceId())},value:function(){var e=this.extractCheckedNodeIdsFromValue();q(e,this.internalValue)&&this.fixSelectedNodeIds(e)}},methods:{verifyProps:function(){var e=this;if(h((function(){return!e.async||e.searchable}),(function(){return'For async search mode, the value of "searchable" prop must be true.'})),null!=this.options||this.loadOptions||h((function(){return!1}),(function(){return'Are you meant to dynamically load options? You need to use "loadOptions" prop.'})),this.flat&&h((function(){return e.multiple}),(function(){return'You are using flat mode. But you forgot to add "multiple=true"?'})),!this.flat){["autoSelectAncestors","autoSelectDescendants","autoDeselectAncestors","autoDeselectDescendants"].forEach((function(t){h((function(){return!e[t]}),(function(){return'"'.concat(t,'" only applies to flat mode.')}))}))}},resetFlags:function(){this._blurOnSelect=!1},initialize:function(){var e=this.async?this.getRemoteSearchEntry().options:this.options;if(Array.isArray(e)){var t=this.forest.nodeMap;this.forest.nodeMap=B(),this.keepDataOfSelectedNodes(t),this.forest.normalizedOptions=this.normalize(null,e,t),this.fixSelectedNodeIds(this.internalValue)}else this.forest.normalizedOptions=[]},getInstanceId:function(){return null==this.instanceId?this.id:this.instanceId},getValue:function(){var e=this;if("id"===this.valueFormat)return this.multiple?this.internalValue.slice():this.internalValue[0];var t=this.internalValue.map((function(t){return e.getNode(t).raw}));return this.multiple?t:t[0]},getNode:function(e){return h((function(){return null!=e}),(function(){return"Invalid node id: ".concat(e)})),null==e?null:e in this.forest.nodeMap?this.forest.nodeMap[e]:this.createFallbackNode(e)},createFallbackNode:function(e){var t=this.extractNodeFromValue(e),n={id:e,label:this.enhancedNormalizer(t).label||"".concat(e," (unknown)"),ancestors:[],parentNode:null,isFallbackNode:!0,isRootNode:!0,isLeaf:!0,isBranch:!1,isDisabled:!1,isNew:!1,index:[-1],level:0,raw:t};return this.$set(this.forest.nodeMap,e,n)},extractCheckedNodeIdsFromValue:function(){var e=this;return null==this.value?[]:"id"===this.valueFormat?this.multiple?this.value.slice():[this.value]:(this.multiple?this.value:[this.value]).map((function(t){return e.enhancedNormalizer(t)})).map((function(e){return e.id}))},extractNodeFromValue:function(e){var t=this,n={id:e};return"id"===this.valueFormat?n:W(this.multiple?Array.isArray(this.value)?this.value:[]:this.value?[this.value]:[],(function(n){return n&&t.enhancedNormalizer(n).id===e}))||n},fixSelectedNodeIds:function(e){var t=this,n=[];if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)n=e;else if("BRANCH_PRIORITY"===this.valueConsistsOf)e.forEach((function(e){n.push(e);var i=t.getNode(e);i.isBranch&&t.traverseDescendantsBFS(i,(function(e){n.push(e.id)}))}));else if("LEAF_PRIORITY"===this.valueConsistsOf)for(var i=B(),r=e.slice();r.length;){var s=r.shift(),o=this.getNode(s);n.push(s),o.isRootNode||(o.parentNode.id in i||(i[o.parentNode.id]=o.parentNode.children.length),0==--i[o.parentNode.id]&&r.push(o.parentNode.id))}else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf)for(var a=B(),l=e.filter((function(e){var n=t.getNode(e);return n.isLeaf||0===n.children.length}));l.length;){var u=l.shift(),c=this.getNode(u);n.push(u),c.isRootNode||(c.parentNode.id in a||(a[c.parentNode.id]=c.parentNode.children.length),0==--a[c.parentNode.id]&&l.push(c.parentNode.id))}q(this.forest.selectedNodeIds,n)&&(this.forest.selectedNodeIds=n),this.buildForestState()},keepDataOfSelectedNodes:function(e){var t=this;this.forest.selectedNodeIds.forEach((function(n){if(e[n]){var i=oe(oe({},e[n]),{},{isFallbackNode:!0});t.$set(t.forest.nodeMap,n,i)}}))},isSelected:function(e){return!0===this.forest.selectedNodeMap[e.id]},traverseDescendantsBFS:function(e,t){if(e.isBranch)for(var n=e.children.slice();n.length;){var i=n[0];i.isBranch&&n.push.apply(n,o()(i.children)),t(i),n.shift()}},traverseDescendantsDFS:function(e,t){var n=this;e.isBranch&&e.children.forEach((function(e){n.traverseDescendantsDFS(e,t),t(e)}))},traverseAllNodesDFS:function(e){var t=this;this.forest.normalizedOptions.forEach((function(n){t.traverseDescendantsDFS(n,e),e(n)}))},traverseAllNodesByIndex:function(e){!function t(n){n.children.forEach((function(n){!1!==e(n)&&n.isBranch&&t(n)}))}({children:this.forest.normalizedOptions})},toggleClickOutsideEvent:function(e){e?document.addEventListener("mousedown",this.handleClickOutside,!1):document.removeEventListener("mousedown",this.handleClickOutside,!1)},getValueContainer:function(){return this.$refs&&this.$refs.control&&this.$refs.control.$refs?this.$refs.control.$refs["value-container"]:null},getInput:function(){return this.getValueContainer().$refs.input},focusInput:function(){this.getInput().focus()},blurInput:function(){this.getInput().blur()},handleMouseDown:p((function(e){(e.preventDefault(),e.stopPropagation(),!this.disabled&&this.getValueContainer())&&(this.getValueContainer().$el.contains(e.target)&&!this.menu.isOpen&&(this.openOnClick||this.trigger.isFocused)&&this.openMenu(),this._blurOnSelect?this.blurInput():this.focusInput(),this.resetFlags())})),handleClickOutside:function(e){this.$refs.wrapper&&!this.$refs.wrapper.contains(e.target)&&(this.blurInput(),this.closeMenu())},handleLocalSearch:function(){var e=this,t=this.trigger.searchQuery,n=function(){return e.resetHighlightedOptionWhenNecessary(!0)};if(!t)return this.localSearch.active=!1,n();this.localSearch.active=!0,this.localSearch.noResults=!0,this.traverseAllNodesDFS((function(t){t.isBranch&&(t.isExpandedOnSearch=!1,t.showAllChildrenOnSearch=!1,t.isMatched=!1,t.hasMatchedDescendants=!1,e.$set(e.localSearch.countMap,t.id,l()(l()(l()(l()({},"ALL_CHILDREN",0),"ALL_DESCENDANTS",0),"LEAF_CHILDREN",0),"LEAF_DESCENDANTS",0)))}));var i=t.trim().toLocaleLowerCase(),r=i.replace(/\s+/g," ").split(" ");this.traverseAllNodesDFS((function(t){e.searchNested&&r.length>1?t.isMatched=r.every((function(e){return le(!1,e,t.nestedSearchLabel)})):t.isMatched=e.matchKeys.some((function(n){return le(!e.disableFuzzyMatching,i,t.lowerCased[n])})),t.isMatched&&(e.localSearch.noResults=!1,t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].ALL_DESCENDANTS++})),t.isLeaf&&t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].LEAF_DESCENDANTS++})),null!==t.parentNode&&(e.localSearch.countMap[t.parentNode.id].ALL_CHILDREN+=1,t.isLeaf&&(e.localSearch.countMap[t.parentNode.id].LEAF_CHILDREN+=1))),(t.isMatched||t.isBranch&&t.isExpandedOnSearch)&&null!==t.parentNode&&(t.parentNode.isExpandedOnSearch=!0,t.parentNode.hasMatchedDescendants=!0)})),n()},handleRemoteSearch:function(){var e=this,t=this.trigger.searchQuery,n=this.getRemoteSearchEntry(),i=function(){e.initialize(),e.resetHighlightedOptionWhenNecessary(!0)};if((""===t||this.cacheOptions)&&n.isLoaded)return i();this.callLoadOptionsProp({action:Y,args:{searchQuery:t},isPending:function(){return n.isLoading},start:function(){n.isLoading=!0,n.isLoaded=!1,n.loadingError=""},succeed:function(r){n.isLoaded=!0,n.options=r,e.trigger.searchQuery===t&&i()},fail:function(e){n.loadingError=ue(e)},end:function(){n.isLoading=!1}})},getRemoteSearchEntry:function(){var e=this,t=this.trigger.searchQuery,n=this.remoteSearch[t]||oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{options:[]});if(this.$watch((function(){return n.options}),(function(){e.trigger.searchQuery===t&&e.initialize()}),{deep:!0}),""===t){if(Array.isArray(this.defaultOptions))return n.options=this.defaultOptions,n.isLoaded=!0,n;if(!0!==this.defaultOptions)return n.isLoaded=!0,n}return this.remoteSearch[t]||this.$set(this.remoteSearch,t,n),n},shouldExpand:function(e){return this.localSearch.active?e.isExpandedOnSearch:e.isExpanded},shouldOptionBeIncludedInSearchResult:function(e){return!!e.isMatched||(!(!e.isBranch||!e.hasMatchedDescendants||this.flattenSearchResults)||!(e.isRootNode||!e.parentNode.showAllChildrenOnSearch))},shouldShowOptionInMenu:function(e){return!(this.localSearch.active&&!this.shouldOptionBeIncludedInSearchResult(e))},getControl:function(){return this.$refs.control.$el},getMenu:function(){var e=(this.appendToBody?this.$refs.portal.portalTarget:this).$refs.menu.$refs.menu;return e&&"#comment"!==e.nodeName?e:null},setCurrentHighlightedOption:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.menu.current;if(null!=i&&i in this.forest.nodeMap&&(this.forest.nodeMap[i].isHighlighted=!1),this.menu.current=e.id,e.isHighlighted=!0,this.menu.isOpen&&n){var r=function(){var n=e.id.toString().replace(/"/g,'\\"'),i=t.getMenu(),r=i.querySelector('.vue-treeselect__option[data-id="'.concat(n,'"]'));r&&f(i,r)};this.getMenu()?r():this.$nextTick(r)}},resetHighlightedOptionWhenNecessary:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.menu.current;!e&&null!=t&&t in this.forest.nodeMap&&this.shouldShowOptionInMenu(this.getNode(t))||this.highlightFirstOption()},highlightFirstOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds[0];this.setCurrentHighlightedOption(this.getNode(e))}},highlightPrevOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)-1;if(-1===e)return this.highlightLastOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightNextOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)+1;if(e===this.visibleOptionIds.length)return this.highlightFirstOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightLastOption:function(){if(this.hasVisibleOptions){var e=H()(this.visibleOptionIds);this.setCurrentHighlightedOption(this.getNode(e))}},resetSearchQuery:function(){this.trigger.searchQuery=""},closeMenu:function(){!this.menu.isOpen||!this.disabled&&this.alwaysOpen||(this.saveMenuScrollPosition(),this.menu.isOpen=!1,this.toggleClickOutsideEvent(!1),this.resetSearchQuery(),this.$emit("close",this.getValue(),this.getInstanceId()))},openMenu:function(){this.disabled||this.menu.isOpen||(this.menu.isOpen=!0,this.$nextTick(this.resetHighlightedOptionWhenNecessary),this.$nextTick(this.restoreMenuScrollPosition),this.options||this.async||this.loadRootOptions(),this.toggleClickOutsideEvent(!0),this.$emit("open",this.getInstanceId()))},toggleMenu:function(){this.menu.isOpen?this.closeMenu():this.openMenu()},toggleExpanded:function(e){var t;this.localSearch.active?(t=e.isExpandedOnSearch=!e.isExpandedOnSearch)&&(e.showAllChildrenOnSearch=!0):t=e.isExpanded=!e.isExpanded,t&&!e.childrenStates.isLoaded&&this.loadChildrenOptions(e)},buildForestState:function(){var e=this,t=B();this.forest.selectedNodeIds.forEach((function(e){t[e]=!0})),this.forest.selectedNodeMap=t;var n=B();this.multiple&&(this.traverseAllNodesByIndex((function(e){n[e.id]=0})),this.selectedNodes.forEach((function(t){n[t.id]=2,e.flat||e.disableBranchNodes||t.ancestors.forEach((function(t){e.isSelected(t)||(n[t.id]=1)}))}))),this.forest.checkedStateMap=n},enhancedNormalizer:function(e){return oe(oe({},e),this.normalizer(e,this.getInstanceId()))},normalize:function(e,t,n){var i=this,s=t.map((function(e){return[i.enhancedNormalizer(e),e]})).map((function(t,s){var o=r()(t,2),a=o[0],u=o[1];i.checkDuplication(a),i.verifyNodeShape(a);var c=void 0!==a.id?a.id:Math.round(1e6*Math.random()),d=a.label,p=a.children,f=a.isDefaultExpanded,v=null===e,g=v||i.showAsGroup?0:e.level+1,m=Array.isArray(p)||null===p,S=!m,O=!!a.isDisabled||!i.flat&&!v&&e.isDisabled,y=!!a.isNew,b=i.matchKeys.reduce((function(e,t){return oe(oe({},e),{},l()({},t,(n=a[t],"string"==typeof n?n:"number"!=typeof n||C(n)?"":n+"").toLocaleLowerCase()));var n}),{}),E=v?b.label:e.nestedSearchLabel+" "+b.label,N=i.$set(i.forest.nodeMap,c,B());if(i.$set(N,"id",c),i.$set(N,"label",d),i.$set(N,"level",g),i.$set(N,"ancestors",v?[]:[e].concat(e.ancestors)),i.$set(N,"index",(v?[]:e.index).concat(s)),i.$set(N,"parentNode",e),i.$set(N,"lowerCased",b),i.$set(N,"nestedSearchLabel",E),i.$set(N,"isDisabled",O),i.$set(N,"isNew",y),i.$set(N,"isMatched",!1),i.$set(N,"isHighlighted",!1),i.$set(N,"isBranch",m),i.$set(N,"isGroup",m&&i.showAsGroup),i.$set(N,"isLeaf",S),i.$set(N,"isRootNode",v),i.$set(N,"raw",u),m){var _=Array.isArray(p);i.$set(N,"childrenStates",oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{isLoaded:_})),i.$set(N,"isExpanded",i.showAsGroup?i.showAsGroup:"boolean"==typeof f?f:gs+40,u=a>s+40;r.top>=0&&r.top<=o||r.top<0&&r.bottom>0?"auto"!==e.openDirection?e.menu.placement=Re[e.openDirection]:e.menu.placement=l||!u?"bottom":"top":e.closeMenu()}},setupMenuSizeWatcher:function(){var e=this.instance.getMenu();this.menuSizeWatcher||(this.menuSizeWatcher={remove:_(e,this.adjustMenuOpenDirection)})},setupMenuResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.menuResizeAndScrollEventListeners||(this.menuResizeAndScrollEventListeners={remove:w(e,this.adjustMenuOpenDirection)})},removeMenuSizeWatcher:function(){this.menuSizeWatcher&&(this.menuSizeWatcher.remove(),this.menuSizeWatcher=null)},removeMenuResizeAndScrollEventListeners:function(){this.menuResizeAndScrollEventListeners&&(this.menuResizeAndScrollEventListeners.remove(),this.menuResizeAndScrollEventListeners=null)}},render:function(){var e=arguments[0];return e("div",{ref:"menu-container",class:"vue-treeselect__menu-container",style:this.menuContainerStyle},[e("transition",{attrs:{name:"vue-treeselect__menu--transition"}},[this.renderMenu()])])}},void 0,void 0,!1,null,null,null).exports,Be=n(14),ze=n.n(Be);function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var Ve,Fe={name:"vue-treeselect--portal-target",inject:["instance"],watch:{"instance.menu.isOpen":function(e){e?this.setupHandlers():this.removeHandlers()},"instance.menu.placement":function(){this.updateMenuContainerOffset()}},created:function(){this.controlResizeAndScrollEventListeners=null,this.controlSizeWatcher=null},mounted:function(){this.instance.menu.isOpen&&this.setupHandlers()},methods:{setupHandlers:function(){this.updateWidth(),this.updateMenuContainerOffset(),this.setupControlResizeAndScrollEventListeners(),this.setupControlSizeWatcher()},removeHandlers:function(){this.removeControlResizeAndScrollEventListeners(),this.removeControlSizeWatcher()},setupControlResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.controlResizeAndScrollEventListeners||(this.controlResizeAndScrollEventListeners={remove:w(e,this.updateMenuContainerOffset)})},setupControlSizeWatcher:function(){var e=this,t=this.instance.getControl();this.controlSizeWatcher||(this.controlSizeWatcher={remove:_(t,(function(){e.updateWidth(),e.updateMenuContainerOffset()}))})},removeControlResizeAndScrollEventListeners:function(){this.controlResizeAndScrollEventListeners&&(this.controlResizeAndScrollEventListeners.remove(),this.controlResizeAndScrollEventListeners=null)},removeControlSizeWatcher:function(){this.controlSizeWatcher&&(this.controlSizeWatcher.remove(),this.controlSizeWatcher=null)},updateWidth:function(){var e=this.instance,t=this.$el,n=e.getControl().getBoundingClientRect();t.style.width=n.width+"px"},updateMenuContainerOffset:function(){var e=this.instance,t=e.getControl(),n=this.$el,i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),s="bottom"===e.menu.placement?i.height:0,o=Math.round(i.left-r.left)+"px",a=Math.round(i.top-r.top+s)+"px";this.$refs.menu.$refs["menu-container"].style[W(["transform","webkitTransform","MozTransform","msTransform"],(function(e){return e in document.body.style}))]="translate(".concat(o,", ").concat(a,")")}},render:function(){var e=arguments[0],t=this.instance,n=["vue-treeselect__portal-target",t.wrapperClass],i={zIndex:t.zIndex};return e("div",{class:n,style:i,attrs:{"data-instance-id":t.getInstanceId()}},[e($e,{ref:"menu"})])},destroyed:function(){this.removeHandlers()}},Pe=pe({name:"vue-treeselect--menu-portal",created:function(){this.portalTarget=null},mounted:function(){this.setup()},destroyed:function(){this.teardown()},methods:{setup:function(){var e=document.createElement("div");document.body.appendChild(e),this.portalTarget=new ze.a(function(e){for(var t=1;t1?n-1:0),r=1;rn.bottom?e.scrollTop=Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight):i.top-r0},single:function(){return!this.multiple},visibleOptionIds:function(){var e=this,t=[];return this.traverseAllNodesByIndex((function(n){if(e.localSearch.active&&!e.shouldOptionBeIncludedInSearchResult(n)||t.push(n.id),n.isBranch&&!e.shouldExpand(n))return!1})),t},hasVisibleOptions:function(){return 0!==this.visibleOptionIds.length},showCountOnSearchComputed:function(){return"boolean"==typeof this.showCountOnSearch?this.showCountOnSearch:this.showCount},hasBranchNodes:function(){return this.forest.normalizedOptions.some((function(e){return e.isBranch}))},shouldFlattenOptions:function(){return this.localSearch.active&&this.flattenSearchResults}},watch:{alwaysOpen:function(e){e?this.openMenu():this.closeMenu()},branchNodesFirst:function(){this.initialize()},disabled:function(e){e&&this.menu.isOpen?this.closeMenu():e||this.menu.isOpen||!this.alwaysOpen||this.openMenu()},flat:function(){this.initialize()},internalValue:function(e,t){q(e,t)&&this.$emit("input",this.getValue(),this.getInstanceId())},matchKeys:function(){this.initialize()},multiple:function(e){e&&this.buildForestState()},options:{handler:function(){this.async||(this.initialize(),this.rootOptionsStates.isLoaded=Array.isArray(this.options))},deep:!0,immediate:!0},"trigger.searchQuery":function(){this.async?this.handleRemoteSearch():this.handleLocalSearch(),this.$emit("search-change",this.trigger.searchQuery,this.getInstanceId())},value:function(){var e=this.extractCheckedNodeIdsFromValue();q(e,this.internalValue)&&this.fixSelectedNodeIds(e)}},methods:{verifyProps:function(){var e=this;if(h((function(){return!e.async||e.searchable}),(function(){return'For async search mode, the value of "searchable" prop must be true.'})),null!=this.options||this.loadOptions||h((function(){return!1}),(function(){return'Are you meant to dynamically load options? You need to use "loadOptions" prop.'})),this.flat&&h((function(){return e.multiple}),(function(){return'You are using flat mode. But you forgot to add "multiple=true"?'})),!this.flat){["autoSelectAncestors","autoSelectDescendants","autoDeselectAncestors","autoDeselectDescendants"].forEach((function(t){h((function(){return!e[t]}),(function(){return'"'.concat(t,'" only applies to flat mode.')}))}))}},resetFlags:function(){this._blurOnSelect=!1},initialize:function(){var e=this.async?this.getRemoteSearchEntry().options:this.options;if(Array.isArray(e)){var t=this.forest.nodeMap;this.forest.nodeMap=B(),this.keepDataOfSelectedNodes(t),this.forest.normalizedOptions=this.normalize(null,e,t),this.fixSelectedNodeIds(this.internalValue)}else this.forest.normalizedOptions=[]},getInstanceId:function(){return null==this.instanceId?this.id:this.instanceId},getValue:function(){var e=this;if("id"===this.valueFormat)return this.multiple?this.internalValue.slice():this.internalValue[0];var t=this.internalValue.map((function(t){return e.getNode(t).raw}));return this.multiple?t:t[0]},getNode:function(e){return h((function(){return null!=e}),(function(){return"Invalid node id: ".concat(e)})),null==e?null:e in this.forest.nodeMap?this.forest.nodeMap[e]:this.createFallbackNode(e)},createFallbackNode:function(e){var t=this.extractNodeFromValue(e),n={id:e,label:this.enhancedNormalizer(t).label||"".concat(e," (unknown)"),ancestors:[],parentNode:null,isFallbackNode:!0,isRootNode:!0,isLeaf:!0,isBranch:!1,isDisabled:!1,isNew:!1,index:[-1],level:0,raw:t};return this.$set(this.forest.nodeMap,e,n)},extractCheckedNodeIdsFromValue:function(){var e=this;return null==this.value?[]:"id"===this.valueFormat?this.multiple?this.value.slice():[this.value]:(this.multiple?this.value:[this.value]).map((function(t){return e.enhancedNormalizer(t)})).map((function(e){return e.id}))},extractNodeFromValue:function(e){var t=this,n={id:e};return"id"===this.valueFormat?n:W(this.multiple?Array.isArray(this.value)?this.value:[]:this.value?[this.value]:[],(function(n){return n&&t.enhancedNormalizer(n).id===e}))||n},fixSelectedNodeIds:function(e){var t=this,n=[];if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)n=e;else if("BRANCH_PRIORITY"===this.valueConsistsOf)e.forEach((function(e){n.push(e);var i=t.getNode(e);i.isBranch&&t.traverseDescendantsBFS(i,(function(e){n.push(e.id)}))}));else if("LEAF_PRIORITY"===this.valueConsistsOf)for(var i=B(),r=e.slice();r.length;){var s=r.shift(),o=this.getNode(s);n.push(s),o.isRootNode||(o.parentNode.id in i||(i[o.parentNode.id]=o.parentNode.children.length),0==--i[o.parentNode.id]&&r.push(o.parentNode.id))}else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf)for(var a=B(),l=e.filter((function(e){var n=t.getNode(e);return n.isLeaf||0===n.children.length}));l.length;){var u=l.shift(),c=this.getNode(u);n.push(u),c.isRootNode||(c.parentNode.id in a||(a[c.parentNode.id]=c.parentNode.children.length),0==--a[c.parentNode.id]&&l.push(c.parentNode.id))}q(this.forest.selectedNodeIds,n)&&(this.forest.selectedNodeIds=n),this.buildForestState()},keepDataOfSelectedNodes:function(e){var t=this;this.forest.selectedNodeIds.forEach((function(n){if(e[n]){var i=oe(oe({},e[n]),{},{isFallbackNode:!0});t.$set(t.forest.nodeMap,n,i)}}))},isSelected:function(e){return!0===this.forest.selectedNodeMap[e.id]},traverseDescendantsBFS:function(e,t){if(e.isBranch)for(var n=e.children.slice();n.length;){var i=n[0];i.isBranch&&n.push.apply(n,o()(i.children)),t(i),n.shift()}},traverseDescendantsDFS:function(e,t){var n=this;e.isBranch&&e.children.forEach((function(e){n.traverseDescendantsDFS(e,t),t(e)}))},traverseAllNodesDFS:function(e){var t=this;this.forest.normalizedOptions.forEach((function(n){t.traverseDescendantsDFS(n,e),e(n)}))},traverseAllNodesByIndex:function(e){!function t(n){n.children.forEach((function(n){!1!==e(n)&&n.isBranch&&t(n)}))}({children:this.forest.normalizedOptions})},toggleClickOutsideEvent:function(e){e?document.addEventListener("mousedown",this.handleClickOutside,!1):document.removeEventListener("mousedown",this.handleClickOutside,!1)},getValueContainer:function(){return this.$refs&&this.$refs.control&&this.$refs.control.$refs?this.$refs.control.$refs["value-container"]:null},getInput:function(){return this.getValueContainer().$refs.input},focusInput:function(){this.getInput().focus()},blurInput:function(){this.getInput().blur()},handleMouseDown:p((function(e){(e.preventDefault(),e.stopPropagation(),!this.disabled&&this.getValueContainer())&&(this.getValueContainer().$el.contains(e.target)&&!this.menu.isOpen&&(this.openOnClick||this.trigger.isFocused)&&this.openMenu(),this._blurOnSelect?this.blurInput():this.focusInput(),this.resetFlags())})),handleClickOutside:function(e){this.$refs.wrapper&&!this.$refs.wrapper.contains(e.target)&&(this.blurInput(),this.closeMenu())},handleLocalSearch:function(){var e=this,t=this.trigger.searchQuery,n=function(){return e.resetHighlightedOptionWhenNecessary(!0)};if(!t)return this.localSearch.active=!1,n();this.localSearch.active=!0,this.localSearch.noResults=!0,this.traverseAllNodesDFS((function(t){t.isBranch&&(t.isExpandedOnSearch=!1,t.showAllChildrenOnSearch=!1,t.isMatched=!1,t.hasMatchedDescendants=!1,e.$set(e.localSearch.countMap,t.id,l()(l()(l()(l()({},"ALL_CHILDREN",0),"ALL_DESCENDANTS",0),"LEAF_CHILDREN",0),"LEAF_DESCENDANTS",0)))}));var i=t.trim().toLocaleLowerCase(),r=i.replace(/\s+/g," ").split(" ");this.traverseAllNodesDFS((function(t){e.searchNested&&r.length>1?t.isMatched=r.every((function(e){return le(!1,e,t.nestedSearchLabel)})):t.isMatched=e.matchKeys.some((function(n){return le(!e.disableFuzzyMatching,i,t.lowerCased[n])})),t.isMatched&&(e.localSearch.noResults=!1,t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].ALL_DESCENDANTS++})),t.isLeaf&&t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].LEAF_DESCENDANTS++})),null!==t.parentNode&&(e.localSearch.countMap[t.parentNode.id].ALL_CHILDREN+=1,t.isLeaf&&(e.localSearch.countMap[t.parentNode.id].LEAF_CHILDREN+=1))),(t.isMatched||t.isBranch&&t.isExpandedOnSearch)&&null!==t.parentNode&&(t.parentNode.isExpandedOnSearch=!0,t.parentNode.hasMatchedDescendants=!0)})),n()},handleRemoteSearch:function(){var e=this,t=this.trigger.searchQuery,n=this.getRemoteSearchEntry(),i=function(){e.initialize(),e.resetHighlightedOptionWhenNecessary(!0)};if((""===t||this.cacheOptions)&&n.isLoaded)return i();this.callLoadOptionsProp({action:Y,args:{searchQuery:t},isPending:function(){return n.isLoading},start:function(){n.isLoading=!0,n.isLoaded=!1,n.loadingError=""},succeed:function(r){n.isLoaded=!0,n.options=r,e.trigger.searchQuery===t&&i()},fail:function(e){n.loadingError=ue(e)},end:function(){n.isLoading=!1}})},getRemoteSearchEntry:function(){var e=this,t=this.trigger.searchQuery,n=this.remoteSearch[t]||oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{options:[]});if(this.$watch((function(){return n.options}),(function(){e.trigger.searchQuery===t&&e.initialize()}),{deep:!0}),""===t){if(Array.isArray(this.defaultOptions))return n.options=this.defaultOptions,n.isLoaded=!0,n;if(!0!==this.defaultOptions)return n.isLoaded=!0,n}return this.remoteSearch[t]||this.$set(this.remoteSearch,t,n),n},shouldExpand:function(e){return this.localSearch.active?e.isExpandedOnSearch:e.isExpanded},shouldOptionBeIncludedInSearchResult:function(e){return!!e.isMatched||(!(!e.isBranch||!e.hasMatchedDescendants||this.flattenSearchResults)||!(e.isRootNode||!e.parentNode.showAllChildrenOnSearch))},shouldShowOptionInMenu:function(e){return!(this.localSearch.active&&!this.shouldOptionBeIncludedInSearchResult(e))},getControl:function(){return this.$refs.control.$el},getMenu:function(){var e=(this.appendToBody?this.$refs.portal.portalTarget:this).$refs.menu.$refs.menu;return e&&"#comment"!==e.nodeName?e:null},setCurrentHighlightedOption:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.menu.current;if(null!=i&&i in this.forest.nodeMap&&(this.forest.nodeMap[i].isHighlighted=!1),this.menu.current=e.id,e.isHighlighted=!0,this.menu.isOpen&&n){var r=function(){var n=e.id.toString().replace(/"/g,'\\"'),i=t.getMenu(),r=i.querySelector('.vue-treeselect__option[data-id="'.concat(n,'"]'));r&&f(i,r)};this.getMenu()?r():this.$nextTick(r)}},resetHighlightedOptionWhenNecessary:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.menu.current;!e&&null!=t&&t in this.forest.nodeMap&&this.shouldShowOptionInMenu(this.getNode(t))||this.highlightFirstOption()},highlightFirstOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds[0];this.setCurrentHighlightedOption(this.getNode(e))}},highlightPrevOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)-1;if(-1===e)return this.highlightLastOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightNextOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)+1;if(e===this.visibleOptionIds.length)return this.highlightFirstOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightLastOption:function(){if(this.hasVisibleOptions){var e=H()(this.visibleOptionIds);this.setCurrentHighlightedOption(this.getNode(e))}},resetSearchQuery:function(){this.trigger.searchQuery=""},closeMenu:function(){!this.menu.isOpen||!this.disabled&&this.alwaysOpen||(this.saveMenuScrollPosition(),this.menu.isOpen=!1,this.toggleClickOutsideEvent(!1),this.resetSearchQuery(),this.$emit("close",this.getValue(),this.getInstanceId()))},openMenu:function(){this.disabled||this.menu.isOpen||(this.menu.isOpen=!0,this.$nextTick(this.resetHighlightedOptionWhenNecessary),this.$nextTick(this.restoreMenuScrollPosition),this.options||this.async||this.loadRootOptions(),this.toggleClickOutsideEvent(!0),this.$emit("open",this.getInstanceId()))},toggleMenu:function(){this.menu.isOpen?this.closeMenu():this.openMenu()},toggleExpanded:function(e){var t;this.localSearch.active?(t=e.isExpandedOnSearch=!e.isExpandedOnSearch)&&(e.showAllChildrenOnSearch=!0):t=e.isExpanded=!e.isExpanded,t&&!e.childrenStates.isLoaded&&this.loadChildrenOptions(e)},buildForestState:function(){var e=this,t=B();this.forest.selectedNodeIds.forEach((function(e){t[e]=!0})),this.forest.selectedNodeMap=t;var n=B();this.multiple&&(this.traverseAllNodesByIndex((function(e){n[e.id]=0})),this.selectedNodes.forEach((function(t){n[t.id]=2,e.flat||e.disableBranchNodes||t.ancestors.forEach((function(t){e.isSelected(t)||(n[t.id]=1)}))}))),this.forest.checkedStateMap=n},enhancedNormalizer:function(e){return oe(oe({},e),this.normalizer(e,this.getInstanceId()))},normalize:function(e,t,n){var i=this,s=t.map((function(e){return[i.enhancedNormalizer(e),e]})).map((function(t,s){var o=r()(t,2),a=o[0],u=o[1];i.checkDuplication(a),i.verifyNodeShape(a);var c=void 0!==a.id?a.id:Math.round(1e6*Math.random()),d=a.label,p=a.children,f=a.isDefaultExpanded,v=null===e,m=v||i.showAsGroup?0:e.level+1,g=Array.isArray(p)||null===p,S=!g,O=!!a.isDisabled||!i.flat&&!v&&e.isDisabled,y=!!a.isNew,b=i.matchKeys.reduce((function(e,t){return oe(oe({},e),{},l()({},t,(n=a[t],"string"==typeof n?n:"number"!=typeof n||C(n)?"":n+"").toLocaleLowerCase()));var n}),{}),_=v?b.label:e.nestedSearchLabel+" "+b.label,E=i.$set(i.forest.nodeMap,c,B());if(i.$set(E,"id",c),i.$set(E,"label",d),i.$set(E,"level",m),i.$set(E,"ancestors",v?[]:[e].concat(e.ancestors)),i.$set(E,"index",(v?[]:e.index).concat(s)),i.$set(E,"parentNode",e),i.$set(E,"lowerCased",b),i.$set(E,"nestedSearchLabel",_),i.$set(E,"isDisabled",O),i.$set(E,"isNew",y),i.$set(E,"isMatched",!1),i.$set(E,"isHighlighted",!1),i.$set(E,"isBranch",g),i.$set(E,"isGroup",g&&i.showAsGroup),i.$set(E,"isLeaf",S),i.$set(E,"isRootNode",v),i.$set(E,"raw",u),g){var N=Array.isArray(p);i.$set(E,"childrenStates",oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{isLoaded:N})),i.$set(E,"isExpanded",i.showAsGroup?i.showAsGroup:"boolean"==typeof f?f:ms+40,u=a>s+40;r.top>=0&&r.top<=o||r.top<0&&r.bottom>0?"auto"!==e.openDirection?e.menu.placement=qe[e.openDirection]:e.menu.placement=l||!u?"bottom":"top":e.closeMenu()}},setupMenuSizeWatcher:function(){var e=this.instance.getMenu();this.menuSizeWatcher||(this.menuSizeWatcher={remove:N(e,this.adjustMenuOpenDirection)})},setupMenuResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.menuResizeAndScrollEventListeners||(this.menuResizeAndScrollEventListeners={remove:w(e,this.adjustMenuOpenDirection)})},removeMenuSizeWatcher:function(){this.menuSizeWatcher&&(this.menuSizeWatcher.remove(),this.menuSizeWatcher=null)},removeMenuResizeAndScrollEventListeners:function(){this.menuResizeAndScrollEventListeners&&(this.menuResizeAndScrollEventListeners.remove(),this.menuResizeAndScrollEventListeners=null)}},render:function(){var e=arguments[0];return e("div",{ref:"menu-container",class:"vue-treeselect__menu-container",style:this.menuContainerStyle},[e("transition",{attrs:{name:"vue-treeselect__menu--transition"}},[this.renderMenu()])])}},void 0,void 0,!1,null,null,null).exports,Ge=n(14),Ye=n.n(Ge);function Ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var Xe,Ue={name:"vue-treeselect--portal-target",inject:["instance"],watch:{"instance.menu.isOpen":function(e){e?this.setupHandlers():this.removeHandlers()},"instance.menu.placement":function(){this.updateMenuContainerOffset()}},created:function(){this.controlResizeAndScrollEventListeners=null,this.controlSizeWatcher=null},mounted:function(){this.instance.menu.isOpen&&this.setupHandlers()},methods:{setupHandlers:function(){this.updateWidth(),this.updateMenuContainerOffset(),this.setupControlResizeAndScrollEventListeners(),this.setupControlSizeWatcher()},removeHandlers:function(){this.removeControlResizeAndScrollEventListeners(),this.removeControlSizeWatcher()},setupControlResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.controlResizeAndScrollEventListeners||(this.controlResizeAndScrollEventListeners={remove:w(e,this.updateMenuContainerOffset)})},setupControlSizeWatcher:function(){var e=this,t=this.instance.getControl();this.controlSizeWatcher||(this.controlSizeWatcher={remove:N(t,(function(){e.updateWidth(),e.updateMenuContainerOffset()}))})},removeControlResizeAndScrollEventListeners:function(){this.controlResizeAndScrollEventListeners&&(this.controlResizeAndScrollEventListeners.remove(),this.controlResizeAndScrollEventListeners=null)},removeControlSizeWatcher:function(){this.controlSizeWatcher&&(this.controlSizeWatcher.remove(),this.controlSizeWatcher=null)},updateWidth:function(){var e=this.instance,t=this.$el,n=e.getControl().getBoundingClientRect();t.style.width=n.width+"px"},updateMenuContainerOffset:function(){var e=this.instance,t=e.getControl(),n=this.$el,i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),s="bottom"===e.menu.placement?i.height:0,o=Math.round(i.left-r.left)+"px",a=Math.round(i.top-r.top+s)+"px";this.$refs.menu.$refs["menu-container"].style[W(["transform","webkitTransform","MozTransform","msTransform"],(function(e){return e in document.body.style}))]="translate(".concat(o,", ").concat(a,")")}},render:function(){var e=arguments[0],t=this.instance,n=["vue-treeselect__portal-target",t.wrapperClass],i={zIndex:t.zIndex};return e("div",{class:n,style:i,attrs:{"data-instance-id":t.getInstanceId()}},[e(Qe,{ref:"menu"})])},destroyed:function(){this.removeHandlers()}},Je=pe({name:"vue-treeselect--menu-portal",created:function(){this.portalTarget=null},mounted:function(){this.setup()},destroyed:function(){this.teardown()},methods:{setup:function(){var e=document.createElement("div");document.body.appendChild(e),this.portalTarget=new Ye.a(function(e){for(var t=1;t scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=12b4a02e\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","\n","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=5d5151cb\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/external \"@babel/runtime/helpers/defineProperty\"","webpack://VueTreeselect/external \"babel-helper-vue-jsx-merge-props\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/toConsumableArray\"","webpack://VueTreeselect/external \"lodash/noop\"","webpack://VueTreeselect/external \"lodash/debounce\"","webpack://VueTreeselect/external \"is-promise\"","webpack://VueTreeselect/external \"lodash/once\"","webpack://VueTreeselect/external \"lodash/identity\"","webpack://VueTreeselect/external \"lodash/constant\"","webpack://VueTreeselect/external \"lodash/last\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/slicedToArray\"","webpack://VueTreeselect/external \"fuzzysearch\"","webpack://VueTreeselect/external \"watch-size\"","webpack://VueTreeselect/external \"@babel/runtime/helpers/typeof\"","webpack://VueTreeselect/external \"vue\"","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","warning","noop","onLeftClick","mouseDownHandler","evt","type","button","_len","arguments","length","args","Array","_key","apply","this","concat","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","Math","min","offsetTop","clientHeight","scrollHeight","top","max","intervalId","removeFromArray","arr","elem","idx","indexOf","splice","registered","test","item","$el","listener","lastWidth","lastHeight","width","offsetWidth","height","watchSizeForIE9","push","setInterval","forEach","clearInterval","watchSize","isIE9","document","documentMode","locked","removeSizeWatcher","watchSizeForBrowsersOtherThanIE9","isScrollElment","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","window","findScrollParents","addEventListener","passive","scrollParent","removeEventListener","$scrollParent","isNaN","x","createMap","isPlainObject","_typeof","getPrototypeOf","deepExtend","target","source","keys","len","obj","includes","arrOrStr","find","predicate","ctx","quickDiff","arrA","arrB","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","KEY_CODES","sortValueByIndex","a","b","level","index","match","enableFuzzyMatch","needle","haystack","fuzzysearch","getErrorMessage","err","message","String","instanceId","provide","instance","props","allowClearingDisabled","Boolean","default","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","Function","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","joinValues","limit","Infinity","limitText","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","openOnClick","openOnFocus","options","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","isLoaded","isLoading","loadingError","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","slice","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","sortValueByLevel","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","$emit","getValue","getInstanceId","buildForestState","handler","isArray","deep","immediate","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","fallbackNode","label","enhancedNormalizer","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","_toConsumableArray","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","contains","wrapper","_this11","done","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","replace","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","$menu","portal","portalTarget","setCurrentHighlightedOption","_this14","scroll","undefined","prev","isHighlighted","scrollToOption","toString","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","next","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","reduce","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","result","isPromise","then","catch","console","error","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","component","inject","_","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","__file","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","leading","trailing","onInput","onFocus","onBlur","activeElement","cancel","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","onMouseDown","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","ref","_mergeJSXProps","autocomplete","style","sizer","scrollWidth","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","_c","_self","xmlns","viewBox","_withStripped","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","tag","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","setTimeout","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","customLabelRenderer","labelClassName","countClassName","childNode","Tip","handleMouseDownOnRetry","currentTarget","indentLevel","listItemClass","transitionProps","directionMap","above","below","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","createElement","appendChild","Vue","removeChild","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","VERSION","Treeselect","PKG_VERSION"],"mappings":"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","file":"vue-treeselect.cjs.min.js","sourcesContent":[" \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 = 16);\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"babel-helper-vue-jsx-merge-props\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash/noop\");","module.exports = require(\"lodash/debounce\");","module.exports = require(\"is-promise\");","module.exports = require(\"lodash/once\");","module.exports = require(\"lodash/identity\");","module.exports = require(\"lodash/constant\");","module.exports = require(\"lodash/last\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"fuzzysearch\");","module.exports = require(\"watch-size\");","module.exports = require(\"@babel/runtime/helpers/typeof\");","module.exports = require(\"vue\");","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","\n","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","\n","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-treeselect.umd.js b/dist/vue-treeselect.umd.js index 3e728f8c..905cd295 100644 --- a/dist/vue-treeselect.umd.js +++ b/dist/vue-treeselect.umd.js @@ -4392,9 +4392,12 @@ var directionMap = { renderAsyncSearchMenuInner: function renderAsyncSearchMenuInner() { var instance = this.instance; var entry = instance.getRemoteSearchEntry(); - var shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions && instance.searchPromptText; + var shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions; var shouldShowNoResultsTip = shouldShowSearchPromptTip ? false : entry.isLoaded && entry.options.length === 0; if (shouldShowSearchPromptTip) { + if (!instance.searchPromptText) { + return ''; + } return this.renderSearchPromptTip(); } else if (entry.isLoading) { return this.renderLoadingOptionsTip(); diff --git a/dist/vue-treeselect.umd.js.map b/dist/vue-treeselect.umd.js.map index 8c2c185d..e7892240 100644 --- a/dist/vue-treeselect.umd.js.map +++ b/dist/vue-treeselect.umd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueTreeselect/webpack/universalModuleDefinition","webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/typeof.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://VueTreeselect/./node_modules/fuzzysearch/index.js","webpack://VueTreeselect/./node_modules/lodash/noop.js","webpack://VueTreeselect/./node_modules/lodash/debounce.js","webpack://VueTreeselect/./node_modules/lodash/isObject.js","webpack://VueTreeselect/./node_modules/lodash/now.js","webpack://VueTreeselect/./node_modules/lodash/_root.js","webpack://VueTreeselect/./node_modules/lodash/_freeGlobal.js","webpack://VueTreeselect/(webpack)/buildin/global.js","webpack://VueTreeselect/./node_modules/lodash/toNumber.js","webpack://VueTreeselect/./node_modules/lodash/_baseTrim.js","webpack://VueTreeselect/./node_modules/lodash/_trimmedEndIndex.js","webpack://VueTreeselect/./node_modules/lodash/isSymbol.js","webpack://VueTreeselect/./node_modules/lodash/_baseGetTag.js","webpack://VueTreeselect/./node_modules/lodash/_Symbol.js","webpack://VueTreeselect/./node_modules/lodash/_getRawTag.js","webpack://VueTreeselect/./node_modules/lodash/_objectToString.js","webpack://VueTreeselect/./node_modules/lodash/isObjectLike.js","webpack://VueTreeselect/./node_modules/is-promise/index.js","webpack://VueTreeselect/./node_modules/lodash/once.js","webpack://VueTreeselect/./node_modules/lodash/before.js","webpack://VueTreeselect/./node_modules/lodash/toInteger.js","webpack://VueTreeselect/./node_modules/lodash/toFinite.js","webpack://VueTreeselect/./node_modules/lodash/identity.js","webpack://VueTreeselect/./node_modules/lodash/constant.js","webpack://VueTreeselect/./node_modules/lodash/last.js","webpack://VueTreeselect/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://VueTreeselect/external \"Vue\"","webpack://VueTreeselect/./src/style.less?1f4a","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./node_modules/watch-size/index.es.mjs","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/utils/index.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./src/components/HiddenFields.vue?2cdc","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue?3957","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/Placeholder.vue?7a2d","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/SingleValue.vue?304b","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?706a","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue?6db0","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/MultiValue.vue?998f","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?c39d","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Control.vue?2f53","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/./src/components/Tip.vue?f94f","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue?f5e1","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue?0ced","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue?9760","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/components/Treeselect.vue?71f6","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["warning","process","noop","checker","complainer","_console","message","concat","console","error","apply","_toConsumableArray","onLeftClick","mouseDownHandler","onMouseDown","evt","type","button","_len","arguments","length","args","Array","_key","call","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","Math","min","offsetTop","clientHeight","scrollHeight","top","max","removeFromArray","arr","elem","idx","indexOf","splice","intervalId","registered","INTERVAL_DURATION","run","setInterval","forEach","test","stop","clearInterval","item","$el","listener","lastWidth","lastHeight","width","offsetWidth","height","watchSizeForIE9","unwatch","push","watchSize","isIE9","document","documentMode","locked","wrappedListener","implementation","watchSizeForBrowsersOtherThanIE9","removeSizeWatcher","findScrollParents","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListeners","removeEventListener","$scrollParent","isNaN","x","createMap","Object","create","isPlainObject","value","_typeof","getPrototypeOf","prototype","copy","obj","key","deepExtend","target","source","keys","i","len","includes","arrOrStr","find","predicate","ctx","undefined","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","a","b","level","index","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","needle","haystack","fuzzysearch","getErrorMessage","err","String","instanceId","provide","instance","props","allowClearingDisabled","Boolean","default","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","Function","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","_default","joinValues","limit","Infinity","limitText","limitTextDefault","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","name","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","acceptableValues","openOnClick","openOnFocus","options","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","slice","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","hasChanged","$emit","getValue","getInstanceId","buildForestState","handler","isArray","deep","immediate","triggerSearchQuery","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","label","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","done","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","replace","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","ref","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","toString","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","next","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","reduce","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","result","isPromise","then","catch","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","inject","functional","render","_","context","h","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","instanceTriggerSearchQuery","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","leading","trailing","onInput","onFocus","onBlur","activeElement","cancel","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","_mergeJSXProps","autocomplete","style","sizer","scrollWidth","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","tag","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","setTimeout","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","Tip","handleMouseDownOnRetry","currentTarget","handleMouseDownOnOptionArrow","indentLevel","listItemClass","directionMap","above","below","menuStyle","menuContainerStyle","instanceMenuIsOpen","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","instanceMenuPlacement","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","transformVariations","transform","t","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","createElement","appendChild","Vue","parent","removeChild","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","Treeselect","VERSION","PKG_VERSION"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,qBAAqB,mBAAO,CAAC,CAAqB;AAClD,2BAA2B,mBAAO,CAAC,CAA2B;AAC9D,iCAAiC,mBAAO,CAAC,CAAiC;AAC1E,sBAAsB,mBAAO,CAAC,CAAsB;AACpD;AACA;AACA;AACA,8G;;;;;;ACPA;AACA;AACA;AACA,+G;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,kEAAkE;AACrF,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qH;;;;;;AC3BA,uBAAuB,mBAAO,CAAC,CAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2H;;;;;;ACTA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,iH;;;;;;ACLA;AACA;AACA;AACA,gH;;;;;;ACHA,wBAAwB,mBAAO,CAAC,CAAwB;AACxD,sBAAsB,mBAAO,CAAC,CAAsB;AACpD,iCAAiC,mBAAO,CAAC,CAAiC;AAC1E,wBAAwB,mBAAO,CAAC,CAAwB;AACxD;AACA;AACA;AACA,kH;;;;;;ACPA,uBAAuB,mBAAO,CAAC,CAAuB;AACtD;AACA;AACA;AACA,kH;;;;;;ACJA;AACA;AACA;AACA,gH;;;;;;ACHA;AACA;AACA;AACA,kH;;;;;;ACHA,oBAAoB,mBAAO,CAAC,EAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,+G;;;;;;ACfA,cAAc,mBAAO,CAAC,EAAa;AACnC,kBAAkB,mBAAO,CAAC,EAAkB;AAC5C;AACA;AACA;AACA;AACA,6G;;;;;;ACNA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,uG;;;;;;ACTA,cAAc,mBAAO,CAAC,EAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2G;;;;;;;ACXa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,UAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,EAAO;AACzB,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;ACRA;AACA;;AAEA;;;;;;;;ACHA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA,eAAe,mBAAO,CAAC,EAAa;AACpC,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA,sBAAsB,mBAAO,CAAC,EAAoB;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;AClBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,aAAa,mBAAO,CAAC,EAAW;AAChC,gBAAgB,mBAAO,CAAC,EAAc;AACtC,qBAAqB,mBAAO,CAAC,EAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA,aAAa,mBAAO,CAAC,EAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;;AAEA;AACA;AACA;;;;;;;ACLA,aAAa,mBAAO,CAAC,EAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,gBAAgB,mBAAO,CAAC,EAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACnCA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,WAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA,iD;;;;;;ACAA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6B;AAEtB,IAAMA,eAAO,GAAGC,MAAqC,GAC7BC,SAAI,GAC/B,SAASF,OAAOA,CAACG,OAAO,EAAEC,UAAU,EAAE;EACtC,IAAI,CAACD,OAAO,CAAC,CAAC,EAAE;IAAA,IAAAE,QAAA;IACd,IAAMC,OAAO,GAAG,CAAE,0BAA0B,CAAE,CAACC,MAAM,CAACH,UAAU,CAAC,CAAC,CAAC;IAEnE,CAAAC,QAAA,GAAAG,OAAO,EAACC,KAAK,CAAAC,KAAA,CAAAL,QAAA,EAAAM,2BAAA,CAAIL,OAAO,EAAC;E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","file":"vue-treeselect.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"Vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueTreeselect\"] = factory(require(\"Vue\"));\n\telse\n\t\troot[\"VueTreeselect\"] = factory(root[\"Vue\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__40__) {\nreturn "," \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 = 42);\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var 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","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__40__;","// extracted by mini-css-extract-plugin","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","var index = (function (element, listener) {\n\tvar expand = document.createElement('_');\n\tvar shrink = expand.appendChild(document.createElement('_'));\n\tvar expandChild = expand.appendChild(document.createElement('_'));\n\tvar shrinkChild = shrink.appendChild(document.createElement('_'));\n\n\tvar lastWidth = void 0,\n\t lastHeight = void 0;\n\n\tshrink.style.cssText = expand.style.cssText = 'height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1';\n\tshrinkChild.style.cssText = expandChild.style.cssText = 'display:block;height:100%;transition:0s;width:100%';\n\tshrinkChild.style.width = shrinkChild.style.height = '200%';\n\n\telement.appendChild(expand);\n\n\ttest();\n\n\treturn stop;\n\n\tfunction test() {\n\t\tunbind();\n\n\t\tvar width = element.offsetWidth;\n\t\tvar height = element.offsetHeight;\n\n\t\tif (width !== lastWidth || height !== lastHeight) {\n\t\t\tlastWidth = width;\n\t\t\tlastHeight = height;\n\n\t\t\texpandChild.style.width = width * 2 + 'px';\n\t\t\texpandChild.style.height = height * 2 + 'px';\n\n\t\t\texpand.scrollLeft = expand.scrollWidth;\n\t\t\texpand.scrollTop = expand.scrollHeight;\n\t\t\tshrink.scrollLeft = shrink.scrollWidth;\n\t\t\tshrink.scrollTop = shrink.scrollHeight;\n\n\t\t\tlistener({ width: width, height: height });\n\t\t}\n\n\t\tshrink.addEventListener('scroll', test);\n\t\texpand.addEventListener('scroll', test);\n\t}\n\n\tfunction unbind() {\n\t\tshrink.removeEventListener('scroll', test);\n\t\texpand.removeEventListener('scroll', test);\n\t}\n\n\tfunction stop() {\n\t\tunbind();\n\n\t\telement.removeChild(expand);\n\t}\n});\n\nexport default index;\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// ========================\n// Debugging Helpers\n// ========================\n\nexport { warning } from './warning'\n\n// ========================\n// DOM Utilities\n// ========================\n\nexport { onLeftClick } from './onLeftClick'\nexport { scrollIntoView } from './scrollIntoView'\nexport { debounce } from './debounce'\nexport { watchSize } from './watchSize'\nexport { setupResizeAndScrollEventListeners } from './setupResizeAndScrollEventListeners'\n\n// ========================\n// Language Helpers\n// ========================\n\nexport { isNaN } from './isNaN'\nexport { isPromise } from './isPromise'\nexport { once } from './once'\nexport { noop } from './noop'\nexport { identity } from './identity'\nexport { constant } from './constant'\nexport { createMap } from './createMap'\nexport { deepExtend } from './deepExtend'\nexport { last } from './last'\nexport { includes } from './includes'\nexport { find } from './find'\nexport { removeFromArray } from './removeFromArray'\n\n// ========================\n// Other Utilities\n// ========================\n\nexport { quickDiff } from './quickDiff'\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9bcc0be2')) {\n api.createRecord('9bcc0be2', component.options)\n } else {\n api.reload('9bcc0be2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Menu.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueTreeselect/webpack/universalModuleDefinition","webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/typeof.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://VueTreeselect/./node_modules/fuzzysearch/index.js","webpack://VueTreeselect/./node_modules/lodash/noop.js","webpack://VueTreeselect/./node_modules/lodash/debounce.js","webpack://VueTreeselect/./node_modules/lodash/isObject.js","webpack://VueTreeselect/./node_modules/lodash/now.js","webpack://VueTreeselect/./node_modules/lodash/_root.js","webpack://VueTreeselect/./node_modules/lodash/_freeGlobal.js","webpack://VueTreeselect/(webpack)/buildin/global.js","webpack://VueTreeselect/./node_modules/lodash/toNumber.js","webpack://VueTreeselect/./node_modules/lodash/_baseTrim.js","webpack://VueTreeselect/./node_modules/lodash/_trimmedEndIndex.js","webpack://VueTreeselect/./node_modules/lodash/isSymbol.js","webpack://VueTreeselect/./node_modules/lodash/_baseGetTag.js","webpack://VueTreeselect/./node_modules/lodash/_Symbol.js","webpack://VueTreeselect/./node_modules/lodash/_getRawTag.js","webpack://VueTreeselect/./node_modules/lodash/_objectToString.js","webpack://VueTreeselect/./node_modules/lodash/isObjectLike.js","webpack://VueTreeselect/./node_modules/is-promise/index.js","webpack://VueTreeselect/./node_modules/lodash/once.js","webpack://VueTreeselect/./node_modules/lodash/before.js","webpack://VueTreeselect/./node_modules/lodash/toInteger.js","webpack://VueTreeselect/./node_modules/lodash/toFinite.js","webpack://VueTreeselect/./node_modules/lodash/identity.js","webpack://VueTreeselect/./node_modules/lodash/constant.js","webpack://VueTreeselect/./node_modules/lodash/last.js","webpack://VueTreeselect/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://VueTreeselect/external \"Vue\"","webpack://VueTreeselect/./src/style.less?1f4a","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./node_modules/watch-size/index.es.mjs","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/utils/index.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./src/components/HiddenFields.vue?2cdc","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue?3957","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/Placeholder.vue?7a2d","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/SingleValue.vue?304b","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?706a","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue?6db0","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/MultiValue.vue?998f","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?c39d","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Control.vue?2f53","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/./src/components/Tip.vue?f94f","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue?f5e1","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue?0ced","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue?9760","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/components/Treeselect.vue?71f6","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["warning","process","noop","checker","complainer","_console","message","concat","console","error","apply","_toConsumableArray","onLeftClick","mouseDownHandler","onMouseDown","evt","type","button","_len","arguments","length","args","Array","_key","call","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","Math","min","offsetTop","clientHeight","scrollHeight","top","max","removeFromArray","arr","elem","idx","indexOf","splice","intervalId","registered","INTERVAL_DURATION","run","setInterval","forEach","test","stop","clearInterval","item","$el","listener","lastWidth","lastHeight","width","offsetWidth","height","watchSizeForIE9","unwatch","push","watchSize","isIE9","document","documentMode","locked","wrappedListener","implementation","watchSizeForBrowsersOtherThanIE9","removeSizeWatcher","findScrollParents","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","isScrollElment","window","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","addEventListener","passive","scrollParent","removeEventListeners","removeEventListener","$scrollParent","isNaN","x","createMap","Object","create","isPlainObject","value","_typeof","getPrototypeOf","prototype","copy","obj","key","deepExtend","target","source","keys","i","len","includes","arrOrStr","find","predicate","ctx","undefined","quickDiff","arrA","arrB","NO_PARENT_NODE","UNCHECKED","INDETERMINATE","CHECKED","ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE","ORDER_SELECTED","LEVEL","INDEX","KEY_CODES","BACKSPACE","ENTER","ESCAPE","END","HOME","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","DELETE","INPUT_DEBOUNCE_DELAY","MIN_INPUT_WIDTH","MENU_BUFFER","sortValueByIndex","a","b","level","index","sortValueByLevel","createAsyncOptionsStates","isLoaded","isLoading","loadingError","stringifyOptionPropValue","match","enableFuzzyMatch","needle","haystack","fuzzysearch","getErrorMessage","err","String","instanceId","provide","instance","props","allowClearingDisabled","Boolean","default","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","Function","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","Number","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","_default","joinValues","limit","Infinity","limitText","limitTextDefault","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","name","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","acceptableValues","openOnClick","openOnFocus","options","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","slice","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","hasChanged","$emit","getValue","getInstanceId","buildForestState","handler","isArray","deep","immediate","triggerSearchQuery","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propNames","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","label","enhancedNormalizer","fallbackNode","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","valueArray","matched","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","isClickedOnValueContainer","contains","wrapper","_this11","done","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","replace","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","ref","portal","portalTarget","$menu","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","toString","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","next","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","reduce","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","result","isPromise","then","catch","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","inject","functional","render","_","context","h","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","instanceTriggerSearchQuery","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","leading","trailing","onInput","onFocus","onBlur","activeElement","cancel","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","_mergeJSXProps","autocomplete","style","sizer","scrollWidth","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","tag","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","setTimeout","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","optionClass","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","transitionProps","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","labelClassName","countClassName","customLabelRenderer","childNode","Tip","handleMouseDownOnRetry","currentTarget","handleMouseDownOnOptionArrow","indentLevel","listItemClass","directionMap","above","below","menuStyle","menuContainerStyle","instanceMenuIsOpen","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","spaceBelow","isControlInViewport","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","instanceMenuPlacement","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","transformVariations","transform","t","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","createElement","appendChild","Vue","parent","removeChild","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","Treeselect","VERSION","PKG_VERSION"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA,qBAAqB,mBAAO,CAAC,CAAqB;AAClD,2BAA2B,mBAAO,CAAC,CAA2B;AAC9D,iCAAiC,mBAAO,CAAC,CAAiC;AAC1E,sBAAsB,mBAAO,CAAC,CAAsB;AACpD;AACA;AACA;AACA,8G;;;;;;ACPA;AACA;AACA;AACA,+G;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,kEAAkE;AACrF,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qH;;;;;;AC3BA,uBAAuB,mBAAO,CAAC,CAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2H;;;;;;ACTA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,iH;;;;;;ACLA;AACA;AACA;AACA,gH;;;;;;ACHA,wBAAwB,mBAAO,CAAC,CAAwB;AACxD,sBAAsB,mBAAO,CAAC,CAAsB;AACpD,iCAAiC,mBAAO,CAAC,CAAiC;AAC1E,wBAAwB,mBAAO,CAAC,CAAwB;AACxD;AACA;AACA;AACA,kH;;;;;;ACPA,uBAAuB,mBAAO,CAAC,CAAuB;AACtD;AACA;AACA;AACA,kH;;;;;;ACJA;AACA;AACA;AACA,gH;;;;;;ACHA;AACA;AACA;AACA,kH;;;;;;ACHA,oBAAoB,mBAAO,CAAC,EAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,+G;;;;;;ACfA,cAAc,mBAAO,CAAC,EAAa;AACnC,kBAAkB,mBAAO,CAAC,EAAkB;AAC5C;AACA;AACA;AACA;AACA,6G;;;;;;ACNA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,uG;;;;;;ACTA,cAAc,mBAAO,CAAC,EAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2G;;;;;;;ACXa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,UAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChBA,eAAe,mBAAO,CAAC,EAAY;AACnC,UAAU,mBAAO,CAAC,EAAO;AACzB,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC9BA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,EAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;ACRA;AACA;;AAEA;;;;;;;;ACHA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA,eAAe,mBAAO,CAAC,EAAa;AACpC,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC/DA,sBAAsB,mBAAO,CAAC,EAAoB;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AClBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;AClBA,iBAAiB,mBAAO,CAAC,EAAe;AACxC,mBAAmB,mBAAO,CAAC,EAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA,aAAa,mBAAO,CAAC,EAAW;AAChC,gBAAgB,mBAAO,CAAC,EAAc;AACtC,qBAAqB,mBAAO,CAAC,EAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC3BA,WAAW,mBAAO,CAAC,EAAS;;AAE5B;AACA;;AAEA;;;;;;;ACLA,aAAa,mBAAO,CAAC,EAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5BA;AACA;;AAEA;AACA;AACA;;;;;;;ACLA,aAAa,mBAAO,CAAC,EAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA,gBAAgB,mBAAO,CAAC,EAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACvCA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACnCA,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,WAAW,SAAS,GAAG,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjDA,iD;;;;;;ACAA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6B;AAEtB,IAAMA,eAAO,GAAGC,MAAqC,GAC7BC,SAAI,GAC/B,SAASF,OAAOA,CAACG,OAAO,EAAEC,UAAU,EAAE;EACtC,IAAI,CAACD,OAAO,CAAC,CAAC,EAAE;IAAA,IAAAE,QAAA;IACd,IAAMC,OAAO,GAAG,CAAE,0BAA0B,CAAE,CAACC,MAAM,CAACH,UAAU,CAAC,CAAC,CAAC;IAEnE,CAAAC,QAAA,GAAAG,OAAO,EAACC,KAAK,CAAAC,KAAA,CAAAL,QAAA,EAAAM,2BAAA,CAAIL,OAAO,EAAC;E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","file":"vue-treeselect.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"Vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueTreeselect\"] = factory(require(\"Vue\"));\n\telse\n\t\troot[\"VueTreeselect\"] = factory(root[\"Vue\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__40__) {\nreturn "," \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 = 42);\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var 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","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__40__;","// extracted by mini-css-extract-plugin","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","var index = (function (element, listener) {\n\tvar expand = document.createElement('_');\n\tvar shrink = expand.appendChild(document.createElement('_'));\n\tvar expandChild = expand.appendChild(document.createElement('_'));\n\tvar shrinkChild = shrink.appendChild(document.createElement('_'));\n\n\tvar lastWidth = void 0,\n\t lastHeight = void 0;\n\n\tshrink.style.cssText = expand.style.cssText = 'height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1';\n\tshrinkChild.style.cssText = expandChild.style.cssText = 'display:block;height:100%;transition:0s;width:100%';\n\tshrinkChild.style.width = shrinkChild.style.height = '200%';\n\n\telement.appendChild(expand);\n\n\ttest();\n\n\treturn stop;\n\n\tfunction test() {\n\t\tunbind();\n\n\t\tvar width = element.offsetWidth;\n\t\tvar height = element.offsetHeight;\n\n\t\tif (width !== lastWidth || height !== lastHeight) {\n\t\t\tlastWidth = width;\n\t\t\tlastHeight = height;\n\n\t\t\texpandChild.style.width = width * 2 + 'px';\n\t\t\texpandChild.style.height = height * 2 + 'px';\n\n\t\t\texpand.scrollLeft = expand.scrollWidth;\n\t\t\texpand.scrollTop = expand.scrollHeight;\n\t\t\tshrink.scrollLeft = shrink.scrollWidth;\n\t\t\tshrink.scrollTop = shrink.scrollHeight;\n\n\t\t\tlistener({ width: width, height: height });\n\t\t}\n\n\t\tshrink.addEventListener('scroll', test);\n\t\texpand.addEventListener('scroll', test);\n\t}\n\n\tfunction unbind() {\n\t\tshrink.removeEventListener('scroll', test);\n\t\texpand.removeEventListener('scroll', test);\n\t}\n\n\tfunction stop() {\n\t\tunbind();\n\n\t\telement.removeChild(expand);\n\t}\n});\n\nexport default index;\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// ========================\n// Debugging Helpers\n// ========================\n\nexport { warning } from './warning'\n\n// ========================\n// DOM Utilities\n// ========================\n\nexport { onLeftClick } from './onLeftClick'\nexport { scrollIntoView } from './scrollIntoView'\nexport { debounce } from './debounce'\nexport { watchSize } from './watchSize'\nexport { setupResizeAndScrollEventListeners } from './setupResizeAndScrollEventListeners'\n\n// ========================\n// Language Helpers\n// ========================\n\nexport { isNaN } from './isNaN'\nexport { isPromise } from './isPromise'\nexport { once } from './once'\nexport { noop } from './noop'\nexport { identity } from './identity'\nexport { constant } from './constant'\nexport { createMap } from './createMap'\nexport { deepExtend } from './deepExtend'\nexport { last } from './last'\nexport { includes } from './includes'\nexport { find } from './find'\nexport { removeFromArray } from './removeFromArray'\n\n// ========================\n// Other Utilities\n// ========================\n\nexport { quickDiff } from './quickDiff'\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HiddenFields.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Placeholder.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Delete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValueItem.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultiValue.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arrow.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Control.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tip.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Option.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9bcc0be2')) {\n api.createRecord('9bcc0be2', component.options)\n } else {\n api.reload('9bcc0be2', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Menu.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuPortal.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Treeselect.vue?vue&type=script&lang=js\"","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-treeselect.umd.min.js b/dist/vue-treeselect.umd.min.js index 294693b9..a71ba057 100644 --- a/dist/vue-treeselect.umd.min.js +++ b/dist/vue-treeselect.umd.min.js @@ -3,5 +3,5 @@ * Released under the MIT License. * https://vue-treeselect.js.org/ */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("Vue")):"function"==typeof define&&define.amd?define(["Vue"],t):"object"==typeof exports?exports.VueTreeselect=t(require("Vue")):e.VueTreeselect=t(e.Vue)}(window,(function(e){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=42)}([function(e,t,n){var i=n(26);e.exports=function(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){function n(t){return e.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,n(t)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function i(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce((function(e,t){var r,o,s,a,l;for(s in t)if(r=e[s],o=t[s],r&&n.test(s))if("class"===s&&("string"==typeof r&&(l=r,e[s]=r={},r[l]=!0),"string"==typeof o&&(l=o,t[s]=o={},o[l]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(a in o)r[a]=i(r[a],o[a]);else if(Array.isArray(r))e[s]=r.concat(o);else if(Array.isArray(o))e[s]=[r].concat(o);else for(a in o)r[a]=o[a];else e[s]=t[s];return e}),{})}},function(e,t,n){var i=n(23),r=n(24),o=n(4),s=n(25);e.exports=function(e){return i(e)||r(e)||o(e)||s()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){var i=n(5);e.exports=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n=t||n<0||m&&e-f>=c}function O(){var e=r();if(b(e))return x(e);h=setTimeout(O,function(e){var n=t-(e-p);return m?a(n,c-(e-f)):n}(e))}function x(e){return h=void 0,g&&l?y(e):(l=u=void 0,d)}function _(){var e=r(),n=b(e);if(l=arguments,u=this,p=e,n){if(void 0===h)return S(p);if(m)return clearTimeout(h),h=setTimeout(O,t),y(p)}return void 0===h&&(h=setTimeout(O,t)),d}return t=o(t)||0,i(n)&&(v=!!n.leading,c=(m="maxWait"in n)?s(o(n.maxWait)||0,t):c,g="trailing"in n?!!n.trailing:g),_.cancel=function(){void 0!==h&&clearTimeout(h),f=0,l=p=u=h=void 0},_.flush=function(){return void 0===h?d:x(r())},_}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var i=n(29),r="object"==typeof self&&self&&self.Object===Object&&self,o=i||r||Function("return this")();e.exports=o},function(e,t,n){var i=n(31),r=n(8),o=n(33),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var n=a.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):s.test(e)?NaN:+e}},function(e,t,n){var i=n(9).Symbol;e.exports=i},function(e,t){function n(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}e.exports=n,e.exports.default=n},function(e,t,n){var i=n(38);e.exports=function(e){return i(2,e)}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var i=n(20),r=n(21),o=n(4),s=n(22);e.exports=function(e,t){return i(e)||r(e,t)||o(e,t)||s()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";e.exports=function(e,t){var n=t.length,i=e.length;if(i>n)return!1;if(i===n)return e===t;e:for(var r=0,o=0;r0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}},function(e,t,n){var i=n(40);e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var i=n(10);e.exports=function(e){return e?(e=i(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},function(e,t,n){},function(e,t,n){"use strict";n.r(t),n.d(t,"Treeselect",(function(){return Fe})),n.d(t,"treeselectMixin",(function(){return ce})),n.d(t,"LOAD_ROOT_OPTIONS",(function(){return Q})),n.d(t,"LOAD_CHILDREN_OPTIONS",(function(){return G})),n.d(t,"ASYNC_SEARCH",(function(){return Y})),n.d(t,"VERSION",(function(){return Pe}));var i=n(17),r=n.n(i),o=n(3),s=n.n(o),a=n(0),l=n.n(a),u=n(18),c=n.n(u),d=n(6),h=n.n(d).a;function p(e){return function(t){if("mousedown"===t.type&&0===t.button){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;rn.bottom?e.scrollTop=Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight):i.top-r0},single:function(){return!this.multiple},visibleOptionIds:function(){var e=this,t=[];return this.traverseAllNodesByIndex((function(n){if(e.localSearch.active&&!e.shouldOptionBeIncludedInSearchResult(n)||t.push(n.id),n.isBranch&&!e.shouldExpand(n))return!1})),t},hasVisibleOptions:function(){return 0!==this.visibleOptionIds.length},showCountOnSearchComputed:function(){return"boolean"==typeof this.showCountOnSearch?this.showCountOnSearch:this.showCount},hasBranchNodes:function(){return this.forest.normalizedOptions.some((function(e){return e.isBranch}))},shouldFlattenOptions:function(){return this.localSearch.active&&this.flattenSearchResults}},watch:{alwaysOpen:function(e){e?this.openMenu():this.closeMenu()},branchNodesFirst:function(){this.initialize()},disabled:function(e){e&&this.menu.isOpen?this.closeMenu():e||this.menu.isOpen||!this.alwaysOpen||this.openMenu()},flat:function(){this.initialize()},internalValue:function(e,t){W(e,t)&&this.$emit("input",this.getValue(),this.getInstanceId())},matchKeys:function(){this.initialize()},multiple:function(e){e&&this.buildForestState()},options:{handler:function(){this.async||(this.initialize(),this.rootOptionsStates.isLoaded=Array.isArray(this.options))},deep:!0,immediate:!0},"trigger.searchQuery":function(){this.async?this.handleRemoteSearch():this.handleLocalSearch(),this.$emit("search-change",this.trigger.searchQuery,this.getInstanceId())},value:function(){var e=this.extractCheckedNodeIdsFromValue();W(e,this.internalValue)&&this.fixSelectedNodeIds(e)}},methods:{verifyProps:function(){var e=this;if(h((function(){return!e.async||e.searchable}),(function(){return'For async search mode, the value of "searchable" prop must be true.'})),null!=this.options||this.loadOptions||h((function(){return!1}),(function(){return'Are you meant to dynamically load options? You need to use "loadOptions" prop.'})),this.flat&&h((function(){return e.multiple}),(function(){return'You are using flat mode. But you forgot to add "multiple=true"?'})),!this.flat){["autoSelectAncestors","autoSelectDescendants","autoDeselectAncestors","autoDeselectDescendants"].forEach((function(t){h((function(){return!e[t]}),(function(){return'"'.concat(t,'" only applies to flat mode.')}))}))}},resetFlags:function(){this._blurOnSelect=!1},initialize:function(){var e=this.async?this.getRemoteSearchEntry().options:this.options;if(Array.isArray(e)){var t=this.forest.nodeMap;this.forest.nodeMap=$(),this.keepDataOfSelectedNodes(t),this.forest.normalizedOptions=this.normalize(null,e,t),this.fixSelectedNodeIds(this.internalValue)}else this.forest.normalizedOptions=[]},getInstanceId:function(){return null==this.instanceId?this.id:this.instanceId},getValue:function(){var e=this;if("id"===this.valueFormat)return this.multiple?this.internalValue.slice():this.internalValue[0];var t=this.internalValue.map((function(t){return e.getNode(t).raw}));return this.multiple?t:t[0]},getNode:function(e){return h((function(){return null!=e}),(function(){return"Invalid node id: ".concat(e)})),null==e?null:e in this.forest.nodeMap?this.forest.nodeMap[e]:this.createFallbackNode(e)},createFallbackNode:function(e){var t=this.extractNodeFromValue(e),n={id:e,label:this.enhancedNormalizer(t).label||"".concat(e," (unknown)"),ancestors:[],parentNode:null,isFallbackNode:!0,isRootNode:!0,isLeaf:!0,isBranch:!1,isDisabled:!1,isNew:!1,index:[-1],level:0,raw:t};return this.$set(this.forest.nodeMap,e,n)},extractCheckedNodeIdsFromValue:function(){var e=this;return null==this.value?[]:"id"===this.valueFormat?this.multiple?this.value.slice():[this.value]:(this.multiple?this.value:[this.value]).map((function(t){return e.enhancedNormalizer(t)})).map((function(e){return e.id}))},extractNodeFromValue:function(e){var t=this,n={id:e};return"id"===this.valueFormat?n:H(this.multiple?Array.isArray(this.value)?this.value:[]:this.value?[this.value]:[],(function(n){return n&&t.enhancedNormalizer(n).id===e}))||n},fixSelectedNodeIds:function(e){var t=this,n=[];if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)n=e;else if("BRANCH_PRIORITY"===this.valueConsistsOf)e.forEach((function(e){n.push(e);var i=t.getNode(e);i.isBranch&&t.traverseDescendantsBFS(i,(function(e){n.push(e.id)}))}));else if("LEAF_PRIORITY"===this.valueConsistsOf)for(var i=$(),r=e.slice();r.length;){var o=r.shift(),s=this.getNode(o);n.push(o),s.isRootNode||(s.parentNode.id in i||(i[s.parentNode.id]=s.parentNode.children.length),0==--i[s.parentNode.id]&&r.push(s.parentNode.id))}else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf)for(var a=$(),l=e.filter((function(e){var n=t.getNode(e);return n.isLeaf||0===n.children.length}));l.length;){var u=l.shift(),c=this.getNode(u);n.push(u),c.isRootNode||(c.parentNode.id in a||(a[c.parentNode.id]=c.parentNode.children.length),0==--a[c.parentNode.id]&&l.push(c.parentNode.id))}W(this.forest.selectedNodeIds,n)&&(this.forest.selectedNodeIds=n),this.buildForestState()},keepDataOfSelectedNodes:function(e){var t=this;this.forest.selectedNodeIds.forEach((function(n){if(e[n]){var i=oe(oe({},e[n]),{},{isFallbackNode:!0});t.$set(t.forest.nodeMap,n,i)}}))},isSelected:function(e){return!0===this.forest.selectedNodeMap[e.id]},traverseDescendantsBFS:function(e,t){if(e.isBranch)for(var n=e.children.slice();n.length;){var i=n[0];i.isBranch&&n.push.apply(n,s()(i.children)),t(i),n.shift()}},traverseDescendantsDFS:function(e,t){var n=this;e.isBranch&&e.children.forEach((function(e){n.traverseDescendantsDFS(e,t),t(e)}))},traverseAllNodesDFS:function(e){var t=this;this.forest.normalizedOptions.forEach((function(n){t.traverseDescendantsDFS(n,e),e(n)}))},traverseAllNodesByIndex:function(e){!function t(n){n.children.forEach((function(n){!1!==e(n)&&n.isBranch&&t(n)}))}({children:this.forest.normalizedOptions})},toggleClickOutsideEvent:function(e){e?document.addEventListener("mousedown",this.handleClickOutside,!1):document.removeEventListener("mousedown",this.handleClickOutside,!1)},getValueContainer:function(){return this.$refs&&this.$refs.control&&this.$refs.control.$refs?this.$refs.control.$refs["value-container"]:null},getInput:function(){return this.getValueContainer().$refs.input},focusInput:function(){this.getInput().focus()},blurInput:function(){this.getInput().blur()},handleMouseDown:p((function(e){(e.preventDefault(),e.stopPropagation(),!this.disabled&&this.getValueContainer())&&(this.getValueContainer().$el.contains(e.target)&&!this.menu.isOpen&&(this.openOnClick||this.trigger.isFocused)&&this.openMenu(),this._blurOnSelect?this.blurInput():this.focusInput(),this.resetFlags())})),handleClickOutside:function(e){this.$refs.wrapper&&!this.$refs.wrapper.contains(e.target)&&(this.blurInput(),this.closeMenu())},handleLocalSearch:function(){var e=this,t=this.trigger.searchQuery,n=function(){return e.resetHighlightedOptionWhenNecessary(!0)};if(!t)return this.localSearch.active=!1,n();this.localSearch.active=!0,this.localSearch.noResults=!0,this.traverseAllNodesDFS((function(t){t.isBranch&&(t.isExpandedOnSearch=!1,t.showAllChildrenOnSearch=!1,t.isMatched=!1,t.hasMatchedDescendants=!1,e.$set(e.localSearch.countMap,t.id,l()(l()(l()(l()({},"ALL_CHILDREN",0),"ALL_DESCENDANTS",0),"LEAF_CHILDREN",0),"LEAF_DESCENDANTS",0)))}));var i=t.trim().toLocaleLowerCase(),r=i.replace(/\s+/g," ").split(" ");this.traverseAllNodesDFS((function(t){e.searchNested&&r.length>1?t.isMatched=r.every((function(e){return ae(!1,e,t.nestedSearchLabel)})):t.isMatched=e.matchKeys.some((function(n){return ae(!e.disableFuzzyMatching,i,t.lowerCased[n])})),t.isMatched&&(e.localSearch.noResults=!1,t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].ALL_DESCENDANTS++})),t.isLeaf&&t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].LEAF_DESCENDANTS++})),null!==t.parentNode&&(e.localSearch.countMap[t.parentNode.id].ALL_CHILDREN+=1,t.isLeaf&&(e.localSearch.countMap[t.parentNode.id].LEAF_CHILDREN+=1))),(t.isMatched||t.isBranch&&t.isExpandedOnSearch)&&null!==t.parentNode&&(t.parentNode.isExpandedOnSearch=!0,t.parentNode.hasMatchedDescendants=!0)})),n()},handleRemoteSearch:function(){var e=this,t=this.trigger.searchQuery,n=this.getRemoteSearchEntry(),i=function(){e.initialize(),e.resetHighlightedOptionWhenNecessary(!0)};if((""===t||this.cacheOptions)&&n.isLoaded)return i();this.callLoadOptionsProp({action:Y,args:{searchQuery:t},isPending:function(){return n.isLoading},start:function(){n.isLoading=!0,n.isLoaded=!1,n.loadingError=""},succeed:function(r){n.isLoaded=!0,n.options=r,e.trigger.searchQuery===t&&i()},fail:function(e){n.loadingError=le(e)},end:function(){n.isLoading=!1}})},getRemoteSearchEntry:function(){var e=this,t=this.trigger.searchQuery,n=this.remoteSearch[t]||oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{options:[]});if(this.$watch((function(){return n.options}),(function(){e.trigger.searchQuery===t&&e.initialize()}),{deep:!0}),""===t){if(Array.isArray(this.defaultOptions))return n.options=this.defaultOptions,n.isLoaded=!0,n;if(!0!==this.defaultOptions)return n.isLoaded=!0,n}return this.remoteSearch[t]||this.$set(this.remoteSearch,t,n),n},shouldExpand:function(e){return this.localSearch.active?e.isExpandedOnSearch:e.isExpanded},shouldOptionBeIncludedInSearchResult:function(e){return!!e.isMatched||(!(!e.isBranch||!e.hasMatchedDescendants||this.flattenSearchResults)||!(e.isRootNode||!e.parentNode.showAllChildrenOnSearch))},shouldShowOptionInMenu:function(e){return!(this.localSearch.active&&!this.shouldOptionBeIncludedInSearchResult(e))},getControl:function(){return this.$refs.control.$el},getMenu:function(){var e=(this.appendToBody?this.$refs.portal.portalTarget:this).$refs.menu.$refs.menu;return e&&"#comment"!==e.nodeName?e:null},setCurrentHighlightedOption:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.menu.current;if(null!=i&&i in this.forest.nodeMap&&(this.forest.nodeMap[i].isHighlighted=!1),this.menu.current=e.id,e.isHighlighted=!0,this.menu.isOpen&&n){var r=function(){var n=e.id.toString().replace(/"/g,'\\"'),i=t.getMenu(),r=i.querySelector('.vue-treeselect__option[data-id="'.concat(n,'"]'));r&&f(i,r)};this.getMenu()?r():this.$nextTick(r)}},resetHighlightedOptionWhenNecessary:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.menu.current;!e&&null!=t&&t in this.forest.nodeMap&&this.shouldShowOptionInMenu(this.getNode(t))||this.highlightFirstOption()},highlightFirstOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds[0];this.setCurrentHighlightedOption(this.getNode(e))}},highlightPrevOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)-1;if(-1===e)return this.highlightLastOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightNextOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)+1;if(e===this.visibleOptionIds.length)return this.highlightFirstOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightLastOption:function(){if(this.hasVisibleOptions){var e=F()(this.visibleOptionIds);this.setCurrentHighlightedOption(this.getNode(e))}},resetSearchQuery:function(){this.trigger.searchQuery=""},closeMenu:function(){!this.menu.isOpen||!this.disabled&&this.alwaysOpen||(this.saveMenuScrollPosition(),this.menu.isOpen=!1,this.toggleClickOutsideEvent(!1),this.resetSearchQuery(),this.$emit("close",this.getValue(),this.getInstanceId()))},openMenu:function(){this.disabled||this.menu.isOpen||(this.menu.isOpen=!0,this.$nextTick(this.resetHighlightedOptionWhenNecessary),this.$nextTick(this.restoreMenuScrollPosition),this.options||this.async||this.loadRootOptions(),this.toggleClickOutsideEvent(!0),this.$emit("open",this.getInstanceId()))},toggleMenu:function(){this.menu.isOpen?this.closeMenu():this.openMenu()},toggleExpanded:function(e){var t;this.localSearch.active?(t=e.isExpandedOnSearch=!e.isExpandedOnSearch)&&(e.showAllChildrenOnSearch=!0):t=e.isExpanded=!e.isExpanded,t&&!e.childrenStates.isLoaded&&this.loadChildrenOptions(e)},buildForestState:function(){var e=this,t=$();this.forest.selectedNodeIds.forEach((function(e){t[e]=!0})),this.forest.selectedNodeMap=t;var n=$();this.multiple&&(this.traverseAllNodesByIndex((function(e){n[e.id]=0})),this.selectedNodes.forEach((function(t){n[t.id]=2,e.flat||e.disableBranchNodes||t.ancestors.forEach((function(t){e.isSelected(t)||(n[t.id]=1)}))}))),this.forest.checkedStateMap=n},enhancedNormalizer:function(e){return oe(oe({},e),this.normalizer(e,this.getInstanceId()))},normalize:function(e,t,n){var i=this,o=t.map((function(e){return[i.enhancedNormalizer(e),e]})).map((function(t,o){var s=r()(t,2),a=s[0],u=s[1];i.checkDuplication(a),i.verifyNodeShape(a);var c=void 0!==a.id?a.id:Math.round(1e6*Math.random()),d=a.label,p=a.children,f=a.isDefaultExpanded,v=null===e,m=v||i.showAsGroup?0:e.level+1,g=Array.isArray(p)||null===p,y=!g,S=!!a.isDisabled||!i.flat&&!v&&e.isDisabled,b=!!a.isNew,O=i.matchKeys.reduce((function(e,t){return oe(oe({},e),{},l()({},t,(n=a[t],"string"==typeof n?n:"number"!=typeof n||w(n)?"":n+"").toLocaleLowerCase()));var n}),{}),x=v?O.label:e.nestedSearchLabel+" "+O.label,_=i.$set(i.forest.nodeMap,c,$());if(i.$set(_,"id",c),i.$set(_,"label",d),i.$set(_,"level",m),i.$set(_,"ancestors",v?[]:[e].concat(e.ancestors)),i.$set(_,"index",(v?[]:e.index).concat(o)),i.$set(_,"parentNode",e),i.$set(_,"lowerCased",O),i.$set(_,"nestedSearchLabel",x),i.$set(_,"isDisabled",S),i.$set(_,"isNew",b),i.$set(_,"isMatched",!1),i.$set(_,"isHighlighted",!1),i.$set(_,"isBranch",g),i.$set(_,"isGroup",g&&i.showAsGroup),i.$set(_,"isLeaf",y),i.$set(_,"isRootNode",v),i.$set(_,"raw",u),g){var E=Array.isArray(p);i.$set(_,"childrenStates",oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{isLoaded:E})),i.$set(_,"isExpanded",i.showAsGroup?i.showAsGroup:"boolean"==typeof f?f:mo+40,u=a>o+40;r.top>=0&&r.top<=s||r.top<0&&r.bottom>0?"auto"!==e.openDirection?e.menu.placement=Te[e.openDirection]:e.menu.placement=l||!u?"bottom":"top":e.closeMenu()}},setupMenuSizeWatcher:function(){var e=this.instance.getMenu();this.menuSizeWatcher||(this.menuSizeWatcher={remove:_(e,this.adjustMenuOpenDirection)})},setupMenuResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.menuResizeAndScrollEventListeners||(this.menuResizeAndScrollEventListeners={remove:N(e,this.adjustMenuOpenDirection)})},removeMenuSizeWatcher:function(){this.menuSizeWatcher&&(this.menuSizeWatcher.remove(),this.menuSizeWatcher=null)},removeMenuResizeAndScrollEventListeners:function(){this.menuResizeAndScrollEventListeners&&(this.menuResizeAndScrollEventListeners.remove(),this.menuResizeAndScrollEventListeners=null)}},render:function(){var e=arguments[0];return e("div",{ref:"menu-container",class:"vue-treeselect__menu-container",style:this.menuContainerStyle},[e("transition",{attrs:{name:"vue-treeselect__menu--transition"}},[this.renderMenu()])])}},void 0,void 0,!1,null,null,null).exports,$e=n(19),Be=n.n($e);function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var ke,Ve={name:"vue-treeselect--portal-target",inject:["instance"],watch:{"instance.menu.isOpen":function(e){e?this.setupHandlers():this.removeHandlers()},"instance.menu.placement":function(){this.updateMenuContainerOffset()}},created:function(){this.controlResizeAndScrollEventListeners=null,this.controlSizeWatcher=null},mounted:function(){this.instance.menu.isOpen&&this.setupHandlers()},methods:{setupHandlers:function(){this.updateWidth(),this.updateMenuContainerOffset(),this.setupControlResizeAndScrollEventListeners(),this.setupControlSizeWatcher()},removeHandlers:function(){this.removeControlResizeAndScrollEventListeners(),this.removeControlSizeWatcher()},setupControlResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.controlResizeAndScrollEventListeners||(this.controlResizeAndScrollEventListeners={remove:N(e,this.updateMenuContainerOffset)})},setupControlSizeWatcher:function(){var e=this,t=this.instance.getControl();this.controlSizeWatcher||(this.controlSizeWatcher={remove:_(t,(function(){e.updateWidth(),e.updateMenuContainerOffset()}))})},removeControlResizeAndScrollEventListeners:function(){this.controlResizeAndScrollEventListeners&&(this.controlResizeAndScrollEventListeners.remove(),this.controlResizeAndScrollEventListeners=null)},removeControlSizeWatcher:function(){this.controlSizeWatcher&&(this.controlSizeWatcher.remove(),this.controlSizeWatcher=null)},updateWidth:function(){var e=this.instance,t=this.$el,n=e.getControl().getBoundingClientRect();t.style.width=n.width+"px"},updateMenuContainerOffset:function(){var e=this.instance,t=e.getControl(),n=this.$el,i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),o="bottom"===e.menu.placement?i.height:0,s=Math.round(i.left-r.left)+"px",a=Math.round(i.top-r.top+o)+"px";this.$refs.menu.$refs["menu-container"].style[H(["transform","webkitTransform","MozTransform","msTransform"],(function(e){return e in document.body.style}))]="translate(".concat(s,", ").concat(a,")")}},render:function(){var e=arguments[0],t=this.instance,n=["vue-treeselect__portal-target",t.wrapperClass],i={zIndex:t.zIndex};return e("div",{class:n,style:i,attrs:{"data-instance-id":t.getInstanceId()}},[e(Re,{ref:"menu"})])},destroyed:function(){this.removeHandlers()}},je=he({name:"vue-treeselect--menu-portal",created:function(){this.portalTarget=null},mounted:function(){this.setup()},destroyed:function(){this.teardown()},methods:{setup:function(){var e=document.createElement("div");document.body.appendChild(e),this.portalTarget=new Be.a(function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=new Array(t);n=t||n<0||m&&e-f>=c}function O(){var e=r();if(b(e))return _(e);h=setTimeout(O,function(e){var n=t-(e-p);return m?a(n,c-(e-f)):n}(e))}function _(e){return h=void 0,g&&l?y(e):(l=u=void 0,d)}function x(){var e=r(),n=b(e);if(l=arguments,u=this,p=e,n){if(void 0===h)return S(p);if(m)return clearTimeout(h),h=setTimeout(O,t),y(p)}return void 0===h&&(h=setTimeout(O,t)),d}return t=o(t)||0,i(n)&&(v=!!n.leading,c=(m="maxWait"in n)?s(o(n.maxWait)||0,t):c,g="trailing"in n?!!n.trailing:g),x.cancel=function(){void 0!==h&&clearTimeout(h),f=0,l=p=u=h=void 0},x.flush=function(){return void 0===h?d:_(r())},x}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var i=n(29),r="object"==typeof self&&self&&self.Object===Object&&self,o=i||r||Function("return this")();e.exports=o},function(e,t,n){var i=n(31),r=n(8),o=n(33),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=i(e);var n=a.test(e);return n||l.test(e)?u(e.slice(2),n?2:8):s.test(e)?NaN:+e}},function(e,t,n){var i=n(9).Symbol;e.exports=i},function(e,t){function n(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}e.exports=n,e.exports.default=n},function(e,t,n){var i=n(38);e.exports=function(e){return i(2,e)}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var i=n(20),r=n(21),o=n(4),s=n(22);e.exports=function(e,t){return i(e)||r(e,t)||o(e,t)||s()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";e.exports=function(e,t){var n=t.length,i=e.length;if(i>n)return!1;if(i===n)return e===t;e:for(var r=0,o=0;r0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}},function(e,t,n){var i=n(40);e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var i=n(10);e.exports=function(e){return e?(e=i(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},function(e,t,n){},function(e,t,n){"use strict";n.r(t),n.d(t,"Treeselect",(function(){return et})),n.d(t,"treeselectMixin",(function(){return ce})),n.d(t,"LOAD_ROOT_OPTIONS",(function(){return Q})),n.d(t,"LOAD_CHILDREN_OPTIONS",(function(){return G})),n.d(t,"ASYNC_SEARCH",(function(){return Y})),n.d(t,"VERSION",(function(){return tt}));var i=n(17),r=n.n(i),o=n(3),s=n.n(o),a=n(0),l=n.n(a),u=n(18),c=n.n(u),d=n(6),h=n.n(d).a;function p(e){return function(t){if("mousedown"===t.type&&0===t.button){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;rn.bottom?e.scrollTop=Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight):i.top-r0},single:function(){return!this.multiple},visibleOptionIds:function(){var e=this,t=[];return this.traverseAllNodesByIndex((function(n){if(e.localSearch.active&&!e.shouldOptionBeIncludedInSearchResult(n)||t.push(n.id),n.isBranch&&!e.shouldExpand(n))return!1})),t},hasVisibleOptions:function(){return 0!==this.visibleOptionIds.length},showCountOnSearchComputed:function(){return"boolean"==typeof this.showCountOnSearch?this.showCountOnSearch:this.showCount},hasBranchNodes:function(){return this.forest.normalizedOptions.some((function(e){return e.isBranch}))},shouldFlattenOptions:function(){return this.localSearch.active&&this.flattenSearchResults}},watch:{alwaysOpen:function(e){e?this.openMenu():this.closeMenu()},branchNodesFirst:function(){this.initialize()},disabled:function(e){e&&this.menu.isOpen?this.closeMenu():e||this.menu.isOpen||!this.alwaysOpen||this.openMenu()},flat:function(){this.initialize()},internalValue:function(e,t){W(e,t)&&this.$emit("input",this.getValue(),this.getInstanceId())},matchKeys:function(){this.initialize()},multiple:function(e){e&&this.buildForestState()},options:{handler:function(){this.async||(this.initialize(),this.rootOptionsStates.isLoaded=Array.isArray(this.options))},deep:!0,immediate:!0},"trigger.searchQuery":function(){this.async?this.handleRemoteSearch():this.handleLocalSearch(),this.$emit("search-change",this.trigger.searchQuery,this.getInstanceId())},value:function(){var e=this.extractCheckedNodeIdsFromValue();W(e,this.internalValue)&&this.fixSelectedNodeIds(e)}},methods:{verifyProps:function(){var e=this;if(h((function(){return!e.async||e.searchable}),(function(){return'For async search mode, the value of "searchable" prop must be true.'})),null!=this.options||this.loadOptions||h((function(){return!1}),(function(){return'Are you meant to dynamically load options? You need to use "loadOptions" prop.'})),this.flat&&h((function(){return e.multiple}),(function(){return'You are using flat mode. But you forgot to add "multiple=true"?'})),!this.flat){["autoSelectAncestors","autoSelectDescendants","autoDeselectAncestors","autoDeselectDescendants"].forEach((function(t){h((function(){return!e[t]}),(function(){return'"'.concat(t,'" only applies to flat mode.')}))}))}},resetFlags:function(){this._blurOnSelect=!1},initialize:function(){var e=this.async?this.getRemoteSearchEntry().options:this.options;if(Array.isArray(e)){var t=this.forest.nodeMap;this.forest.nodeMap=$(),this.keepDataOfSelectedNodes(t),this.forest.normalizedOptions=this.normalize(null,e,t),this.fixSelectedNodeIds(this.internalValue)}else this.forest.normalizedOptions=[]},getInstanceId:function(){return null==this.instanceId?this.id:this.instanceId},getValue:function(){var e=this;if("id"===this.valueFormat)return this.multiple?this.internalValue.slice():this.internalValue[0];var t=this.internalValue.map((function(t){return e.getNode(t).raw}));return this.multiple?t:t[0]},getNode:function(e){return h((function(){return null!=e}),(function(){return"Invalid node id: ".concat(e)})),null==e?null:e in this.forest.nodeMap?this.forest.nodeMap[e]:this.createFallbackNode(e)},createFallbackNode:function(e){var t=this.extractNodeFromValue(e),n={id:e,label:this.enhancedNormalizer(t).label||"".concat(e," (unknown)"),ancestors:[],parentNode:null,isFallbackNode:!0,isRootNode:!0,isLeaf:!0,isBranch:!1,isDisabled:!1,isNew:!1,index:[-1],level:0,raw:t};return this.$set(this.forest.nodeMap,e,n)},extractCheckedNodeIdsFromValue:function(){var e=this;return null==this.value?[]:"id"===this.valueFormat?this.multiple?this.value.slice():[this.value]:(this.multiple?this.value:[this.value]).map((function(t){return e.enhancedNormalizer(t)})).map((function(e){return e.id}))},extractNodeFromValue:function(e){var t=this,n={id:e};return"id"===this.valueFormat?n:H(this.multiple?Array.isArray(this.value)?this.value:[]:this.value?[this.value]:[],(function(n){return n&&t.enhancedNormalizer(n).id===e}))||n},fixSelectedNodeIds:function(e){var t=this,n=[];if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)n=e;else if("BRANCH_PRIORITY"===this.valueConsistsOf)e.forEach((function(e){n.push(e);var i=t.getNode(e);i.isBranch&&t.traverseDescendantsBFS(i,(function(e){n.push(e.id)}))}));else if("LEAF_PRIORITY"===this.valueConsistsOf)for(var i=$(),r=e.slice();r.length;){var o=r.shift(),s=this.getNode(o);n.push(o),s.isRootNode||(s.parentNode.id in i||(i[s.parentNode.id]=s.parentNode.children.length),0==--i[s.parentNode.id]&&r.push(s.parentNode.id))}else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf)for(var a=$(),l=e.filter((function(e){var n=t.getNode(e);return n.isLeaf||0===n.children.length}));l.length;){var u=l.shift(),c=this.getNode(u);n.push(u),c.isRootNode||(c.parentNode.id in a||(a[c.parentNode.id]=c.parentNode.children.length),0==--a[c.parentNode.id]&&l.push(c.parentNode.id))}W(this.forest.selectedNodeIds,n)&&(this.forest.selectedNodeIds=n),this.buildForestState()},keepDataOfSelectedNodes:function(e){var t=this;this.forest.selectedNodeIds.forEach((function(n){if(e[n]){var i=oe(oe({},e[n]),{},{isFallbackNode:!0});t.$set(t.forest.nodeMap,n,i)}}))},isSelected:function(e){return!0===this.forest.selectedNodeMap[e.id]},traverseDescendantsBFS:function(e,t){if(e.isBranch)for(var n=e.children.slice();n.length;){var i=n[0];i.isBranch&&n.push.apply(n,s()(i.children)),t(i),n.shift()}},traverseDescendantsDFS:function(e,t){var n=this;e.isBranch&&e.children.forEach((function(e){n.traverseDescendantsDFS(e,t),t(e)}))},traverseAllNodesDFS:function(e){var t=this;this.forest.normalizedOptions.forEach((function(n){t.traverseDescendantsDFS(n,e),e(n)}))},traverseAllNodesByIndex:function(e){!function t(n){n.children.forEach((function(n){!1!==e(n)&&n.isBranch&&t(n)}))}({children:this.forest.normalizedOptions})},toggleClickOutsideEvent:function(e){e?document.addEventListener("mousedown",this.handleClickOutside,!1):document.removeEventListener("mousedown",this.handleClickOutside,!1)},getValueContainer:function(){return this.$refs&&this.$refs.control&&this.$refs.control.$refs?this.$refs.control.$refs["value-container"]:null},getInput:function(){return this.getValueContainer().$refs.input},focusInput:function(){this.getInput().focus()},blurInput:function(){this.getInput().blur()},handleMouseDown:p((function(e){(e.preventDefault(),e.stopPropagation(),!this.disabled&&this.getValueContainer())&&(this.getValueContainer().$el.contains(e.target)&&!this.menu.isOpen&&(this.openOnClick||this.trigger.isFocused)&&this.openMenu(),this._blurOnSelect?this.blurInput():this.focusInput(),this.resetFlags())})),handleClickOutside:function(e){this.$refs.wrapper&&!this.$refs.wrapper.contains(e.target)&&(this.blurInput(),this.closeMenu())},handleLocalSearch:function(){var e=this,t=this.trigger.searchQuery,n=function(){return e.resetHighlightedOptionWhenNecessary(!0)};if(!t)return this.localSearch.active=!1,n();this.localSearch.active=!0,this.localSearch.noResults=!0,this.traverseAllNodesDFS((function(t){t.isBranch&&(t.isExpandedOnSearch=!1,t.showAllChildrenOnSearch=!1,t.isMatched=!1,t.hasMatchedDescendants=!1,e.$set(e.localSearch.countMap,t.id,l()(l()(l()(l()({},"ALL_CHILDREN",0),"ALL_DESCENDANTS",0),"LEAF_CHILDREN",0),"LEAF_DESCENDANTS",0)))}));var i=t.trim().toLocaleLowerCase(),r=i.replace(/\s+/g," ").split(" ");this.traverseAllNodesDFS((function(t){e.searchNested&&r.length>1?t.isMatched=r.every((function(e){return ae(!1,e,t.nestedSearchLabel)})):t.isMatched=e.matchKeys.some((function(n){return ae(!e.disableFuzzyMatching,i,t.lowerCased[n])})),t.isMatched&&(e.localSearch.noResults=!1,t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].ALL_DESCENDANTS++})),t.isLeaf&&t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].LEAF_DESCENDANTS++})),null!==t.parentNode&&(e.localSearch.countMap[t.parentNode.id].ALL_CHILDREN+=1,t.isLeaf&&(e.localSearch.countMap[t.parentNode.id].LEAF_CHILDREN+=1))),(t.isMatched||t.isBranch&&t.isExpandedOnSearch)&&null!==t.parentNode&&(t.parentNode.isExpandedOnSearch=!0,t.parentNode.hasMatchedDescendants=!0)})),n()},handleRemoteSearch:function(){var e=this,t=this.trigger.searchQuery,n=this.getRemoteSearchEntry(),i=function(){e.initialize(),e.resetHighlightedOptionWhenNecessary(!0)};if((""===t||this.cacheOptions)&&n.isLoaded)return i();this.callLoadOptionsProp({action:Y,args:{searchQuery:t},isPending:function(){return n.isLoading},start:function(){n.isLoading=!0,n.isLoaded=!1,n.loadingError=""},succeed:function(r){n.isLoaded=!0,n.options=r,e.trigger.searchQuery===t&&i()},fail:function(e){n.loadingError=le(e)},end:function(){n.isLoading=!1}})},getRemoteSearchEntry:function(){var e=this,t=this.trigger.searchQuery,n=this.remoteSearch[t]||oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{options:[]});if(this.$watch((function(){return n.options}),(function(){e.trigger.searchQuery===t&&e.initialize()}),{deep:!0}),""===t){if(Array.isArray(this.defaultOptions))return n.options=this.defaultOptions,n.isLoaded=!0,n;if(!0!==this.defaultOptions)return n.isLoaded=!0,n}return this.remoteSearch[t]||this.$set(this.remoteSearch,t,n),n},shouldExpand:function(e){return this.localSearch.active?e.isExpandedOnSearch:e.isExpanded},shouldOptionBeIncludedInSearchResult:function(e){return!!e.isMatched||(!(!e.isBranch||!e.hasMatchedDescendants||this.flattenSearchResults)||!(e.isRootNode||!e.parentNode.showAllChildrenOnSearch))},shouldShowOptionInMenu:function(e){return!(this.localSearch.active&&!this.shouldOptionBeIncludedInSearchResult(e))},getControl:function(){return this.$refs.control.$el},getMenu:function(){var e=(this.appendToBody?this.$refs.portal.portalTarget:this).$refs.menu.$refs.menu;return e&&"#comment"!==e.nodeName?e:null},setCurrentHighlightedOption:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.menu.current;if(null!=i&&i in this.forest.nodeMap&&(this.forest.nodeMap[i].isHighlighted=!1),this.menu.current=e.id,e.isHighlighted=!0,this.menu.isOpen&&n){var r=function(){var n=e.id.toString().replace(/"/g,'\\"'),i=t.getMenu(),r=i.querySelector('.vue-treeselect__option[data-id="'.concat(n,'"]'));r&&f(i,r)};this.getMenu()?r():this.$nextTick(r)}},resetHighlightedOptionWhenNecessary:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.menu.current;!e&&null!=t&&t in this.forest.nodeMap&&this.shouldShowOptionInMenu(this.getNode(t))||this.highlightFirstOption()},highlightFirstOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds[0];this.setCurrentHighlightedOption(this.getNode(e))}},highlightPrevOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)-1;if(-1===e)return this.highlightLastOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightNextOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)+1;if(e===this.visibleOptionIds.length)return this.highlightFirstOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightLastOption:function(){if(this.hasVisibleOptions){var e=F()(this.visibleOptionIds);this.setCurrentHighlightedOption(this.getNode(e))}},resetSearchQuery:function(){this.trigger.searchQuery=""},closeMenu:function(){!this.menu.isOpen||!this.disabled&&this.alwaysOpen||(this.saveMenuScrollPosition(),this.menu.isOpen=!1,this.toggleClickOutsideEvent(!1),this.resetSearchQuery(),this.$emit("close",this.getValue(),this.getInstanceId()))},openMenu:function(){this.disabled||this.menu.isOpen||(this.menu.isOpen=!0,this.$nextTick(this.resetHighlightedOptionWhenNecessary),this.$nextTick(this.restoreMenuScrollPosition),this.options||this.async||this.loadRootOptions(),this.toggleClickOutsideEvent(!0),this.$emit("open",this.getInstanceId()))},toggleMenu:function(){this.menu.isOpen?this.closeMenu():this.openMenu()},toggleExpanded:function(e){var t;this.localSearch.active?(t=e.isExpandedOnSearch=!e.isExpandedOnSearch)&&(e.showAllChildrenOnSearch=!0):t=e.isExpanded=!e.isExpanded,t&&!e.childrenStates.isLoaded&&this.loadChildrenOptions(e)},buildForestState:function(){var e=this,t=$();this.forest.selectedNodeIds.forEach((function(e){t[e]=!0})),this.forest.selectedNodeMap=t;var n=$();this.multiple&&(this.traverseAllNodesByIndex((function(e){n[e.id]=0})),this.selectedNodes.forEach((function(t){n[t.id]=2,e.flat||e.disableBranchNodes||t.ancestors.forEach((function(t){e.isSelected(t)||(n[t.id]=1)}))}))),this.forest.checkedStateMap=n},enhancedNormalizer:function(e){return oe(oe({},e),this.normalizer(e,this.getInstanceId()))},normalize:function(e,t,n){var i=this,o=t.map((function(e){return[i.enhancedNormalizer(e),e]})).map((function(t,o){var s=r()(t,2),a=s[0],u=s[1];i.checkDuplication(a),i.verifyNodeShape(a);var c=void 0!==a.id?a.id:Math.round(1e6*Math.random()),d=a.label,p=a.children,f=a.isDefaultExpanded,v=null===e,m=v||i.showAsGroup?0:e.level+1,g=Array.isArray(p)||null===p,y=!g,S=!!a.isDisabled||!i.flat&&!v&&e.isDisabled,b=!!a.isNew,O=i.matchKeys.reduce((function(e,t){return oe(oe({},e),{},l()({},t,(n=a[t],"string"==typeof n?n:"number"!=typeof n||w(n)?"":n+"").toLocaleLowerCase()));var n}),{}),_=v?O.label:e.nestedSearchLabel+" "+O.label,x=i.$set(i.forest.nodeMap,c,$());if(i.$set(x,"id",c),i.$set(x,"label",d),i.$set(x,"level",m),i.$set(x,"ancestors",v?[]:[e].concat(e.ancestors)),i.$set(x,"index",(v?[]:e.index).concat(o)),i.$set(x,"parentNode",e),i.$set(x,"lowerCased",O),i.$set(x,"nestedSearchLabel",_),i.$set(x,"isDisabled",S),i.$set(x,"isNew",b),i.$set(x,"isMatched",!1),i.$set(x,"isHighlighted",!1),i.$set(x,"isBranch",g),i.$set(x,"isGroup",g&&i.showAsGroup),i.$set(x,"isLeaf",y),i.$set(x,"isRootNode",v),i.$set(x,"raw",u),g){var E=Array.isArray(p);i.$set(x,"childrenStates",oe(oe({},{isLoaded:!1,isLoading:!1,loadingError:""}),{},{isLoaded:E})),i.$set(x,"isExpanded",i.showAsGroup?i.showAsGroup:"boolean"==typeof f?f:mo+40,u=a>o+40;r.top>=0&&r.top<=s||r.top<0&&r.bottom>0?"auto"!==e.openDirection?e.menu.placement=We[e.openDirection]:e.menu.placement=l||!u?"bottom":"top":e.closeMenu()}},setupMenuSizeWatcher:function(){var e=this.instance.getMenu();this.menuSizeWatcher||(this.menuSizeWatcher={remove:x(e,this.adjustMenuOpenDirection)})},setupMenuResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.menuResizeAndScrollEventListeners||(this.menuResizeAndScrollEventListeners={remove:N(e,this.adjustMenuOpenDirection)})},removeMenuSizeWatcher:function(){this.menuSizeWatcher&&(this.menuSizeWatcher.remove(),this.menuSizeWatcher=null)},removeMenuResizeAndScrollEventListeners:function(){this.menuResizeAndScrollEventListeners&&(this.menuResizeAndScrollEventListeners.remove(),this.menuResizeAndScrollEventListeners=null)}},render:function(){var e=arguments[0];return e("div",{ref:"menu-container",class:"vue-treeselect__menu-container",style:this.menuContainerStyle},[e("transition",{attrs:{name:"vue-treeselect__menu--transition"}},[this.renderMenu()])])}},void 0,void 0,!1,null,null,null).exports,Ge=n(19),Ye=n.n(Ge);function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var Ke,Xe={name:"vue-treeselect--portal-target",inject:["instance"],watch:{"instance.menu.isOpen":function(e){e?this.setupHandlers():this.removeHandlers()},"instance.menu.placement":function(){this.updateMenuContainerOffset()}},created:function(){this.controlResizeAndScrollEventListeners=null,this.controlSizeWatcher=null},mounted:function(){this.instance.menu.isOpen&&this.setupHandlers()},methods:{setupHandlers:function(){this.updateWidth(),this.updateMenuContainerOffset(),this.setupControlResizeAndScrollEventListeners(),this.setupControlSizeWatcher()},removeHandlers:function(){this.removeControlResizeAndScrollEventListeners(),this.removeControlSizeWatcher()},setupControlResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.controlResizeAndScrollEventListeners||(this.controlResizeAndScrollEventListeners={remove:N(e,this.updateMenuContainerOffset)})},setupControlSizeWatcher:function(){var e=this,t=this.instance.getControl();this.controlSizeWatcher||(this.controlSizeWatcher={remove:x(t,(function(){e.updateWidth(),e.updateMenuContainerOffset()}))})},removeControlResizeAndScrollEventListeners:function(){this.controlResizeAndScrollEventListeners&&(this.controlResizeAndScrollEventListeners.remove(),this.controlResizeAndScrollEventListeners=null)},removeControlSizeWatcher:function(){this.controlSizeWatcher&&(this.controlSizeWatcher.remove(),this.controlSizeWatcher=null)},updateWidth:function(){var e=this.instance,t=this.$el,n=e.getControl().getBoundingClientRect();t.style.width=n.width+"px"},updateMenuContainerOffset:function(){var e=this.instance,t=e.getControl(),n=this.$el,i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),o="bottom"===e.menu.placement?i.height:0,s=Math.round(i.left-r.left)+"px",a=Math.round(i.top-r.top+o)+"px";this.$refs.menu.$refs["menu-container"].style[H(["transform","webkitTransform","MozTransform","msTransform"],(function(e){return e in document.body.style}))]="translate(".concat(s,", ").concat(a,")")}},render:function(){var e=arguments[0],t=this.instance,n=["vue-treeselect__portal-target",t.wrapperClass],i={zIndex:t.zIndex};return e("div",{class:n,style:i,attrs:{"data-instance-id":t.getInstanceId()}},[e(Qe,{ref:"menu"})])},destroyed:function(){this.removeHandlers()}},Ue=he({name:"vue-treeselect--menu-portal",created:function(){this.portalTarget=null},mounted:function(){this.setup()},destroyed:function(){this.teardown()},methods:{setup:function(){var e=document.createElement("div");document.body.appendChild(e),this.portalTarget=new Ye.a(function(e){for(var t=1;t arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__19__;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var 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","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","var index = (function (element, listener) {\n\tvar expand = document.createElement('_');\n\tvar shrink = expand.appendChild(document.createElement('_'));\n\tvar expandChild = expand.appendChild(document.createElement('_'));\n\tvar shrinkChild = shrink.appendChild(document.createElement('_'));\n\n\tvar lastWidth = void 0,\n\t lastHeight = void 0;\n\n\tshrink.style.cssText = expand.style.cssText = 'height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1';\n\tshrinkChild.style.cssText = expandChild.style.cssText = 'display:block;height:100%;transition:0s;width:100%';\n\tshrinkChild.style.width = shrinkChild.style.height = '200%';\n\n\telement.appendChild(expand);\n\n\ttest();\n\n\treturn stop;\n\n\tfunction test() {\n\t\tunbind();\n\n\t\tvar width = element.offsetWidth;\n\t\tvar height = element.offsetHeight;\n\n\t\tif (width !== lastWidth || height !== lastHeight) {\n\t\t\tlastWidth = width;\n\t\t\tlastHeight = height;\n\n\t\t\texpandChild.style.width = width * 2 + 'px';\n\t\t\texpandChild.style.height = height * 2 + 'px';\n\n\t\t\texpand.scrollLeft = expand.scrollWidth;\n\t\t\texpand.scrollTop = expand.scrollHeight;\n\t\t\tshrink.scrollLeft = shrink.scrollWidth;\n\t\t\tshrink.scrollTop = shrink.scrollHeight;\n\n\t\t\tlistener({ width: width, height: height });\n\t\t}\n\n\t\tshrink.addEventListener('scroll', test);\n\t\texpand.addEventListener('scroll', test);\n\t}\n\n\tfunction unbind() {\n\t\tshrink.removeEventListener('scroll', test);\n\t\texpand.removeEventListener('scroll', test);\n\t}\n\n\tfunction stop() {\n\t\tunbind();\n\n\t\telement.removeChild(expand);\n\t}\n});\n\nexport default index;\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=12b4a02e\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","\n","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=5d5151cb\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueTreeselect/webpack/universalModuleDefinition","webpack://VueTreeselect/webpack/bootstrap","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/typeof.js","webpack://VueTreeselect/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://VueTreeselect/./node_modules/lodash/noop.js","webpack://VueTreeselect/./node_modules/lodash/debounce.js","webpack://VueTreeselect/./node_modules/lodash/isObject.js","webpack://VueTreeselect/./node_modules/lodash/_root.js","webpack://VueTreeselect/./node_modules/lodash/toNumber.js","webpack://VueTreeselect/./node_modules/lodash/_Symbol.js","webpack://VueTreeselect/./node_modules/is-promise/index.js","webpack://VueTreeselect/./node_modules/lodash/once.js","webpack://VueTreeselect/./node_modules/lodash/identity.js","webpack://VueTreeselect/./node_modules/lodash/constant.js","webpack://VueTreeselect/./node_modules/lodash/last.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://VueTreeselect/./node_modules/fuzzysearch/index.js","webpack://VueTreeselect/external \"Vue\"","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://VueTreeselect/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://VueTreeselect/./node_modules/lodash/now.js","webpack://VueTreeselect/./node_modules/lodash/_freeGlobal.js","webpack://VueTreeselect/(webpack)/buildin/global.js","webpack://VueTreeselect/./node_modules/lodash/_baseTrim.js","webpack://VueTreeselect/./node_modules/lodash/_trimmedEndIndex.js","webpack://VueTreeselect/./node_modules/lodash/isSymbol.js","webpack://VueTreeselect/./node_modules/lodash/_baseGetTag.js","webpack://VueTreeselect/./node_modules/lodash/_getRawTag.js","webpack://VueTreeselect/./node_modules/lodash/_objectToString.js","webpack://VueTreeselect/./node_modules/lodash/isObjectLike.js","webpack://VueTreeselect/./node_modules/lodash/before.js","webpack://VueTreeselect/./node_modules/lodash/toInteger.js","webpack://VueTreeselect/./node_modules/lodash/toFinite.js","webpack://VueTreeselect/./src/utils/warning.js","webpack://VueTreeselect/./src/utils/onLeftClick.js","webpack://VueTreeselect/./src/utils/scrollIntoView.js","webpack://VueTreeselect/./src/utils/watchSize.js","webpack://VueTreeselect/./node_modules/watch-size/index.es.mjs","webpack://VueTreeselect/./src/utils/removeFromArray.js","webpack://VueTreeselect/./src/utils/setupResizeAndScrollEventListeners.js","webpack://VueTreeselect/./src/utils/isNaN.js","webpack://VueTreeselect/./src/utils/createMap.js","webpack://VueTreeselect/./src/utils/deepExtend.js","webpack://VueTreeselect/./src/utils/includes.js","webpack://VueTreeselect/./src/utils/find.js","webpack://VueTreeselect/./src/utils/quickDiff.js","webpack://VueTreeselect/./src/constants.js","webpack://VueTreeselect/./src/mixins/treeselectMixin.js","webpack://VueTreeselect/src/components/HiddenFields.vue","webpack://VueTreeselect/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueTreeselect/./src/components/HiddenFields.vue","webpack://VueTreeselect/src/components/Input.vue","webpack://VueTreeselect/./src/components/Input.vue","webpack://VueTreeselect/./src/components/Placeholder.vue","webpack://VueTreeselect/src/components/Placeholder.vue","webpack://VueTreeselect/./src/components/SingleValue.vue","webpack://VueTreeselect/src/components/SingleValue.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue?9af8","webpack://VueTreeselect/src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/icons/Delete.vue","webpack://VueTreeselect/./src/components/MultiValueItem.vue","webpack://VueTreeselect/src/components/MultiValueItem.vue","webpack://VueTreeselect/./src/components/MultiValue.vue","webpack://VueTreeselect/src/components/MultiValue.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue?a3ef","webpack://VueTreeselect/src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/icons/Arrow.vue","webpack://VueTreeselect/./src/components/Control.vue","webpack://VueTreeselect/src/components/Control.vue","webpack://VueTreeselect/./src/components/Tip.vue","webpack://VueTreeselect/src/components/Tip.vue","webpack://VueTreeselect/src/components/Option.vue","webpack://VueTreeselect/./src/components/Option.vue","webpack://VueTreeselect/src/components/Menu.vue","webpack://VueTreeselect/./src/components/Menu.vue","webpack://VueTreeselect/src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/MenuPortal.vue","webpack://VueTreeselect/./src/components/Treeselect.vue","webpack://VueTreeselect/src/components/Treeselect.vue","webpack://VueTreeselect/./src/index.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__19__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","toPropertyKey","obj","configurable","writable","_typeof","iterator","constructor","nestRE","mergeFn","a","b","apply","this","arguments","objs","reduce","aa","bb","nestedKey","temp","test","Array","isArray","concat","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","arr","arrayLikeToArray","minLen","toString","slice","from","len","length","arr2","isObject","now","toNumber","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","clearTimeout","cancel","flush","type","freeGlobal","freeSelf","self","Function","baseTrim","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","isPromise","then","default","before","array","arrayWithHoles","iterableToArrayLimit","nonIterableRest","needle","haystack","tlen","qlen","outer","j","nch","charCodeAt","e","u","f","next","done","push","iter","toPrimitive","String","Number","Date","global","g","trimmedEndIndex","reTrimStart","string","replace","reWhitespace","index","charAt","baseGetTag","isObjectLike","getRawTag","objectToString","symToStringTag","objectProto","nativeObjectToString","isOwn","tag","unmasked","toInteger","toFinite","remainder","warning","noop","onLeftClick","mouseDownHandler","evt","button","_len","_key","scrollIntoView","$scrollingEl","$focusedEl","scrollingReact","getBoundingClientRect","focusedRect","overScroll","offsetHeight","bottom","scrollTop","offsetTop","clientHeight","scrollHeight","top","intervalId","element","listener","expand","document","createElement","shrink","appendChild","expandChild","shrinkChild","lastWidth","lastHeight","style","cssText","width","height","unbind","removeChild","offsetWidth","scrollLeft","scrollWidth","addEventListener","removeEventListener","removeFromArray","elem","idx","indexOf","splice","registered","item","$el","watchSizeForIE9","setInterval","forEach","clearInterval","watchSize","isIE9","documentMode","locked","removeSizeWatcher","watchSizeForBrowsersOtherThanIE9","isScrollElment","_getComputedStyle","getComputedStyle","overflow","overflowX","overflowY","setupResizeAndScrollEventListeners","$scrollParents","$parent","parentNode","nodeName","nodeType","ELEMENT_NODE","findScrollParents","passive","scrollParent","$scrollParent","isNaN","x","createMap","isPlainObject","getPrototypeOf","deepExtend","target","source","keys","includes","arrOrStr","find","predicate","ctx","quickDiff","arrA","arrB","LOAD_ROOT_OPTIONS","LOAD_CHILDREN_OPTIONS","ASYNC_SEARCH","KEY_CODES","sortValueByIndex","level","match","enableFuzzyMatch","fuzzysearch","getErrorMessage","err","message","instanceId","provide","instance","props","allowClearingDisabled","Boolean","allowSelectingDisabledDescendants","alwaysOpen","appendToBody","async","autoFocus","autoLoadRootOptions","autoDeselectAncestors","autoDeselectDescendants","autoSelectAncestors","autoSelectDescendants","backspaceRemoves","beforeClearAll","constant","branchNodesFirst","cacheOptions","clearable","clearAllText","clearOnSelect","clearValueText","closeOnSelect","defaultExpandLevel","defaultOptions","deleteRemoves","delimiter","flattenSearchResults","disableBranchNodes","disabled","disableFuzzyMatching","flat","joinValues","limit","Infinity","limitText","count","loadingText","loadOptions","matchKeys","maxHeight","multiple","noChildrenText","noOptionsText","noResultsText","normalizer","identity","openDirection","validator","openOnClick","openOnFocus","placeholder","required","retryText","retryTitle","searchable","searchNested","searchPromptText","showAsGroup","showCount","showCountOf","showCountOnSearch","sortValueBy","tabIndex","valueConsistsOf","valueFormat","zIndex","data","trigger","isFocused","searchQuery","menu","isOpen","current","lastScrollPosition","placement","forest","normalizedOptions","nodeMap","checkedStateMap","selectedNodeIds","extractCheckedNodeIdsFromValue","selectedNodeMap","rootOptionsStates","isLoaded","isLoading","loadingError","localSearch","active","noResults","countMap","remoteSearch","computed","selectedNodes","map","getNode","internalValue","_this","single","filter","id","node","isRootNode","isSelected","isLeaf","children","_internalValue","indeterminateNodeIds","selectedNode","ancestors","ancestor","sort","sortValueByLevel","hasValue","visibleOptionIds","_this2","traverseAllNodesByIndex","shouldOptionBeIncludedInSearchResult","isBranch","shouldExpand","hasVisibleOptions","showCountOnSearchComputed","hasBranchNodes","some","rootNode","shouldFlattenOptions","watch","newValue","openMenu","closeMenu","initialize","oldValue","$emit","getValue","getInstanceId","buildForestState","handler","deep","immediate","handleRemoteSearch","handleLocalSearch","nodeIdsFromValue","fixSelectedNodeIds","methods","verifyProps","_this3","propName","resetFlags","_blurOnSelect","getRemoteSearchEntry","prevNodeMap","keepDataOfSelectedNodes","normalize","_this4","rawNodes","raw","nodeId","createFallbackNode","extractNodeFromValue","fallbackNode","label","enhancedNormalizer","isFallbackNode","isDisabled","isNew","$set","_this5","_this6","defaultNode","nodeIdListOfPrevValue","_this7","nextSelectedNodeIds","traverseDescendantsBFS","descendant","queue","shift","_this8","_objectSpread","callback","currNode","_toConsumableArray","traverseDescendantsDFS","_this9","child","traverseAllNodesDFS","_this10","walk","toggleClickOutsideEvent","enabled","handleClickOutside","getValueContainer","$refs","control","getInput","input","focusInput","focus","blurInput","blur","handleMouseDown","preventDefault","stopPropagation","contains","wrapper","_this11","resetHighlightedOptionWhenNecessary","isExpandedOnSearch","showAllChildrenOnSearch","isMatched","hasMatchedDescendants","_defineProperty","lowerCasedSearchQuery","trim","toLocaleLowerCase","splitSearchQuery","split","every","filterValue","nestedSearchLabel","matchKey","lowerCased","_this12","entry","callLoadOptionsProp","action","isPending","start","succeed","fail","end","_this13","$watch","isExpanded","shouldShowOptionInMenu","getControl","getMenu","$menu","portal","portalTarget","setCurrentHighlightedOption","_this14","scroll","prev","isHighlighted","scrollToOption","$option","querySelector","$nextTick","forceReset","highlightFirstOption","first","highlightPrevOption","highlightLastOption","highlightNextOption","last","getLast","resetSearchQuery","saveMenuScrollPosition","restoreMenuScrollPosition","loadRootOptions","toggleMenu","toggleExpanded","nextState","childrenStates","loadChildrenOptions","_this15","selectedNodeId","ancestorNode","nodes","_this16","_ref","_ref2","_slicedToArray","checkDuplication","verifyNodeShape","round","random","isDefaultExpanded","normalized","hasDisabledDescendants","branchNodes","option","leafNodes","_this17","_this18","_ref3","once","catch","console","error","_this19","JSON","stringify","select","clear","_selectNode","_deselectNode","_this20","_this21","addValue","isFullyChecked","curr","_this22","removeValue","hasUncheckedSomeDescendants","removeLastValue","lastValue","lastSelectedNode","created","mounted","destroyed","stringifyValue","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","component","inject","_","injections","stringifiedValues","join","stringifiedValue","attrs","domProps","__file","keysThatRequireMenuBeingOpen","inputWidth","needAutoSize","inputStyle","updateInputWidth","debouncedCallback","debounce","updateSearchQuery","onInput","onFocus","onBlur","activeElement","onKeyDown","which","keyCode","ctrlKey","shiftKey","altKey","metaKey","onMouseDown","renderInputContainer","$createElement","renderInput","renderSizer","on","keydown","ref","_mergeJSXProps","autocomplete","sizer","placeholderClass","renderSingleValueLabel","customValueLabelRenderer","$scopedSlots","renderValueContainer","shouldShowValue","Placeholder","Input","_c","_self","xmlns","viewBox","_withStripped","itemClass","labelRenderer","DeleteIcon","renderMultiValueItems","MultiValueItem","renderExceedLimitTip","transitionGroupProps","appear","shouldShowX","hasUndisabledValue","shouldShowArrow","renderX","title","handleMouseDownOnX","renderArrow","arrowClass","handleMouseDownOnArrow","ArrowIcon","shouldClear","ValueContainer","SingleValue","MultiValue","icon","arrowPlaceholder","checkMark","minusMark","Option","isGroup","shouldShow","renderOption","handleMouseEnterOption","renderLabelContainer","renderCheckboxContainer","renderCheckbox","renderLabel","renderSubOptionsList","renderSubOptions","renderNoChildrenTip","renderLoadingChildrenTip","renderLoadingChildrenErrorTip","handleMouseDownOnLabelContainer","checkedState","checkboxClass","shouldShowCount","NaN","customLabelRenderer","labelClassName","countClassName","childNode","Tip","handleMouseDownOnRetry","currentTarget","indentLevel","listItemClass","transitionProps","directionMap","above","below","menuStyle","menuContainerStyle","onMenuOpen","onMenuClose","menuSizeWatcher","menuResizeAndScrollEventListeners","renderMenu","renderBeforeList","renderAsyncSearchMenuInner","renderLocalSearchMenuInner","renderNormalMenuInner","renderAfterList","beforeListRenderer","afterListRenderer","renderLoadingOptionsTip","renderLoadingRootOptionsErrorTip","renderNoAvailableOptionsTip","renderOptionList","renderNoResultsTip","shouldShowSearchPromptTip","shouldShowNoResultsTip","renderSearchPromptTip","renderAsyncSearchLoadingErrorTip","adjustMenuOpenDirection","setupMenuSizeWatcher","setupMenuResizeAndScrollEventListeners","removeMenuSizeWatcher","removeMenuResizeAndScrollEventListeners","$control","menuRect","controlRect","menuHeight","viewportHeight","innerHeight","spaceAbove","hasEnoughSpaceBelow","hasEnoughSpaceAbove","remove","PortalTarget","setupHandlers","removeHandlers","updateMenuContainerOffset","controlResizeAndScrollEventListeners","controlSizeWatcher","updateWidth","setupControlResizeAndScrollEventListeners","setupControlSizeWatcher","removeControlResizeAndScrollEventListeners","removeControlSizeWatcher","$portalTarget","portalTargetRect","offsetY","left","body","portalTargetClass","wrapperClass","portalTargetStyle","Menu","setup","teardown","el","Vue","innerHTML","$destroy","mixins","treeselectMixin","HiddenFields","Control","MenuPortal","VERSION","Treeselect","PKG_VERSION"],"mappings":"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","file":"vue-treeselect.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"Vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueTreeselect\"] = factory(require(\"Vue\"));\n\telse\n\t\troot[\"VueTreeselect\"] = factory(root[\"Vue\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__19__) {\nreturn "," \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 = 42);\n","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","module.exports = isPromise;\nmodule.exports.default = isPromise;\n\nfunction isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n}\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__19__;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var 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","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","import { noop } from './noop'\n\nexport const warning = process.env.NODE_ENV === 'production'\n ? /* istanbul ignore next */ noop\n : function warning(checker, complainer) {\n if (!checker()) {\n const message = [ '[Vue-Treeselect Warning]' ].concat(complainer())\n // eslint-disable-next-line no-console\n console.error(...message)\n }\n }\n","export function onLeftClick(mouseDownHandler) {\n return function onMouseDown(evt, ...args) {\n if (evt.type === 'mousedown' && evt.button === 0) {\n mouseDownHandler.call(this, evt, ...args)\n }\n }\n}\n","// from react-select\nexport function scrollIntoView($scrollingEl, $focusedEl) {\n const scrollingReact = $scrollingEl.getBoundingClientRect()\n const focusedRect = $focusedEl.getBoundingClientRect()\n const overScroll = $focusedEl.offsetHeight / 3\n\n if (focusedRect.bottom + overScroll > scrollingReact.bottom) {\n $scrollingEl.scrollTop = Math.min(\n $focusedEl.offsetTop + $focusedEl.clientHeight - $scrollingEl.offsetHeight + overScroll,\n $scrollingEl.scrollHeight,\n )\n } else if (focusedRect.top - overScroll < scrollingReact.top) {\n $scrollingEl.scrollTop = Math.max($focusedEl.offsetTop - overScroll, 0)\n }\n}\n","import watchSizeForBrowsersOtherThanIE9 from 'watch-size'\nimport { removeFromArray } from './removeFromArray'\n\nlet intervalId\nconst registered = []\nconst INTERVAL_DURATION = 100\n\nfunction run() {\n intervalId = setInterval(() => {\n registered.forEach(test)\n }, INTERVAL_DURATION)\n}\n\nfunction stop() {\n clearInterval(intervalId)\n intervalId = null\n}\n\nfunction test(item) {\n const { $el, listener, lastWidth, lastHeight } = item\n const width = $el.offsetWidth\n const height = $el.offsetHeight\n\n if (lastWidth !== width || lastHeight !== height) {\n item.lastWidth = width\n item.lastHeight = height\n\n listener({ width, height })\n }\n}\n\nfunction watchSizeForIE9($el, listener) {\n const item = {\n $el,\n listener,\n lastWidth: null,\n lastHeight: null,\n }\n const unwatch = () => {\n removeFromArray(registered, item)\n if (!registered.length) stop()\n }\n\n registered.push(item)\n // The original watch-size will call the listener on initialization.\n // Keep the same behavior here.\n test(item)\n run()\n\n return unwatch\n}\n\nexport function watchSize($el, listener) {\n // See: https://stackoverflow.com/a/31293352\n const isIE9 = document.documentMode === 9\n // watch-size will call the listener on initialization.\n // Disable this behavior with a lock to achieve a clearer code logic.\n let locked = true\n const wrappedListener = (...args) => locked || listener(...args)\n const implementation = isIE9\n ? watchSizeForIE9\n : watchSizeForBrowsersOtherThanIE9\n const removeSizeWatcher = implementation($el, wrappedListener)\n locked = false // unlock after initialization\n\n return removeSizeWatcher\n}\n","var index = (function (element, listener) {\n\tvar expand = document.createElement('_');\n\tvar shrink = expand.appendChild(document.createElement('_'));\n\tvar expandChild = expand.appendChild(document.createElement('_'));\n\tvar shrinkChild = shrink.appendChild(document.createElement('_'));\n\n\tvar lastWidth = void 0,\n\t lastHeight = void 0;\n\n\tshrink.style.cssText = expand.style.cssText = 'height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1';\n\tshrinkChild.style.cssText = expandChild.style.cssText = 'display:block;height:100%;transition:0s;width:100%';\n\tshrinkChild.style.width = shrinkChild.style.height = '200%';\n\n\telement.appendChild(expand);\n\n\ttest();\n\n\treturn stop;\n\n\tfunction test() {\n\t\tunbind();\n\n\t\tvar width = element.offsetWidth;\n\t\tvar height = element.offsetHeight;\n\n\t\tif (width !== lastWidth || height !== lastHeight) {\n\t\t\tlastWidth = width;\n\t\t\tlastHeight = height;\n\n\t\t\texpandChild.style.width = width * 2 + 'px';\n\t\t\texpandChild.style.height = height * 2 + 'px';\n\n\t\t\texpand.scrollLeft = expand.scrollWidth;\n\t\t\texpand.scrollTop = expand.scrollHeight;\n\t\t\tshrink.scrollLeft = shrink.scrollWidth;\n\t\t\tshrink.scrollTop = shrink.scrollHeight;\n\n\t\t\tlistener({ width: width, height: height });\n\t\t}\n\n\t\tshrink.addEventListener('scroll', test);\n\t\texpand.addEventListener('scroll', test);\n\t}\n\n\tfunction unbind() {\n\t\tshrink.removeEventListener('scroll', test);\n\t\texpand.removeEventListener('scroll', test);\n\t}\n\n\tfunction stop() {\n\t\tunbind();\n\n\t\telement.removeChild(expand);\n\t}\n});\n\nexport default index;\n","export function removeFromArray(arr, elem) {\n const idx = arr.indexOf(elem)\n if (idx !== -1) arr.splice(idx, 1)\n}\n","function findScrollParents($el) {\n const $scrollParents = []\n let $parent = $el.parentNode\n\n while ($parent && $parent.nodeName !== 'BODY' && $parent.nodeType === document.ELEMENT_NODE) {\n if (isScrollElment($parent)) $scrollParents.push($parent)\n $parent = $parent.parentNode\n }\n $scrollParents.push(window)\n\n return $scrollParents\n}\n\nfunction isScrollElment($el) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle($el)\n return /(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)\n}\n\nexport function setupResizeAndScrollEventListeners($el, listener) {\n const $scrollParents = findScrollParents($el)\n\n window.addEventListener('resize', listener, { passive: true })\n $scrollParents.forEach(scrollParent => {\n scrollParent.addEventListener('scroll', listener, { passive: true })\n })\n\n return function removeEventListeners() {\n window.removeEventListener('resize', listener, { passive: true })\n $scrollParents.forEach($scrollParent => {\n $scrollParent.removeEventListener('scroll', listener, { passive: true })\n })\n }\n}\n","export function isNaN(x) {\n return x !== x\n}\n","export const createMap = () => Object.create(null)\n","function isPlainObject(value) {\n if (value == null || typeof value !== 'object') return false\n return Object.getPrototypeOf(value) === Object.prototype\n}\n\nfunction copy(obj, key, value) {\n if (isPlainObject(value)) {\n obj[key] || (obj[key] = {})\n deepExtend(obj[key], value)\n } else {\n obj[key] = value\n }\n}\n\nexport function deepExtend(target, source) {\n if (isPlainObject(source)) {\n const keys = Object.keys(source)\n\n for (let i = 0, len = keys.length; i < len; i++) {\n copy(target, keys[i], source[keys[i]])\n }\n }\n\n return target\n}\n","export function includes(arrOrStr, elem) {\n return arrOrStr.indexOf(elem) !== -1\n}\n","export function find(arr, predicate, ctx) {\n for (let i = 0, len = arr.length; i < len; i++) {\n if (predicate.call(ctx, arr[i], i, arr)) return arr[i]\n }\n return undefined\n}\n","export function quickDiff(arrA, arrB) {\n if (arrA.length !== arrB.length) return true\n\n for (let i = 0; i < arrA.length; i++) {\n if (arrA[i] !== arrB[i]) return true\n }\n\n return false\n}\n","// Magic value that indicates a root level node.\nexport const NO_PARENT_NODE = null\n\n// Types of checked state.\nexport const UNCHECKED = 0\nexport const INDETERMINATE = 1\nexport const CHECKED = 2\n\n// Types of count number.\nexport const ALL_CHILDREN = 'ALL_CHILDREN'\nexport const ALL_DESCENDANTS = 'ALL_DESCENDANTS'\nexport const LEAF_CHILDREN = 'LEAF_CHILDREN'\nexport const LEAF_DESCENDANTS = 'LEAF_DESCENDANTS'\n\n// Action types of delayed loading.\nexport const LOAD_ROOT_OPTIONS = 'LOAD_ROOT_OPTIONS'\nexport const LOAD_CHILDREN_OPTIONS = 'LOAD_CHILDREN_OPTIONS'\nexport const ASYNC_SEARCH = 'ASYNC_SEARCH'\n\n// Acceptable values of `valueConsistsOf` prop.\nexport const ALL = 'ALL'\nexport const BRANCH_PRIORITY = 'BRANCH_PRIORITY'\nexport const LEAF_PRIORITY = 'LEAF_PRIORITY'\nexport const ALL_WITH_INDETERMINATE = 'ALL_WITH_INDETERMINATE'\n\n// Acceptable values of `sortValueBy` prop.\nexport const ORDER_SELECTED = 'ORDER_SELECTED'\nexport const LEVEL = 'LEVEL'\nexport const INDEX = 'INDEX'\n\n// Key codes look-up table.\nexport const KEY_CODES = {\n BACKSPACE: 8,\n ENTER: 13,\n ESCAPE: 27,\n END: 35,\n HOME: 36,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n DELETE: 46,\n}\n\n// Other constants.\nexport const INPUT_DEBOUNCE_DELAY = process.env.NODE_ENV === 'testing'\n ? /* to speed up unit testing */ 10\n : /* istanbul ignore next */ 200\nexport const MIN_INPUT_WIDTH = 5\nexport const MENU_BUFFER = 40\n","import fuzzysearch from 'fuzzysearch'\n\nimport {\n warning,\n onLeftClick, scrollIntoView,\n isNaN, isPromise, once,\n identity, constant, createMap,\n quickDiff, last as getLast, includes, find, removeFromArray,\n} from '../utils'\n\nimport {\n NO_PARENT_NODE,\n UNCHECKED, INDETERMINATE, CHECKED,\n LOAD_ROOT_OPTIONS, LOAD_CHILDREN_OPTIONS, ASYNC_SEARCH,\n ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE,\n ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS,\n ORDER_SELECTED, LEVEL, INDEX,\n} from '../constants'\n\nfunction sortValueByIndex(a, b) {\n let i = 0\n do {\n if (a.level < i) return -1\n if (b.level < i) return 1\n if (a.index[i] !== b.index[i]) return a.index[i] - b.index[i]\n i++\n } while (true)\n}\n\nfunction sortValueByLevel(a, b) {\n return a.level === b.level\n ? sortValueByIndex(a, b)\n : a.level - b.level\n}\n\nfunction createAsyncOptionsStates() {\n return {\n isLoaded: false,\n isLoading: false,\n loadingError: '',\n }\n}\n\nfunction stringifyOptionPropValue(value) {\n if (typeof value === 'string') return value\n if (typeof value === 'number' && !isNaN(value)) return value + ''\n // istanbul ignore next\n return ''\n}\n\nfunction match(enableFuzzyMatch, needle, haystack) {\n return enableFuzzyMatch\n ? fuzzysearch(needle, haystack)\n : includes(haystack, needle)\n}\n\nfunction getErrorMessage(err) {\n return err.message || /* istanbul ignore next */String(err)\n}\n\nlet instanceId = 0\n\nexport default {\n provide() {\n return {\n // Enable access to the instance of root component of vue-treeselect\n // across hierarchy.\n instance: this,\n }\n },\n\n props: {\n /**\n * Whether to allow resetting value even if there are disabled selected nodes.\n */\n allowClearingDisabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When an ancestor node is selected/deselected, whether its disabled descendants should be selected/deselected.\n * You may want to use this in conjunction with `allowClearingDisabled` prop.\n */\n allowSelectingDisabledDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the menu should be always open.\n */\n alwaysOpen: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Append the menu to ?\n */\n appendToBody: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable async search mode.\n */\n async: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically focus the component on mount?\n */\n autoFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Automatically load root options on mount. When set to `false`, root options will be loaded when the menu is opened.\n */\n autoLoadRootOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * When user deselects a node, automatically deselect its ancestors. Applies to flat mode only.\n */\n autoDeselectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user deselects a node, automatically deselect its descendants. Applies to flat mode only.\n */\n autoDeselectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its ancestors. Applies to flat mode only.\n */\n autoSelectAncestors: {\n type: Boolean,\n default: false,\n },\n\n /**\n * When user selects a node, automatically select its descendants. Applies to flat mode only.\n */\n autoSelectDescendants: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether pressing backspace key removes the last item if there is no text input.\n */\n backspaceRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Function that processes before clearing all input fields.\n * Return `false` to prevent value from being cleared.\n * @type {function(): (boolean|Promise)}\n */\n beforeClearAll: {\n type: Function,\n default: constant(true),\n },\n\n /**\n * Show branch nodes before leaf nodes?\n */\n branchNodesFirst: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Should cache results of every search request?\n */\n cacheOptions: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show an \"×\" button that resets value?\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Title for the \"×\" button when `multiple: true`.\n */\n clearAllText: {\n type: String,\n default: 'Clear all',\n },\n\n /**\n * Whether to clear the search input after selecting.\n * Use only when `multiple` is `true`.\n * For single-select mode, it **always** clears the input after selecting an option regardless of the prop value.\n */\n clearOnSelect: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Title for the \"×\" button.\n */\n clearValueText: {\n type: String,\n default: 'Clear value',\n },\n\n /**\n * Whether to close the menu after selecting an option?\n * Use only when `multiple` is `true`.\n */\n closeOnSelect: {\n type: Boolean,\n default: true,\n },\n\n /**\n * How many levels of branch nodes should be automatically expanded when loaded.\n * Set `Infinity` to make all branch nodes expanded by default.\n */\n defaultExpandLevel: {\n type: Number,\n default: 0,\n },\n\n /**\n * The default set of options to show before the user starts searching. Used for async search mode.\n * When set to `true`, the results for search query as a empty string will be autoloaded.\n * @type {boolean|node[]}\n */\n defaultOptions: {\n default: false,\n },\n\n /**\n * Whether pressing delete key removes the last item if there is no text input.\n */\n deleteRemoves: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Delimiter to use to join multiple values for the hidden field value.\n */\n delimiter: {\n type: String,\n default: ',',\n },\n\n /**\n * Only show the nodes that match the search value directly, excluding its ancestors.\n *\n * @type {Object}\n */\n flattenSearchResults: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Prevent branch nodes from being selected?\n */\n disableBranchNodes: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the control?\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Disable the fuzzy matching functionality?\n */\n disableFuzzyMatching: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to enable flat mode or not. Non-flat mode (default) means:\n * - Whenever a branch node gets checked, all its children will be checked too\n * - Whenever a branch node has all children checked, the branch node itself will be checked too\n * Set `true` to disable this mechanism\n */\n flat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Will be passed with all events as the last param.\n * Useful for identifying events origin.\n */\n instanceId: {\n // Add two trailing \"$\" to distinguish from explictly specified ids.\n default: () => `${instanceId++}$$`,\n type: [ String, Number ],\n },\n\n /**\n * Joins multiple values into a single form field with the `delimiter` (legacy mode).\n */\n joinValues: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Limit the display of selected options.\n * The rest will be hidden within the limitText string.\n */\n limit: {\n type: Number,\n default: Infinity,\n },\n\n /**\n * Function that processes the message shown when selected elements pass the defined limit.\n * @type {function(number): string}\n */\n limitText: {\n type: Function,\n default: function limitTextDefault(count) { // eslint-disable-line func-name-matching\n return `and ${count} more`\n },\n },\n\n /**\n * Text displayed when loading options.\n */\n loadingText: {\n type: String,\n default: 'Loading...',\n },\n\n /**\n * Used for dynamically loading options.\n * @type {function({action: string, callback: (function((Error|string)=): void), parentNode: node=, instanceId}): void}\n */\n loadOptions: {\n type: Function,\n },\n\n /**\n * Which node properties to filter on.\n */\n matchKeys: {\n type: Array,\n default: constant([ 'label' ]),\n },\n\n /**\n * Sets `maxHeight` style value of the menu.\n */\n maxHeight: {\n type: Number,\n default: 300,\n },\n\n /**\n * Set `true` to allow selecting multiple options (a.k.a., multi-select mode).\n */\n multiple: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Generates a hidden tag with this field name for html forms.\n */\n name: {\n type: String,\n },\n\n /**\n * Text displayed when a branch node has no children.\n */\n noChildrenText: {\n type: String,\n default: 'No sub-options.',\n },\n\n /**\n * Text displayed when there are no available options.\n */\n noOptionsText: {\n type: String,\n default: 'No options available.',\n },\n\n /**\n * Text displayed when there are no matching search results.\n */\n noResultsText: {\n type: String,\n default: 'No results found...',\n },\n\n /**\n * Used for normalizing source data.\n * @type {function(node, instanceId): node}\n */\n normalizer: {\n type: Function,\n default: identity,\n },\n\n /**\n * By default (`auto`), the menu will open below the control. If there is not\n * enough space, vue-treeselect will automatically flip the menu.\n * You can use one of other four options to force the menu to be always opened\n * to specified direction.\n * Acceptable values:\n * - `\"auto\"`\n * - `\"below\"`\n * - `\"bottom\"`\n * - `\"above\"`\n * - `\"top\"`\n */\n openDirection: {\n type: String,\n default: 'auto',\n validator(value) {\n const acceptableValues = [ 'auto', 'top', 'bottom', 'above', 'below' ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to automatically open the menu when the control is clicked.\n */\n openOnClick: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether to automatically open the menu when the control is focused.\n */\n openOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Array of available options.\n * @type {node[]}\n */\n options: {\n type: Array,\n },\n\n /**\n * Field placeholder, displayed when there's no value.\n */\n placeholder: {\n type: String,\n default: 'Select...',\n },\n\n /**\n * Applies HTML5 required attribute when needed.\n */\n required: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text displayed asking user whether to retry loading children options.\n */\n retryText: {\n type: String,\n default: 'Retry?',\n },\n\n /**\n * Title for the retry button.\n */\n retryTitle: {\n type: String,\n default: 'Click to retry',\n },\n\n /**\n * Enable searching feature?\n */\n searchable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Search in ancestor nodes too.\n */\n searchNested: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text tip to prompt for async search.\n */\n searchPromptText: {\n type: String,\n default: 'Type to search...',\n },\n\n showAsGroup: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether to show a children count next to the label of each branch node.\n */\n showCount: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Used in conjunction with `showCount` to specify which type of count number should be displayed.\n * Acceptable values:\n * - \"ALL_CHILDREN\"\n * - \"ALL_DESCENDANTS\"\n * - \"LEAF_CHILDREN\"\n * - \"LEAF_DESCENDANTS\"\n */\n showCountOf: {\n type: String,\n default: ALL_CHILDREN,\n validator(value) {\n const acceptableValues = [ ALL_CHILDREN, ALL_DESCENDANTS, LEAF_CHILDREN, LEAF_DESCENDANTS ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Whether to show children count when searching.\n * Fallbacks to the value of `showCount` when not specified.\n * @type {boolean}\n */\n showCountOnSearch: null,\n\n /**\n * In which order the selected options should be displayed in trigger & sorted in `value` array.\n * Used for multi-select mode only.\n * Acceptable values:\n * - \"ORDER_SELECTED\"\n * - \"LEVEL\"\n * - \"INDEX\"\n */\n sortValueBy: {\n type: String,\n default: ORDER_SELECTED,\n validator(value) {\n const acceptableValues = [ ORDER_SELECTED, LEVEL, INDEX ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Tab index of the control.\n */\n tabIndex: {\n type: Number,\n default: 0,\n },\n\n /**\n * The value of the control.\n * Should be `id` or `node` object for single-select mode, or an array of `id` or `node` object for multi-select mode.\n * Its format depends on the `valueFormat` prop.\n * For most cases, just use `v-model` instead.\n * @type {?Array}\n */\n value: null,\n\n /**\n * Which kind of nodes should be included in the `value` array in multi-select mode.\n * Acceptable values:\n * - \"ALL\" - Any node that is checked will be included in the `value` array\n * - \"BRANCH_PRIORITY\" (default) - If a branch node is checked, all its descendants will be excluded in the `value` array\n * - \"LEAF_PRIORITY\" - If a branch node is checked, this node itself and its branch descendants will be excluded from the `value` array but its leaf descendants will be included\n * - \"ALL_WITH_INDETERMINATE\" - Any node that is checked will be included in the `value` array, plus indeterminate nodes\n */\n valueConsistsOf: {\n type: String,\n default: BRANCH_PRIORITY,\n validator(value) {\n const acceptableValues = [ ALL, BRANCH_PRIORITY, LEAF_PRIORITY, ALL_WITH_INDETERMINATE ]\n return includes(acceptableValues, value)\n },\n },\n\n /**\n * Format of `value` prop.\n * Note that, when set to `\"object\"`, only `id` & `label` properties are required in each `node` object in `value` prop.\n * Acceptable values:\n * - \"id\"\n * - \"object\"\n */\n valueFormat: {\n type: String,\n default: 'id',\n },\n\n /**\n * z-index of the menu.\n */\n zIndex: {\n type: [ Number, String ],\n default: 999,\n },\n },\n\n data() {\n return {\n trigger: {\n // Is the control focused?\n isFocused: false,\n // User entered search query - value of the input.\n searchQuery: '',\n },\n\n menu: {\n // Is the menu opened?\n isOpen: false,\n // Id of current highlighted option.\n current: null,\n // The scroll position before last menu closing.\n lastScrollPosition: 0,\n // Which direction to open the menu.\n placement: 'bottom',\n },\n\n forest: {\n // Normalized options.\n normalizedOptions: [],\n // map for quick look-up.\n nodeMap: createMap(),\n // map, used for multi-select mode.\n checkedStateMap: createMap(),\n // Id list of all selected options.\n selectedNodeIds: this.extractCheckedNodeIdsFromValue(),\n // map for fast checking:\n // if (forest.selectedNodeIds.indexOf(id) !== -1) forest.selectedNodeMap[id] === true\n selectedNodeMap: createMap(),\n },\n\n // States of root options.\n rootOptionsStates: createAsyncOptionsStates(),\n\n localSearch: {\n // Has user entered any query to search local options?\n active: false,\n // Has any options matched the search query?\n noResults: true,\n // map for counting matched children/descendants.\n countMap: createMap(),\n },\n\n // map.\n remoteSearch: createMap(),\n }\n },\n\n computed: {\n /* eslint-disable valid-jsdoc */\n /**\n * Normalized nodes that have been selected.\n * @type {node[]}\n */\n selectedNodes() {\n return this.forest.selectedNodeIds.map(this.getNode)\n },\n /**\n * Id list of selected nodes with `sortValueBy` prop applied.\n * @type {nodeId[]}\n */\n internalValue() {\n let internalValue\n\n // istanbul ignore else\n const valueConsistsOf = this.showAsGroup ? LEAF_PRIORITY : this.valueConsistsOf\n if (this.single || this.flat || this.disableBranchNodes || valueConsistsOf === ALL) {\n internalValue = this.forest.selectedNodeIds.slice()\n } else if (valueConsistsOf === BRANCH_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isRootNode) return true\n return !this.isSelected(node.parentNode)\n })\n } else if (valueConsistsOf === LEAF_PRIORITY) {\n internalValue = this.forest.selectedNodeIds.filter(id => {\n const node = this.getNode(id)\n if (node.isLeaf) return true\n return node.children.length === 0\n })\n } else if (valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const indeterminateNodeIds = []\n internalValue = this.forest.selectedNodeIds.slice()\n this.selectedNodes.forEach(selectedNode => {\n selectedNode.ancestors.forEach(ancestor => {\n if (includes(indeterminateNodeIds, ancestor.id)) return\n if (includes(internalValue, ancestor.id)) return\n indeterminateNodeIds.push(ancestor.id)\n })\n })\n internalValue.push(...indeterminateNodeIds)\n }\n\n if (this.sortValueBy === LEVEL) {\n internalValue.sort((a, b) => sortValueByLevel(this.getNode(a), this.getNode(b)))\n } else if (this.sortValueBy === INDEX) {\n internalValue.sort((a, b) => sortValueByIndex(this.getNode(a), this.getNode(b)))\n }\n\n return internalValue\n },\n /**\n * Has any option been selected?\n * @type {boolean}\n */\n hasValue() {\n return this.internalValue.length > 0\n },\n /**\n * Single-select mode?\n * @type {boolean}\n */\n single() {\n return !this.multiple\n },\n /**\n * Id list of nodes displayed in the menu. Nodes that are considered NOT visible:\n * - descendants of a collapsed branch node\n * - in local search mode, nodes that are not matched, unless\n * - it's a branch node and has matched descendants\n * - it's a leaf node and its parent node is explicitly set to show all children\n * @type {id[]}\n */\n visibleOptionIds() {\n const visibleOptionIds = []\n\n this.traverseAllNodesByIndex(node => {\n if (!this.localSearch.active || this.shouldOptionBeIncludedInSearchResult(node)) {\n visibleOptionIds.push(node.id)\n }\n // Skip the traversal of descendants of a branch node if it's not expanded.\n if (node.isBranch && !this.shouldExpand(node)) {\n return false\n }\n })\n\n return visibleOptionIds\n },\n /**\n * Has any option should be displayed in the menu?\n * @type {boolean}\n */\n hasVisibleOptions() {\n return this.visibleOptionIds.length !== 0\n },\n /**\n * Should show children count when searching?\n * @type {boolean}\n */\n showCountOnSearchComputed() {\n // Vue doesn't allow setting default prop value based on another prop value.\n // So use computed property as a workaround.\n // https://github.com/vuejs/vue/issues/6358\n return typeof this.showCountOnSearch === 'boolean'\n ? this.showCountOnSearch\n : this.showCount\n },\n /**\n * Is there any branch node?\n * @type {boolean}\n */\n hasBranchNodes() {\n return this.forest.normalizedOptions.some(rootNode => rootNode.isBranch)\n },\n shouldFlattenOptions() {\n return this.localSearch.active && this.flattenSearchResults\n },\n /* eslint-enable valid-jsdoc */\n },\n\n watch: {\n alwaysOpen(newValue) {\n if (newValue) this.openMenu()\n else this.closeMenu()\n },\n\n branchNodesFirst() {\n this.initialize()\n },\n\n disabled(newValue) {\n // force close the menu after disabling the control\n if (newValue && this.menu.isOpen) this.closeMenu()\n else if (!newValue && !this.menu.isOpen && this.alwaysOpen) this.openMenu()\n },\n\n flat() {\n this.initialize()\n },\n\n internalValue(newValue, oldValue) {\n const hasChanged = quickDiff(newValue, oldValue)\n // #122\n // Vue would trigger this watcher when `newValue` and `oldValue` are shallow-equal.\n // We emit the `input` event only when the value actually changes.\n if (hasChanged) this.$emit('input', this.getValue(), this.getInstanceId())\n },\n\n matchKeys() {\n this.initialize()\n },\n\n multiple(newValue) {\n // We need to rebuild the state when switching from single-select mode\n // to multi-select mode.\n // istanbul ignore else\n if (newValue) this.buildForestState()\n },\n\n options: {\n handler() {\n if (this.async) return\n // Re-initialize options when the `options` prop has changed.\n this.initialize()\n this.rootOptionsStates.isLoaded = Array.isArray(this.options)\n },\n deep: true,\n immediate: true,\n },\n\n 'trigger.searchQuery'() {\n if (this.async) {\n this.handleRemoteSearch()\n } else {\n this.handleLocalSearch()\n }\n\n this.$emit('search-change', this.trigger.searchQuery, this.getInstanceId())\n },\n\n value() {\n const nodeIdsFromValue = this.extractCheckedNodeIdsFromValue()\n const hasChanged = quickDiff(nodeIdsFromValue, this.internalValue)\n if (hasChanged) this.fixSelectedNodeIds(nodeIdsFromValue)\n },\n },\n\n methods: {\n verifyProps() {\n warning(\n () => this.async ? this.searchable : true,\n () => 'For async search mode, the value of \"searchable\" prop must be true.',\n )\n\n if (this.options == null && !this.loadOptions) {\n warning(\n () => false,\n () => 'Are you meant to dynamically load options? You need to use \"loadOptions\" prop.',\n )\n }\n\n if (this.flat) {\n warning(\n () => this.multiple,\n () => 'You are using flat mode. But you forgot to add \"multiple=true\"?',\n )\n }\n\n if (!this.flat) {\n const propNames = [\n 'autoSelectAncestors',\n 'autoSelectDescendants',\n 'autoDeselectAncestors',\n 'autoDeselectDescendants',\n ]\n\n propNames.forEach(propName => {\n warning(\n () => !this[propName],\n () => `\"${propName}\" only applies to flat mode.`,\n )\n })\n }\n },\n\n resetFlags() {\n this._blurOnSelect = false\n },\n\n initialize() {\n const options = this.async\n ? this.getRemoteSearchEntry().options\n : this.options\n\n if (Array.isArray(options)) {\n // In case we are re-initializing options, keep the old state tree temporarily.\n const prevNodeMap = this.forest.nodeMap\n this.forest.nodeMap = createMap()\n this.keepDataOfSelectedNodes(prevNodeMap)\n this.forest.normalizedOptions = this.normalize(NO_PARENT_NODE, options, prevNodeMap)\n // Cases that need fixing `selectedNodeIds`:\n // 1) Children options of a checked node have been delayed loaded,\n // we should also mark these children as checked. (multi-select mode)\n // 2) Root options have been delayed loaded, we need to initialize states\n // of these nodes. (multi-select mode)\n // 3) Async search mode.\n this.fixSelectedNodeIds(this.internalValue)\n } else {\n this.forest.normalizedOptions = []\n }\n },\n\n getInstanceId() {\n return this.instanceId == null ? this.id : this.instanceId\n },\n\n getValue() {\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.internalValue.slice()\n : this.internalValue[0]\n }\n\n const rawNodes = this.internalValue.map(id => this.getNode(id).raw)\n return this.multiple ? rawNodes : rawNodes[0]\n },\n\n getNode(nodeId) {\n warning(\n () => nodeId != null,\n () => `Invalid node id: ${nodeId}`,\n )\n\n if (nodeId == null) return null\n\n return nodeId in this.forest.nodeMap\n ? this.forest.nodeMap[nodeId]\n : this.createFallbackNode(nodeId)\n },\n\n createFallbackNode(id) {\n // In case there is a default selected node that is not loaded into the tree yet,\n // we create a fallback node to keep the component working.\n // When the real data is loaded, we'll override this fake node.\n\n const raw = this.extractNodeFromValue(id)\n const label = this.enhancedNormalizer(raw).label || `${id} (unknown)`\n const fallbackNode = {\n id,\n label,\n ancestors: [],\n parentNode: NO_PARENT_NODE,\n isFallbackNode: true,\n isRootNode: true,\n isLeaf: true,\n isBranch: false,\n isDisabled: false,\n isNew: false,\n index: [ -1 ],\n level: 0,\n raw,\n }\n\n return this.$set(this.forest.nodeMap, id, fallbackNode)\n },\n\n extractCheckedNodeIdsFromValue() {\n if (this.value == null) return []\n\n if (this.valueFormat === 'id') {\n return this.multiple\n ? this.value.slice()\n : [ this.value ]\n }\n\n return (this.multiple ? this.value : [ this.value ])\n .map(node => this.enhancedNormalizer(node))\n .map(node => node.id)\n },\n\n extractNodeFromValue(id) {\n const defaultNode = { id }\n\n if (this.valueFormat === 'id') {\n return defaultNode\n }\n\n const valueArray = this.multiple\n ? Array.isArray(this.value) ? this.value : []\n : this.value ? [ this.value ] : []\n const matched = find(\n valueArray,\n node => node && this.enhancedNormalizer(node).id === id,\n )\n\n return matched || defaultNode\n },\n\n fixSelectedNodeIds(nodeIdListOfPrevValue) {\n let nextSelectedNodeIds = []\n\n // istanbul ignore else\n if (this.single || this.flat || this.disableBranchNodes || this.valueConsistsOf === ALL) {\n nextSelectedNodeIds = nodeIdListOfPrevValue\n } else if (this.valueConsistsOf === BRANCH_PRIORITY) {\n nodeIdListOfPrevValue.forEach(nodeId => {\n nextSelectedNodeIds.push(nodeId)\n const node = this.getNode(nodeId)\n if (node.isBranch) this.traverseDescendantsBFS(node, descendant => {\n nextSelectedNodeIds.push(descendant.id)\n })\n })\n } else if (this.valueConsistsOf === LEAF_PRIORITY) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.slice()\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n } else if (this.valueConsistsOf === ALL_WITH_INDETERMINATE) {\n const map = createMap()\n const queue = nodeIdListOfPrevValue.filter(nodeId => {\n const node = this.getNode(nodeId)\n return node.isLeaf || node.children.length === 0\n })\n while (queue.length) {\n const nodeId = queue.shift()\n const node = this.getNode(nodeId)\n nextSelectedNodeIds.push(nodeId)\n if (node.isRootNode) continue\n if (!(node.parentNode.id in map)) map[node.parentNode.id] = node.parentNode.children.length\n if (--map[node.parentNode.id] === 0) queue.push(node.parentNode.id)\n }\n }\n\n const hasChanged = quickDiff(this.forest.selectedNodeIds, nextSelectedNodeIds)\n // If `nextSelectedNodeIds` doesn't actually differ from old `selectedNodeIds`,\n // we don't make the assignment to avoid triggering its watchers which may cause\n // unnecessary calculations.\n if (hasChanged) this.forest.selectedNodeIds = nextSelectedNodeIds\n\n this.buildForestState()\n },\n\n keepDataOfSelectedNodes(prevNodeMap) {\n // In case there is any selected node that is not present in the new `options` array.\n // It could be useful for async search mode.\n this.forest.selectedNodeIds.forEach(id => {\n if (!prevNodeMap[id]) return\n const node = {\n ...prevNodeMap[id],\n isFallbackNode: true,\n }\n this.$set(this.forest.nodeMap, id, node)\n })\n },\n\n isSelected(node) {\n // whether a node is selected (single-select mode) or fully-checked (multi-select mode)\n return this.forest.selectedNodeMap[node.id] === true\n },\n\n traverseDescendantsBFS(parentNode, callback) {\n // istanbul ignore if\n if (!parentNode.isBranch) return\n const queue = parentNode.children.slice()\n while (queue.length) {\n const currNode = queue[0]\n if (currNode.isBranch) queue.push(...currNode.children)\n callback(currNode)\n queue.shift()\n }\n },\n\n traverseDescendantsDFS(parentNode, callback) {\n if (!parentNode.isBranch) return\n parentNode.children.forEach(child => {\n // deep-level node first\n this.traverseDescendantsDFS(child, callback)\n callback(child)\n })\n },\n\n traverseAllNodesDFS(callback) {\n this.forest.normalizedOptions.forEach(rootNode => {\n // deep-level node first\n this.traverseDescendantsDFS(rootNode, callback)\n callback(rootNode)\n })\n },\n\n traverseAllNodesByIndex(callback) {\n const walk = parentNode => {\n parentNode.children.forEach(child => {\n if (callback(child) !== false && child.isBranch) {\n walk(child)\n }\n })\n }\n\n // To simplify the code logic of traversal,\n // we create a fake root node that holds all the root options.\n walk({ children: this.forest.normalizedOptions })\n },\n\n toggleClickOutsideEvent(enabled) {\n if (enabled) {\n document.addEventListener('mousedown', this.handleClickOutside, false)\n } else {\n document.removeEventListener('mousedown', this.handleClickOutside, false)\n }\n },\n\n getValueContainer() {\n if (!this.$refs || !this.$refs.control || !this.$refs.control.$refs) {\n return null\n }\n return this.$refs.control.$refs['value-container']\n },\n\n getInput() {\n return this.getValueContainer().$refs.input\n },\n\n focusInput() {\n this.getInput().focus()\n },\n\n blurInput() {\n this.getInput().blur()\n },\n\n handleMouseDown: onLeftClick(function handleMouseDown(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n\n if (this.disabled || !this.getValueContainer()) return\n\n const isClickedOnValueContainer = this.getValueContainer().$el.contains(evt.target)\n if (isClickedOnValueContainer && !this.menu.isOpen && (this.openOnClick || this.trigger.isFocused)) {\n this.openMenu()\n }\n\n if (this._blurOnSelect) {\n this.blurInput()\n } else {\n // Focus the input or prevent blurring.\n this.focusInput()\n }\n\n this.resetFlags()\n }),\n\n handleClickOutside(evt) {\n // istanbul ignore else\n if (this.$refs.wrapper && !this.$refs.wrapper.contains(evt.target)) {\n this.blurInput()\n this.closeMenu()\n }\n },\n\n handleLocalSearch() {\n const { searchQuery } = this.trigger\n const done = () => this.resetHighlightedOptionWhenNecessary(true)\n\n if (!searchQuery) {\n // Exit sync search mode.\n this.localSearch.active = false\n return done()\n }\n\n // Enter sync search mode.\n this.localSearch.active = true\n\n // Reset states.\n this.localSearch.noResults = true\n this.traverseAllNodesDFS(node => {\n if (node.isBranch) {\n node.isExpandedOnSearch = false\n node.showAllChildrenOnSearch = false\n node.isMatched = false\n node.hasMatchedDescendants = false\n this.$set(this.localSearch.countMap, node.id, {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n }\n })\n\n const lowerCasedSearchQuery = searchQuery.trim().toLocaleLowerCase()\n const splitSearchQuery = lowerCasedSearchQuery.replace(/\\s+/g, ' ').split(' ')\n this.traverseAllNodesDFS(node => {\n if (this.searchNested && splitSearchQuery.length > 1) {\n node.isMatched = splitSearchQuery.every(filterValue =>\n match(false, filterValue, node.nestedSearchLabel),\n )\n } else {\n node.isMatched = this.matchKeys.some(matchKey =>\n match(!this.disableFuzzyMatching, lowerCasedSearchQuery, node.lowerCased[matchKey]),\n )\n }\n\n if (node.isMatched) {\n this.localSearch.noResults = false\n node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][ALL_DESCENDANTS]++)\n if (node.isLeaf) node.ancestors.forEach(ancestor => this.localSearch.countMap[ancestor.id][LEAF_DESCENDANTS]++)\n if (node.parentNode !== NO_PARENT_NODE) {\n this.localSearch.countMap[node.parentNode.id][ALL_CHILDREN] += 1\n // istanbul ignore else\n if (node.isLeaf) this.localSearch.countMap[node.parentNode.id][LEAF_CHILDREN] += 1\n }\n }\n\n if (\n (node.isMatched || (node.isBranch && node.isExpandedOnSearch)) &&\n node.parentNode !== NO_PARENT_NODE\n ) {\n node.parentNode.isExpandedOnSearch = true\n node.parentNode.hasMatchedDescendants = true\n }\n })\n\n done()\n },\n\n handleRemoteSearch() {\n const { searchQuery } = this.trigger\n const entry = this.getRemoteSearchEntry()\n const done = () => {\n this.initialize()\n this.resetHighlightedOptionWhenNecessary(true)\n }\n\n if ((searchQuery === '' || this.cacheOptions) && entry.isLoaded) {\n return done()\n }\n\n this.callLoadOptionsProp({\n action: ASYNC_SEARCH,\n args: { searchQuery },\n isPending() {\n return entry.isLoading\n },\n start: () => {\n entry.isLoading = true\n entry.isLoaded = false\n entry.loadingError = ''\n },\n succeed: options => {\n entry.isLoaded = true\n entry.options = options\n // When the request completes, the search query may have changed.\n // We only show these options if they are for the current search query.\n if (this.trigger.searchQuery === searchQuery) done()\n },\n fail: err => {\n entry.loadingError = getErrorMessage(err)\n },\n end: () => {\n entry.isLoading = false\n },\n })\n },\n\n getRemoteSearchEntry() {\n const { searchQuery } = this.trigger\n const entry = this.remoteSearch[searchQuery] || {\n ...createAsyncOptionsStates(),\n options: [],\n }\n\n // Vue doesn't support directly watching on objects.\n this.$watch(\n () => entry.options,\n () => {\n // TODO: potential redundant re-initialization.\n if (this.trigger.searchQuery === searchQuery) this.initialize()\n },\n { deep: true },\n )\n\n if (searchQuery === '') {\n if (Array.isArray(this.defaultOptions)) {\n entry.options = this.defaultOptions\n entry.isLoaded = true\n return entry\n } else if (this.defaultOptions !== true) {\n entry.isLoaded = true\n return entry\n }\n }\n\n if (!this.remoteSearch[searchQuery]) {\n this.$set(this.remoteSearch, searchQuery, entry)\n }\n\n return entry\n },\n\n shouldExpand(node) {\n return this.localSearch.active ? node.isExpandedOnSearch : node.isExpanded\n },\n\n shouldOptionBeIncludedInSearchResult(node) {\n // 1) This option is matched.\n if (node.isMatched) return true\n // 2) This option is not matched, but has matched descendant(s).\n if (node.isBranch && node.hasMatchedDescendants && !this.flattenSearchResults) return true\n // 3) This option's parent has no matched descendants,\n // but after being expanded, all its children should be shown.\n if (!node.isRootNode && node.parentNode.showAllChildrenOnSearch) return true\n // 4) The default case.\n return false\n },\n\n shouldShowOptionInMenu(node) {\n if (this.localSearch.active && !this.shouldOptionBeIncludedInSearchResult(node)) {\n return false\n }\n return true\n },\n\n getControl() {\n return this.$refs.control.$el\n },\n\n getMenu() {\n const ref = this.appendToBody ? this.$refs.portal.portalTarget : this\n const $menu = ref.$refs.menu.$refs.menu\n return $menu && $menu.nodeName !== '#comment' ? $menu : null\n },\n\n setCurrentHighlightedOption(node, scroll = true) {\n const prev = this.menu.current\n if (prev != null && prev in this.forest.nodeMap) {\n this.forest.nodeMap[prev].isHighlighted = false\n }\n\n this.menu.current = node.id\n node.isHighlighted = true\n\n if (this.menu.isOpen && scroll) {\n const scrollToOption = () => {\n const nodeId = node.id.toString().replace(/\"/g, '\\\\\"')\n const $menu = this.getMenu()\n const $option = $menu.querySelector(`.vue-treeselect__option[data-id=\"${nodeId}\"]`)\n if ($option) scrollIntoView($menu, $option)\n }\n\n // In case `openMenu()` is just called and the menu is not rendered yet.\n if (this.getMenu()) {\n scrollToOption()\n } else {\n // istanbul ignore next\n this.$nextTick(scrollToOption)\n }\n }\n },\n\n resetHighlightedOptionWhenNecessary(forceReset = false) {\n const { current } = this.menu\n\n if (\n forceReset || current == null ||\n !(current in this.forest.nodeMap) ||\n !this.shouldShowOptionInMenu(this.getNode(current))\n ) {\n this.highlightFirstOption()\n }\n },\n\n highlightFirstOption() {\n if (!this.hasVisibleOptions) return\n\n const first = this.visibleOptionIds[0]\n this.setCurrentHighlightedOption(this.getNode(first))\n },\n\n highlightPrevOption() {\n if (!this.hasVisibleOptions) return\n\n const prev = this.visibleOptionIds.indexOf(this.menu.current) - 1\n if (prev === -1) return this.highlightLastOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[prev]))\n },\n\n highlightNextOption() {\n if (!this.hasVisibleOptions) return\n\n const next = this.visibleOptionIds.indexOf(this.menu.current) + 1\n if (next === this.visibleOptionIds.length) return this.highlightFirstOption()\n this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[next]))\n },\n\n highlightLastOption() {\n if (!this.hasVisibleOptions) return\n\n const last = getLast(this.visibleOptionIds)\n this.setCurrentHighlightedOption(this.getNode(last))\n },\n\n resetSearchQuery() {\n this.trigger.searchQuery = ''\n },\n\n closeMenu() {\n if (!this.menu.isOpen || (!this.disabled && this.alwaysOpen)) return\n this.saveMenuScrollPosition()\n this.menu.isOpen = false\n this.toggleClickOutsideEvent(false)\n this.resetSearchQuery()\n this.$emit('close', this.getValue(), this.getInstanceId())\n },\n\n openMenu() {\n if (this.disabled || this.menu.isOpen) return\n this.menu.isOpen = true\n this.$nextTick(this.resetHighlightedOptionWhenNecessary)\n this.$nextTick(this.restoreMenuScrollPosition)\n if (!this.options && !this.async) this.loadRootOptions()\n this.toggleClickOutsideEvent(true)\n this.$emit('open', this.getInstanceId())\n },\n\n toggleMenu() {\n if (this.menu.isOpen) {\n this.closeMenu()\n } else {\n this.openMenu()\n }\n },\n\n toggleExpanded(node) {\n let nextState\n\n if (this.localSearch.active) {\n nextState = node.isExpandedOnSearch = !node.isExpandedOnSearch\n if (nextState) node.showAllChildrenOnSearch = true\n } else {\n nextState = node.isExpanded = !node.isExpanded\n }\n\n if (nextState && !node.childrenStates.isLoaded) {\n this.loadChildrenOptions(node)\n }\n },\n\n buildForestState() {\n const selectedNodeMap = createMap()\n this.forest.selectedNodeIds.forEach(selectedNodeId => {\n selectedNodeMap[selectedNodeId] = true\n })\n this.forest.selectedNodeMap = selectedNodeMap\n\n const checkedStateMap = createMap()\n if (this.multiple) {\n this.traverseAllNodesByIndex(node => {\n checkedStateMap[node.id] = UNCHECKED\n })\n\n this.selectedNodes.forEach(selectedNode => {\n checkedStateMap[selectedNode.id] = CHECKED\n\n if (!this.flat && !this.disableBranchNodes) {\n selectedNode.ancestors.forEach(ancestorNode => {\n if (!this.isSelected(ancestorNode)) {\n checkedStateMap[ancestorNode.id] = INDETERMINATE\n }\n })\n }\n })\n }\n this.forest.checkedStateMap = checkedStateMap\n },\n\n enhancedNormalizer(raw) {\n return {\n ...raw,\n ...this.normalizer(raw, this.getInstanceId()),\n }\n },\n\n normalize(parentNode, nodes, prevNodeMap) {\n let normalizedOptions = nodes\n .map(node => [ this.enhancedNormalizer(node), node ])\n .map(([ node, raw ], index) => {\n this.checkDuplication(node)\n this.verifyNodeShape(node)\n\n const id = node.id !== undefined ? node.id : Math.round(Math.random() * 1000000)\n const { label, children, isDefaultExpanded } = node\n const isRootNode = parentNode === NO_PARENT_NODE\n const level = isRootNode || this.showAsGroup ? 0 : parentNode.level + 1\n const isBranch = Array.isArray(children) || children === null\n const isLeaf = !isBranch\n const isDisabled = !!node.isDisabled || (!this.flat && !isRootNode && parentNode.isDisabled)\n const isNew = !!node.isNew\n const lowerCased = this.matchKeys.reduce((prev, key) => ({\n ...prev,\n [key]: stringifyOptionPropValue(node[key]).toLocaleLowerCase(),\n }), {})\n const nestedSearchLabel = isRootNode\n ? lowerCased.label\n : parentNode.nestedSearchLabel + ' ' + lowerCased.label\n\n const normalized = this.$set(this.forest.nodeMap, id, createMap())\n this.$set(normalized, 'id', id)\n this.$set(normalized, 'label', label)\n this.$set(normalized, 'level', level)\n this.$set(normalized, 'ancestors', isRootNode ? [] : [ parentNode ].concat(parentNode.ancestors))\n this.$set(normalized, 'index', (isRootNode ? [] : parentNode.index).concat(index))\n this.$set(normalized, 'parentNode', parentNode)\n this.$set(normalized, 'lowerCased', lowerCased)\n this.$set(normalized, 'nestedSearchLabel', nestedSearchLabel)\n this.$set(normalized, 'isDisabled', isDisabled)\n this.$set(normalized, 'isNew', isNew)\n this.$set(normalized, 'isMatched', false)\n this.$set(normalized, 'isHighlighted', false)\n this.$set(normalized, 'isBranch', isBranch)\n this.$set(normalized, 'isGroup', isBranch && this.showAsGroup)\n this.$set(normalized, 'isLeaf', isLeaf)\n this.$set(normalized, 'isRootNode', isRootNode)\n this.$set(normalized, 'raw', raw)\n\n if (isBranch) {\n const isLoaded = Array.isArray(children)\n\n this.$set(normalized, 'childrenStates', {\n ...createAsyncOptionsStates(),\n isLoaded,\n })\n this.$set(normalized, 'isExpanded', this.showAsGroup ? this.showAsGroup : typeof isDefaultExpanded === 'boolean'\n ? isDefaultExpanded\n : level < this.defaultExpandLevel)\n this.$set(normalized, 'hasMatchedDescendants', false)\n this.$set(normalized, 'hasDisabledDescendants', false)\n this.$set(normalized, 'isExpandedOnSearch', false)\n this.$set(normalized, 'showAllChildrenOnSearch', false)\n this.$set(normalized, 'count', {\n [ALL_CHILDREN]: 0,\n [ALL_DESCENDANTS]: 0,\n [LEAF_CHILDREN]: 0,\n [LEAF_DESCENDANTS]: 0,\n })\n this.$set(normalized, 'children', isLoaded\n ? this.normalize(normalized, children, prevNodeMap)\n : [])\n\n if (isDefaultExpanded === true) normalized.ancestors.forEach(ancestor => {\n ancestor.isExpanded = true\n })\n\n if (!isLoaded && typeof this.loadOptions !== 'function') {\n warning(\n () => false,\n () => 'Unloaded branch node detected. \"loadOptions\" prop is required to load its children.',\n )\n } else if (!isLoaded && normalized.isExpanded) {\n this.loadChildrenOptions(normalized)\n }\n }\n\n normalized.ancestors.forEach(ancestor => ancestor.count[ALL_DESCENDANTS]++)\n if (isLeaf) normalized.ancestors.forEach(ancestor => ancestor.count[LEAF_DESCENDANTS]++)\n if (!isRootNode) {\n parentNode.count[ALL_CHILDREN] += 1\n if (isLeaf) parentNode.count[LEAF_CHILDREN] += 1\n if (isDisabled) parentNode.hasDisabledDescendants = true\n }\n\n // Preserve previous states.\n if (prevNodeMap && prevNodeMap[id]) {\n const prev = prevNodeMap[id]\n\n normalized.isMatched = prev.isMatched\n normalized.showAllChildrenOnSearch = prev.showAllChildrenOnSearch\n normalized.isHighlighted = prev.isHighlighted\n\n if (prev.isBranch && normalized.isBranch) {\n normalized.isExpanded = prev.isExpanded\n normalized.isExpandedOnSearch = prev.isExpandedOnSearch\n // #97\n // If `isLoaded` was true, but IS NOT now, we consider this branch node\n // to be reset to unloaded state by the user of this component.\n if (prev.childrenStates.isLoaded && !normalized.childrenStates.isLoaded) {\n // Make sure the node is collapsed, then the user can load its\n // children again (by expanding).\n normalized.isExpanded = false\n // We have reset `childrenStates` and don't want to preserve states here.\n } else {\n normalized.childrenStates = { ...prev.childrenStates }\n }\n }\n }\n\n return normalized\n })\n\n if (this.branchNodesFirst) {\n const branchNodes = normalizedOptions.filter(option => option.isBranch)\n const leafNodes = normalizedOptions.filter(option => option.isLeaf)\n normalizedOptions = branchNodes.concat(leafNodes)\n }\n\n return normalizedOptions\n },\n\n loadRootOptions() {\n this.callLoadOptionsProp({\n action: LOAD_ROOT_OPTIONS,\n isPending: () => {\n return this.rootOptionsStates.isLoading\n },\n start: () => {\n this.rootOptionsStates.isLoading = true\n this.rootOptionsStates.loadingError = ''\n },\n succeed: () => {\n this.rootOptionsStates.isLoaded = true\n // Wait for `options` being re-initialized.\n this.$nextTick(() => {\n this.resetHighlightedOptionWhenNecessary(true)\n })\n },\n fail: err => {\n this.rootOptionsStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.rootOptionsStates.isLoading = false\n },\n })\n },\n\n loadChildrenOptions(parentNode) {\n // The options may be re-initialized anytime during the loading process.\n // So `parentNode` can be stale and we use `getNode()` to avoid that.\n\n const { id, raw } = parentNode\n\n this.callLoadOptionsProp({\n action: LOAD_CHILDREN_OPTIONS,\n args: {\n // We always pass the raw node instead of the normalized node to any\n // callback provided by the user of this component.\n // Because the shape of the raw node is more likely to be closing to\n // what the back-end API service of the application needs.\n parentNode: raw,\n },\n isPending: () => {\n return this.getNode(id).childrenStates.isLoading\n },\n start: () => {\n this.getNode(id).childrenStates.isLoading = true\n this.getNode(id).childrenStates.loadingError = ''\n },\n succeed: () => {\n this.getNode(id).childrenStates.isLoaded = true\n },\n fail: err => {\n this.getNode(id).childrenStates.loadingError = getErrorMessage(err)\n },\n end: () => {\n this.getNode(id).childrenStates.isLoading = false\n },\n })\n },\n\n callLoadOptionsProp({ action, args, isPending, start, succeed, fail, end }) {\n if (!this.loadOptions || isPending()) {\n return\n }\n\n start()\n\n const callback = once((err, result) => {\n if (err) {\n fail(err)\n } else {\n succeed(result)\n }\n\n end()\n })\n const result = this.loadOptions({\n id: this.getInstanceId(),\n instanceId: this.getInstanceId(),\n action,\n ...args,\n callback,\n })\n\n if (isPromise(result)) {\n result.then(() => {\n callback()\n }, err => {\n callback(err)\n }).catch(err => {\n // istanbul ignore next\n console.error(err)\n })\n }\n },\n\n checkDuplication(node) {\n warning(\n () => !((node.id in this.forest.nodeMap) && !this.forest.nodeMap[node.id].isFallbackNode),\n () => `Detected duplicate presence of node id ${JSON.stringify(node.id)}. ` +\n `Their labels are \"${this.forest.nodeMap[node.id].label}\" and \"${node.label}\" respectively.`,\n )\n },\n\n verifyNodeShape(node) {\n warning(\n () => !(node.children === undefined && node.isBranch === true),\n () => 'Are you meant to declare an unloaded branch node? ' +\n '`isBranch: true` is no longer supported, please use `children: null` instead.',\n )\n },\n\n select(node) {\n if (this.disabled || node.isDisabled) {\n return\n }\n\n if (this.single) {\n this.clear()\n }\n\n const nextState = this.multiple && !this.flat\n ? this.forest.checkedStateMap[node.id] === UNCHECKED\n : !this.isSelected(node)\n\n if (nextState) {\n this._selectNode(node)\n } else {\n this._deselectNode(node)\n }\n\n this.buildForestState()\n\n if (nextState) {\n this.$emit('select', node.raw, this.getInstanceId())\n } else {\n this.$emit('deselect', node.raw, this.getInstanceId())\n }\n\n if (this.localSearch.active && nextState && (this.single || this.clearOnSelect)) {\n this.resetSearchQuery()\n }\n\n if (this.single && this.closeOnSelect) {\n this.closeMenu()\n\n // istanbul ignore else\n if (this.searchable) {\n this._blurOnSelect = true\n }\n }\n },\n\n clear() {\n if (this.hasValue) {\n if (this.single || this.allowClearingDisabled) {\n this.forest.selectedNodeIds = []\n } else /* if (this.multiple && !this.allowClearingDisabled) */ {\n this.forest.selectedNodeIds = this.forest.selectedNodeIds.filter(nodeId =>\n this.getNode(nodeId).isDisabled,\n )\n }\n\n this.buildForestState()\n }\n },\n\n // This is meant to be called only by `select()`.\n _selectNode(node) {\n if (this.single || this.disableBranchNodes) {\n return this.addValue(node)\n }\n\n if (this.flat) {\n this.addValue(node)\n\n if (this.autoSelectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (!this.isSelected(ancestor) && !ancestor.isDisabled) this.addValue(ancestor)\n })\n } else if (this.autoSelectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!this.isSelected(descendant) && !descendant.isDisabled) this.addValue(descendant)\n })\n }\n\n return\n }\n\n const isFullyChecked = (\n node.isLeaf ||\n (/* node.isBranch && */!node.hasDisabledDescendants) ||\n (/* node.isBranch && */this.allowSelectingDisabledDescendants)\n )\n if (isFullyChecked) {\n this.addValue(node)\n }\n\n if (node.isBranch) {\n this.traverseDescendantsBFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.addValue(descendant)\n }\n })\n }\n\n if (isFullyChecked) {\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (curr.children.every(this.isSelected)) this.addValue(curr)\n else break\n }\n }\n },\n\n // This is meant to be called only by `select()`.\n _deselectNode(node) {\n if (this.disableBranchNodes) {\n return this.removeValue(node)\n }\n\n if (this.flat) {\n this.removeValue(node)\n\n if (this.autoDeselectAncestors) {\n node.ancestors.forEach(ancestor => {\n if (this.isSelected(ancestor) && !ancestor.isDisabled) this.removeValue(ancestor)\n })\n } else if (this.autoDeselectDescendants) {\n this.traverseDescendantsBFS(node, descendant => {\n if (this.isSelected(descendant) && !descendant.isDisabled) this.removeValue(descendant)\n })\n }\n\n return\n }\n\n let hasUncheckedSomeDescendants = false\n if (node.isBranch) {\n this.traverseDescendantsDFS(node, descendant => {\n if (!descendant.isDisabled || this.allowSelectingDisabledDescendants) {\n this.removeValue(descendant)\n hasUncheckedSomeDescendants = true\n }\n })\n }\n\n if (\n node.isLeaf ||\n /* node.isBranch && */hasUncheckedSomeDescendants ||\n /* node.isBranch && */node.children.length === 0\n ) {\n this.removeValue(node)\n\n let curr = node\n while ((curr = curr.parentNode) !== NO_PARENT_NODE) {\n if (this.isSelected(curr)) this.removeValue(curr)\n else break\n }\n }\n },\n\n addValue(node) {\n this.forest.selectedNodeIds.push(node.id)\n this.forest.selectedNodeMap[node.id] = true\n },\n\n removeValue(node) {\n removeFromArray(this.forest.selectedNodeIds, node.id)\n delete this.forest.selectedNodeMap[node.id]\n },\n\n removeLastValue() {\n if (!this.hasValue) return\n if (this.single) return this.clear()\n const lastValue = getLast(this.internalValue)\n const lastSelectedNode = this.getNode(lastValue)\n this.select(lastSelectedNode) // deselect\n },\n\n saveMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) this.menu.lastScrollPosition = $menu.scrollTop\n },\n\n restoreMenuScrollPosition() {\n const $menu = this.getMenu()\n // istanbul ignore else\n if ($menu) $menu.scrollTop = this.menu.lastScrollPosition\n },\n },\n\n created() {\n this.verifyProps()\n this.resetFlags()\n },\n\n mounted() {\n if (this.autoFocus) this.focusInput()\n if (!this.options && !this.async && this.autoLoadRootOptions) this.loadRootOptions()\n if (this.alwaysOpen) this.openMenu()\n if (this.async && this.defaultOptions) this.handleRemoteSearch()\n },\n\n destroyed() {\n // istanbul ignore next\n this.toggleClickOutsideEvent(false)\n },\n}\n","\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","var render, staticRenderFns\nimport script from \"./HiddenFields.vue?vue&type=script&lang=js\"\nexport * from \"./HiddenFields.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4d48089a')) {\n api.createRecord('4d48089a', component.options)\n } else {\n api.reload('4d48089a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/HiddenFields.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Input.vue?vue&type=script&lang=js\"\nexport * from \"./Input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('54844eca')) {\n api.createRecord('54844eca', component.options)\n } else {\n api.reload('54844eca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Input.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Placeholder.vue?vue&type=script&lang=js\"\nexport * from \"./Placeholder.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('5a99d1f3')) {\n api.createRecord('5a99d1f3', component.options)\n } else {\n api.reload('5a99d1f3', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Placeholder.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./SingleValue.vue?vue&type=script&lang=js\"\nexport * from \"./SingleValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('03d19b89')) {\n api.createRecord('03d19b89', component.options)\n } else {\n api.reload('03d19b89', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/SingleValue.vue\"\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 348.333 348.333\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Delete.vue?vue&type=template&id=364b6320\"\nimport script from \"./Delete.vue?vue&type=script&lang=js\"\nexport * from \"./Delete.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('364b6320')) {\n api.createRecord('364b6320', component.options)\n } else {\n api.reload('364b6320', component.options)\n }\n module.hot.accept(\"./Delete.vue?vue&type=template&id=364b6320\", function () {\n api.rerender('364b6320', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Delete.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./MultiValueItem.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValueItem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6dd6c8ca')) {\n api.createRecord('6dd6c8ca', component.options)\n } else {\n api.reload('6dd6c8ca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValueItem.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MultiValue.vue?vue&type=script&lang=js\"\nexport * from \"./MultiValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('14fca5e8')) {\n api.createRecord('14fca5e8', component.options)\n } else {\n api.reload('14fca5e8', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MultiValue.vue\"\nexport default component.exports","\n","var render = function render() {\n var _vm = this,\n _c = _vm._self._c\n return _c(\n \"svg\",\n {\n attrs: {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 292.362 292.362\",\n },\n },\n [\n _c(\"path\", {\n attrs: {\n d: \"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\",\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","\n\n\n","import { render, staticRenderFns } from \"./Arrow.vue?vue&type=template&id=11186cd4\"\nimport script from \"./Arrow.vue?vue&type=script&lang=js\"\nexport * from \"./Arrow.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11186cd4')) {\n api.createRecord('11186cd4', component.options)\n } else {\n api.reload('11186cd4', component.options)\n }\n module.hot.accept(\"./Arrow.vue?vue&type=template&id=11186cd4\", function () {\n api.rerender('11186cd4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/icons/Arrow.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Control.vue?vue&type=script&lang=js\"\nexport * from \"./Control.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2fa0a0dd')) {\n api.createRecord('2fa0a0dd', component.options)\n } else {\n api.reload('2fa0a0dd', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Control.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Tip.vue?vue&type=script&lang=js\"\nexport * from \"./Tip.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9f31bdca')) {\n api.createRecord('9f31bdca', component.options)\n } else {\n api.reload('9f31bdca', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Tip.vue\"\nexport default component.exports","\n","\n","var render, staticRenderFns\nimport script from \"./Option.vue?vue&type=script&lang=js\"\nexport * from \"./Option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('3dddec25')) {\n api.createRecord('3dddec25', component.options)\n } else {\n api.reload('3dddec25', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Option.vue\"\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./Menu.vue?vue&type=script&lang=js\"\nexport * from \"./Menu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n","var render, staticRenderFns\nimport script from \"./MenuPortal.vue?vue&type=script&lang=js\"\nexport * from \"./MenuPortal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('4802d94a')) {\n api.createRecord('4802d94a', component.options)\n } else {\n api.reload('4802d94a', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/MenuPortal.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./Treeselect.vue?vue&type=script&lang=js\"\nexport * from \"./Treeselect.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/jes490/projects/conjointly/vue-treeselect/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('aebf116c')) {\n api.createRecord('aebf116c', component.options)\n } else {\n api.reload('aebf116c', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"src/components/Treeselect.vue\"\nexport default component.exports","\n","import Treeselect from './components/Treeselect'\nimport treeselectMixin from './mixins/treeselectMixin'\nimport './style.less'\n\nexport default Treeselect\nexport { Treeselect, treeselectMixin }\nexport {\n // Delayed loading.\n LOAD_ROOT_OPTIONS,\n LOAD_CHILDREN_OPTIONS,\n ASYNC_SEARCH,\n} from './constants'\n\nexport const VERSION = PKG_VERSION\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/components/Menu.vue b/src/components/Menu.vue index b28dd1e9..f5202b77 100644 --- a/src/components/Menu.vue +++ b/src/components/Menu.vue @@ -129,14 +129,15 @@ renderAsyncSearchMenuInner() { const { instance } = this const entry = instance.getRemoteSearchEntry() - const shouldShowSearchPromptTip = instance.trigger.searchQuery === '' - && !instance.defaultOptions - && instance.searchPromptText + const shouldShowSearchPromptTip = instance.trigger.searchQuery === '' && !instance.defaultOptions const shouldShowNoResultsTip = shouldShowSearchPromptTip ? false : entry.isLoaded && entry.options.length === 0 if (shouldShowSearchPromptTip) { + if (!instance.searchPromptText) { + return '' + } return this.renderSearchPromptTip() } else if (entry.isLoading) { return this.renderLoadingOptionsTip()