@abi-software/scaffoldvuer 0.1.52-beta.5 → 0.1.53-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scaffoldvuer.common.js +22311 -1865
- package/dist/scaffoldvuer.common.js.map +1 -1
- package/dist/scaffoldvuer.css +1 -1
- package/dist/scaffoldvuer.umd.js +22262 -1816
- package/dist/scaffoldvuer.umd.js.map +1 -1
- package/dist/scaffoldvuer.umd.min.js +1 -1
- package/dist/scaffoldvuer.umd.min.js.map +1 -1
- package/package-lock.json +4377 -7541
- package/package.json +4 -4
- package/src/App.vue +20 -7
- package/src/components/DropZone.vue +25 -3
- package/src/components/ScaffoldTooltip.vue +33 -33
- package/src/components/ScaffoldVuer.vue +102 -59
- package/src/components/TreeControls.vue +69 -67
- package/src/scripts/RendererModule.js +22 -7
- package/src/scripts/organsRenderer.js +38 -5
- package/src/scripts/utilities.js +34 -0
- package/vue.config.js +1 -1
- package/src/components/TraditionalControls.vue +0 -545
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://scaffoldvuer/webpack/universalModuleDefinition","webpack://scaffoldvuer/webpack/bootstrap","webpack://scaffoldvuer/external \"core-js/modules/es.symbol.iterator\"","webpack://scaffoldvuer/external \"element-ui/lib/checkbox-group\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/checkbox-group.css\"","webpack://scaffoldvuer/external \"element-ui/lib/select\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/select.css\"","webpack://scaffoldvuer/external \"element-ui/lib/tree\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.for-each\"","webpack://scaffoldvuer/external \"element-ui/lib/container\"","webpack://scaffoldvuer/external \"core-js/modules/web.dom-collections.iterator\"","webpack://scaffoldvuer/external \"element-ui/lib/main\"","webpack://scaffoldvuer/external \"core-js/modules/es.object.keys\"","webpack://scaffoldvuer/./src/components/OpacityControls.vue?cbe9","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://scaffoldvuer/external \"core-js/modules/web.url\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/loading.css\"","webpack://scaffoldvuer/external \"element-ui/lib/header\"","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?4f41","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/tabs.css\"","webpack://scaffoldvuer/external \"core-js/modules/es.number.to-fixed\"","webpack://scaffoldvuer/external \"element-ui/lib/tab-pane\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/color-picker.css\"","webpack://scaffoldvuer/external \"element-ui/lib/drawer\"","webpack://scaffoldvuer/external \"@abi-software/svg-sprite\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://scaffoldvuer/./src/components/TreeControls.vue?e3f9","webpack://scaffoldvuer/external \"element-ui/lib/color-picker\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/tree.css\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/drawer.css\"","webpack://scaffoldvuer/external \"lodash/uniq\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/header.css\"","webpack://scaffoldvuer/external \"core-js/modules/es.symbol.description\"","webpack://scaffoldvuer/external \"core-js/modules/es.regexp.exec\"","webpack://scaffoldvuer/./src/scripts/organsRenderer.js","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/checkbox.css\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://scaffoldvuer/./src/scripts/graphicsHighlight.js","webpack://scaffoldvuer/external \"core-js/modules/es.regexp.to-string\"","webpack://scaffoldvuer/external \"core-js/modules/es.symbol\"","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?7756","webpack://scaffoldvuer/external \"core-js/modules/es.array.slice\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://scaffoldvuer/external \"lodash/orderBy\"","webpack://scaffoldvuer/./src/scripts/BaseModule.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.index-of\"","webpack://scaffoldvuer/external \"element-ui/lib/locale/lang/en\"","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?1a2e","webpack://scaffoldvuer/external \"element-ui/lib/row\"","webpack://scaffoldvuer/external \"core-js/modules/es.number.constructor\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/typeof.js","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/col.css\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/main.css\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.splice\"","webpack://scaffoldvuer/external \"element-ui/lib/locale\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/option.css\"","webpack://scaffoldvuer/./src/scripts/RendererModule.js","webpack://scaffoldvuer/external \"core-js/modules/es.object.to-string\"","webpack://scaffoldvuer/external \"vue\"","webpack://scaffoldvuer/external \"element-ui/lib/tabs\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.iterator\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/icon.css\"","webpack://scaffoldvuer/./src/components/TreeControls.vue?dccf","webpack://scaffoldvuer/external \"core-js/modules/es.string.iterator\"","webpack://scaffoldvuer/external \"zincjs\"","webpack://scaffoldvuer/external \"element-ui/lib/popover\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/slider.css\"","webpack://scaffoldvuer/./src/scripts/annotation.js","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/tab-pane.css\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/base.css\"","webpack://scaffoldvuer/./src/scripts/eventNotifier.js","webpack://scaffoldvuer/external \"@soda/get-current-script\"","webpack://scaffoldvuer/external \"element-ui/lib/col\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/popover.css\"","webpack://scaffoldvuer/external \"element-ui/lib/slider\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.includes\"","webpack://scaffoldvuer/external \"element-ui/lib/loading\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/container.css\"","webpack://scaffoldvuer/external \"element-ui/lib/icon\"","webpack://scaffoldvuer/external \"element-ui/lib/checkbox\"","webpack://scaffoldvuer/external \"core-js/modules/es.function.name\"","webpack://scaffoldvuer/external \"core-js/modules/web.dom-collections.for-each\"","webpack://scaffoldvuer/external \"core-js/modules/es.string.replace\"","webpack://scaffoldvuer/external \"element-ui/lib/option\"","webpack://scaffoldvuer/./src/scripts/WebGL.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/readOnlyError.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.from\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.map\"","webpack://scaffoldvuer/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?8cb2","webpack://scaffoldvuer/./src/components/OpacityControls.vue?2819","webpack://scaffoldvuer/src/components/OpacityControls.vue","webpack://scaffoldvuer/./src/components/OpacityControls.vue?c7a4","webpack://scaffoldvuer/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://scaffoldvuer/./src/components/OpacityControls.vue","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?6e52","webpack://scaffoldvuer/src/components/ScaffoldTooltip.vue","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?2635","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue","webpack://scaffoldvuer/./src/components/TreeControls.vue?fad0","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://scaffoldvuer/src/components/TreeControls.vue","webpack://scaffoldvuer/./src/components/TreeControls.vue?35a6","webpack://scaffoldvuer/./src/components/TreeControls.vue","webpack://scaffoldvuer/src/components/ScaffoldVuer.vue","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?13bd","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue","webpack://scaffoldvuer/external \"core-js/modules/es.string.includes\"","webpack://scaffoldvuer/external \"element-ui/lib/theme-chalk/row.css\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.find\""],"names":["root","factory","exports","module","define","amd","self","this","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","require","_nonIterableSpread","TypeError","_iterableToArray","iter","iterator","Array","from","arrayLikeToArray","_arrayWithoutHoles","arr","isArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_toConsumableArray","THREE","OrgansSceneData","currentName","currentSystem","currentPart","currentSpecies","metaURL","viewURL","geometries","lines","glyphsets","pointsets","currentTime","timeVarying","OrgansViewer","ModelsLoaderIn","RendererModule","_this","pickerScene","undefined","sceneData","timeChangedCallbacks","sceneChangedCallbacks","organPartAddedCallbacks","finishDownloadCallback","modelsLoader","NDCCameraControl","typeName","getSceneData","updateTime","duration","scene","getDuration","actualTime","nerveMapIsActive","setMorphsTime","preRenderTimeUpdate","zincRenderer","getCurrentTime","length","nerveMap","additionalReader","setTime","toggleSyncControl","flag","cameraControl","getZincCameraControls","resetView","enableSyncControl","disableSyncControl","isSyncControl","setSyncControlZoomToBox","box","zoomToBox","setSyncControlCallback","callback","setEventCallback","setSyncControlCenterZoom","center","zoom","setCenterZoom","postRenderSelectedCoordinatesUpdate","selectedCenter","vector","Vector3","copy","coord","vectorToScreenXY","selectedScreenCoordinates","x","y","preRenderUpdateCallback","postRenderUpdateCallback","addTimeChangedCallback","push","setTexturePos","setSliderPos","addSceneChangedCallback","addOrganPartAddedCallback","setFinishDownloadCallback","unsetFinishDownloadCallback","getNamedObjectsToScreenCoordinates","camera","setFromMatrixPosition","obj","matrixWorld","widthHalf","width","heightHalf","height","project","getIdObjectFromIntersect","intersected","id","intersectedObject","userData","isMarker","parent","morph","annotations","getAnnotationsFromObjects","data","group","_pickingCallback","intersects","window_x","window_y","getIntersectedObject","idObject","coords","isGlyph","setSelectedByObjects","setSelectedByZincObject","getGlyphset","_hoverCallback","displayArea","style","cursor","setHighlightedByObjects","changeOrganPartsVisibilityForScene","type","findGeometriesWithGroupName","setVisibility","findGlyphsetsWithGroupName","findPointsetsWithGroupName","findLinesWithGroupName","changeGeometriesVisibility","changeGlyphsetsVisibility","changeLinesVisibility","changePointsetsVisibility","changeOrganPartsVisibility","typeIn","changeOrganPartsVisibilityCallback","changeBackgroundColour","backgroundColourString","colour","Color","internalRenderer","getThreeJSRenderer","setClearColor","addOrganPartToSceneData","zincObject","isGeometry","isGlyphset","isLines","isPointset","addOrganPart","systemName","partName","useDefautColour","isTimeVarying","setGeometryColour","annotation","region","getFullPath","species","system","part","groupName","_addOrganPartCallback","downloadCompletedCallback","settingsChanged","updateFieldvisibility","dataFields","geometryName","PartName","partDetails","getOrganDetails","SystemName","loadMetadataURL","getOrgansDirectoryPrefix","meta","getAvailableSpecies","availableSpecies","keysArray","keys","organsFileMap","index","setSceneData","speciesName","organsDetails","splice","loadOrgansFromURL","url","organScene","getSceneByName","clearAll","createScene","loadViewURL","setCurrentScene","graphicsHighlight","reset","zincCameraControl","enableRaycaster","setMouseButtonAction","alignCameraWithSelectedObject","transitionTime","objects","getSelected","alignObjectToCameraView","exportSettings","settings","instanceName","dialog","importSettings","setName","loadOrgans","initialise","initialiseRenderer","addPreRenderCallbackFunction","addPostRenderCallbackFunction","_arrayLikeToArray","len","arr2","GraphicsHighlight","currentHighlightedObjects","currentSelectedObjects","highlightColour","selectColour","originalColour","isDifferent","array1","array2","matched","j","getUnmatchingObjects","objectsArray1","objectsArray2","unmatchingObjects","setHighlighted","previousHighlightedObjects","resetHighlighted","array","fullList","getFullListOfObjects","material","emissive","setRGB","setSelected","previousHSelectedObjects","resetSelected","depthFunc","LessEqualDepth","_unsupportedIterableToArray","minLen","toString","slice","constructor","test","MODULE_CHANGE","ALL","DESTROYED","NAME_CHANGED","SETTINGS_CHANGED","BaseModule","onChangedCallbacks","eventNotifiers","callbackArray","publishChanges","eventType","publish","getName","destroy","addChangedCallback","includes","removeChangedCallback","indexOf","addNotifier","eventNotifier","_typeof","createRenderer","WEBGL","localContainer","document","createElement","localRenderer","isWebGLAvailable","Zinc","Renderer","window","defaultMaterialColor","initialiseVisualisation","playAnimation","warning","getWebGLErrorMessage","appendChild","rendererContainer","isZincObject","glyphset","propagateChanges","changed","EVENT_TYPE","MOVE","HIGHLIGHTED","setHighlightedByZincObject","setupLiveCoordinates","zincObjects","boundingBox","getBoundingBoxOfZincObjects","newSelectedCenter","getCenter","objectsToZincObjects","SELECTED","addGlyphToArray","glyph","getMesh","findObjectsByGroupName","forEachGlyph","setHighlightedByGroupName","setSelectedByGroupName","viewAll","setPlayRate","getPlayRate","displayAreaIn","returnedValue","animate","dispose","isAnnotation","SelectionEvent","eventTypeIn","identifiersIn","identifiers","Subscription","subscriberIn","callbackIn","targetedID","subscriber","targetEventType","getEventType","notify","source","ids","event","EventNotifier","subscriptions","subscribe","callbackFunction","subscription","unsubscribe","canvas","WebGLRenderingContext","getContext","e","isWebGL2Available","WebGL2RenderingContext","getErrorMessage","getWebGL2ErrorMessage","version","names","1","2","contexts","message","element","fontFamily","fontSize","fontWeight","textAlign","background","color","padding","margin","replace","innerHTML","_readOnlyError","Error","currentScript","getCurrentScript","src","match","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","ref","staticClass","attrs","tData","label","visible","staticStyle","on","$event","keyCode","backgroundChangeCallback","displayUI","isTransitioning","warningMessage","model","hoverVisabilities","$$v","$set","_e","arg","showToolitip","hideToolitip","_v","helpMode","$module","showColourPicker","objectSelected","objectHovered","drawerToggled","class","minimisedSlider","sliderPosition","nativeOn","play","timeMax","formatTooltip","timeStamps","timeChange","_s","orginalDuration","animateDuration","currentSpeed","speedChanged","_l","item","zoomIn","slot","zoomOut","fitWindow","currentBackground","open","drawerOpen","close","staticRenderFns","toggleDrawer","displayString","watch","_zincobject","setAlpha","opacity","mounted","methods","Math","floor","val","setObject","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component","display","props","String","default","Boolean","Number","computed","position","handler","immediate","treeData","checkChanged","scopedSlots","_u","fn","node","activeItem","active","regionPath","hoverItem","hover","changeActiveByNode","changeHoverByNode","getColour","myPopperClass","setColour","labelA","labelB","list","children","created","forEach","organsAdded","__nodeNumbers","destroyed","sortedPrimitiveGroups","addTreeItem","parentContainer","primitives","sort","nameSorting","a","b","$nextTick","findOrCreateRegion","getRootRegion","paths","childRegion","_paths","shift","path","regionData","child","checked","primitive","changeActiveByPrimitive","getVisibility","console","log","$emit","propagate","removeActive","removeHover","changeHoverByPrimitive","changeActiveByName","targetObject","changeHoverByName","clear","$refs","regionTree","updateKeyChildren","getFirstZincObjectWithGroupName","nodeData","graphic","hex","setColourHex","hexString","visibilityToggle","activeRegion","hoverRegion","setTreeVisibility","checkAllKeys","extractAllIds","keysList","setCheckedKeys","getState","checkedItems","setState","state","checkAll","map","components","MapSvgIcon","MapSvgSpriteColor","OpacityControls","ScaffoldTooltip","TreeControls","displayAtStartUp","displayWarning","displayMarkers","displayMinimap","minimapSettings","x_offset","y_offset","align","isPlaying","tooltipAppendToBody","inHelp","loading","availableBackground","playSpeed","defaultCheckedKeys","setFocusedRegion","deep","updateViewURL","setHelpMode","setDuration","toggleRendering","isReady","selectedObject","hoveredObject","_currentURL","eventNotifierCallback","ro","ResizeObserver","adjustLayout","observe","defaultRate","beforeDestroy","disconnect","captureScreenshotCallback","removePostRenderCallbackFunction","body","append","hrefElement","captureFilename","download","href","screenshot","click","remove","captureScreenshot","filename","captureID","min","sec","toFixed","changeZoomByScrollRateUnit","speed","stopFreeSpin","cameracontrol","stopAutoTumble","findObjectsWithGroupName","viewRegion","viewAllWithBoundingBox","getRendererInfo","info","freeSpin","enableAutoTumble","autoTumble","PI","setTimeout","treeControl","offsets","left","top","getCoordinatesOfSelected","getObjectsScreenXY","getDynamicSelectedCoordinates","normalizedTime","opacityControl","changeHighlightedByName","tooltipWait","tooltipNumber","clearTimeout","updateMinimapScissor","minimapScissor","updateRequired","updateSettingsfromScene","getMetadataTag","setURLFinishCallback","viewport","visibility","zincCameraControls","getCurrentViewport","setURLAndState","exportGLTF","binary","newValue","setURL","stopAnimate","forceResize","onWindowResize","syncControlCallback","payload"],"mappings":"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","file":"scaffoldvuer.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"scaffoldvuer\"] = factory();\n\telse\n\t\troot[\"scaffoldvuer\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\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 = \"fae3\");\n","module.exports = require(\"core-js/modules/es.symbol.iterator\");","module.exports = require(\"element-ui/lib/checkbox-group\");","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}\n\nmodule.exports = _nonIterableSpread;","module.exports = require(\"element-ui/lib/theme-chalk/checkbox-group.css\");","module.exports = require(\"element-ui/lib/select\");","module.exports = require(\"element-ui/lib/theme-chalk/select.css\");","module.exports = require(\"element-ui/lib/tree\");","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","module.exports = require(\"core-js/modules/es.array.for-each\");","module.exports = require(\"element-ui/lib/container\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator\");","module.exports = require(\"element-ui/lib/main\");","module.exports = require(\"core-js/modules/es.object.keys\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.vue?vue&type=style&index=0&id=4c00a30f&scoped=true&lang=scss&\"","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","module.exports = require(\"core-js/modules/web.url\");","module.exports = require(\"element-ui/lib/theme-chalk/loading.css\");","module.exports = require(\"element-ui/lib/header\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=style&index=0&id=7b24ee61&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/theme-chalk/tabs.css\");","module.exports = require(\"core-js/modules/es.number.to-fixed\");","module.exports = require(\"element-ui/lib/tab-pane\");","module.exports = require(\"element-ui/lib/theme-chalk/color-picker.css\");","module.exports = require(\"element-ui/lib/drawer\");","module.exports = require(\"@abi-software/svg-sprite\");","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/color-picker\");","module.exports = require(\"element-ui/lib/theme-chalk/tree.css\");","module.exports = require(\"element-ui/lib/theme-chalk/drawer.css\");","module.exports = require(\"lodash/uniq\");","module.exports = require(\"element-ui/lib/theme-chalk/header.css\");","module.exports = require(\"core-js/modules/es.symbol.description\");","module.exports = require(\"core-js/modules/es.regexp.exec\");","const THREE = require('zincjs').THREE;\n// Current model's associate data, data fields, external link, nerve map\n// informations,\n// these are proived in the organsFileMap array.\nconst OrgansSceneData = function() {\n this.currentName = \"\";\n this.currentSystem = \"\";\n this.currentPart = \"\";\n this.currentSpecies = \"\";\n this.metaURL = \"\";\n this.viewURL = \"\";\n this.geometries = [];\n this.lines = [];\n this.glyphsets = [];\n this.pointsets = [];\n this.currentTime = 0.0;\n this.timeVarying = false;\n}\n\n/**\n * Viewer of 3D-organs models. Users can toggle on/off different views. Data is\n * displayed instead if models are not available.\n * \n * @class\n * @param {PJP.ModelsLoader}\n * ModelsLoaderIn - defined in modelsLoade.js, providing locations of\n * files.\n * @param {String}\n * PanelName - Id of the target element to create the\n * {@link PJP.OrgansViewer} on.\n * @author Alan Wu\n * @returns {PJP.OrgansViewer}\n */\n const OrgansViewer = function(ModelsLoaderIn) {\n (require('./RendererModule').RendererModule).call(this);\n const _this = this;\n\tlet pickerScene = undefined;\n\tthis.sceneData = new OrgansSceneData();\n\tconst timeChangedCallbacks = new Array();\n\tconst sceneChangedCallbacks = new Array();\n const organPartAddedCallbacks = new Array();\n let finishDownloadCallback = undefined;\n\tconst modelsLoader = ModelsLoaderIn;\n this.NDCCameraControl = undefined;\n\t_this.typeName = \"Organ Viewer\";\n\t\n\tthis.getSceneData = function() {\n\t return _this.sceneData;\n\t}\n\n\t/**\n\t * Used to update internal timer in scene when time slider has changed.\n\t */\n\tthis.updateTime = function(value) {\n let duration = 6000;\n if (_this.scene)\n duration = _this.scene.getDuration();\n const actualTime = value / 100.0 * duration;\n\t\tif (!_this.sceneData.nerveMapIsActive) {\n\t\t\tif (pickerScene)\n\t\t\t\tpickerScene.setMorphsTime(actualTime);\n\t\t\tif (_this.scene)\n\t\t\t\t_this.scene.setMorphsTime(actualTime);\n\t\t}\n\t\t_this.sceneData.currentTime = value;\n\t}\n\t\n\t/**\n\t * Update the time slider and other renderers/scenes when time has changed.\n\t */\n const preRenderTimeUpdate = function() {\n let duration = 3000;\n if (_this.scene)\n duration = _this.scene.getDuration();\n const currentTime = _this.zincRenderer.getCurrentTime();\n\t\tfor (let i = 0; i < timeChangedCallbacks.length;i++) {\n\t\t\ttimeChangedCallbacks[i](currentTime);\n\t\t}\n\t\tif (!_this.sceneData.nerveMapIsActive && pickerScene)\n\t\t\tpickerScene.setMorphsTime(currentTime);\n\t\tif (_this.sceneData.nerveMap && _this.sceneData.nerveMap.additionalReader)\n _this.sceneData.nerveMap.additionalReader.setTime(currentTime / \n duration);\n\t\t_this.sceneData.currentTime = currentTime / duration * 100.0;\n }\n\n this.toggleSyncControl = (flag) => {\n let cameraControl = this.scene.getZincCameraControls();\n if (flag) {\n cameraControl.resetView();\n this.NDCCameraControl = cameraControl.enableSyncControl();\n } else {\n cameraControl.disableSyncControl();\n this.NDCCameraControl = undefined;\n }\n }\n\n this.isSyncControl = () => {\n return this.NDCCameraControl !== undefined;\n }\n\n this.setSyncControlZoomToBox = (box) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.zoomToBox(box, 2);\n }\n }\n\n this.setSyncControlCallback = (callback) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.setEventCallback(callback);\n }\n }\n\n this.setSyncControlCenterZoom = (center, zoom) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.setCenterZoom(center, zoom);\n }\n }\n \n const postRenderSelectedCoordinatesUpdate = function() {\n if (_this.selectedCenter) {\n const vector = new THREE.Vector3();\n vector.copy(_this.selectedCenter);\n const coord = _this.scene.vectorToScreenXY(vector);\n _this.selectedScreenCoordinates.x = coord.x;\n _this.selectedScreenCoordinates.y = coord.y;\n }\n }\n\t\n\tconst preRenderUpdateCallback = function() {\n\t\treturn function() {\n preRenderTimeUpdate();\n\t\t}\n }\n \n const postRenderUpdateCallback = function() {\n\t\treturn function() {\n postRenderSelectedCoordinatesUpdate();\n\t\t}\n\t}\n\t\n\t /**\n\t\t * Add a callback which will be called when time has changed\n\t\t */\n\tthis.addTimeChangedCallback = function(callback) {\n\t if (typeof(callback === \"function\"))\n\t timeChangedCallbacks.push(callback);\n\t}\n\t\n\tthis.setTexturePos = function(value) {\n\t\tif (_this.sceneData.nerveMap && _this.sceneData.nerveMap.additionalReader)\n\t\t\t_this.sceneData.nerveMap.additionalReader.setSliderPos(value);\n\t}\n\n\tthis.addSceneChangedCallback = function(callback) {\n\t if (typeof(callback === \"function\")) {\n\t sceneChangedCallbacks.push(callback);\n\t }\n\t}\n\t\n\tthis.addOrganPartAddedCallback = function(callback) {\n if (typeof(callback === \"function\"))\n organPartAddedCallbacks.push(callback);\n }\n\n this.setFinishDownloadCallback = function(callback) {\n if (typeof(callback === \"function\"))\n finishDownloadCallback = callback;\n }\n\n this.unsetFinishDownloadCallback = function() {\n finishDownloadCallback = undefined;\n }\n\n this.getNamedObjectsToScreenCoordinates = function(name, camera) {\n const vector = new THREE.Vector3();\n vector.setFromMatrixPosition( obj.matrixWorld );\n const widthHalf = (width/2);\n const heightHalf = (height/2);\n vector.project(camera);\n vector.x = ( vector.x * widthHalf ) + widthHalf;\n vector.y = - ( vector.y * heightHalf ) + heightHalf;\n return vector;\n }\n\n const getIdObjectFromIntersect = function(intersected) {\n let id = undefined;\n let intersectedObject = undefined;\n if (intersected !== undefined) {\n if (intersected.object.userData && \n intersected.object.userData.isMarker) {\n intersectedObject = intersected.object.userData.parent.morph;\n } else {\n intersectedObject = intersected.object;\n }\n if (intersectedObject) {\n if (intersectedObject.name) {\n id = intersectedObject.name;\n } else {\n const annotations = _this.getAnnotationsFromObjects(\n [intersectedObject]);\n if (annotations && annotations[0]) {\n id = annotations[0].data.group;\n }\n }\n }\n }\n return {\"id\":id, \"object\":intersectedObject};\n }\n\t \n\t/**\n\t * Callback function when a pickable object has been picked. It will then\n\t * call functions in tissueViewer and cellPanel to show corresponding\n\t * informations.\n\t * \n\t * @callback\n\t */\n const _pickingCallback = function() {\n\t\treturn function(intersects, window_x, window_y) {\n const intersected = _this.getIntersectedObject(intersects);\n const idObject = getIdObjectFromIntersect(intersected);\n const coords = { x: window_x, y: window_y };\n if (idObject.id) {\n if (idObject.object.userData.isGlyph) { \n if (idObject.object.name)\n _this.setSelectedByObjects([idObject.object], coords, true);\n else\n _this.setSelectedByZincObject(idObject.object.userData.getGlyphset(),\n coords, true);\n } else {\n _this.setSelectedByObjects([idObject.object], coords, true);\n }\n return;\n } else {\n\t\t\t\t_this.setSelectedByObjects([], coords, true);\n\t\t\t}\n\t\t}\n\t};\n\t\n\t/**\n\t * Callback function when a pickable object has been hovered over.\n\t * \n\t * @callback\n\t */\n const _hoverCallback = function() {\n\t\treturn function(intersects, window_x, window_y) {\n const intersected = _this.getIntersectedObject(intersects);\n const idObject = getIdObjectFromIntersect(intersected);\n const coords = { x: window_x, y: window_y };\n if (idObject.id) {\n _this.displayArea.style.cursor = \"pointer\";\n _this.setHighlightedByObjects([idObject.object], coords, true);\n return;\n }\n else {\n\t\t\t\t_this.displayArea.style.cursor = \"auto\";\n\t\t\t\t_this.setHighlightedByObjects([], coords, true);\n }\n\t\t}\n\t};\n\n\tconst changeOrganPartsVisibilityForScene = function(scene, name, value, type) {\n\t\tif (type == \"all\" || type == \"geometries\") {\n\t\t\tconst geometries = scene.findGeometriesWithGroupName(name);\n\t\t\tfor (let i = 0; i < geometries.length; i ++ ) {\n\t\t\t\tgeometries[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"glyphsets\") {\n\t\t\tconst glyphsets = scene.findGlyphsetsWithGroupName(name);\n\t\t\tfor (let i = 0; i < glyphsets.length; i ++ ) {\n\t\t\t\tglyphsets[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"pointsets\") {\n\t\t\tconst pointsets = scene.findPointsetsWithGroupName(name);\n\t\t\tfor (let i = 0; i < pointsets.length; i ++ ) {\n\t\t\t\tpointsets[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"lines\") {\n\t\t\tconst lines = scene.findLinesWithGroupName(name);\n\t\t\tfor (let i = 0; i < lines.length; i ++ ) {\n\t\t\t\tlines[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeGeometriesVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'geometries');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'geometries');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeGlyphsetsVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'glyphsets');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'glyphsets');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeLinesVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'lines');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'lines');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changePointsetsVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'pointsets');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'pointsets');\n }\n \t\t\t\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeOrganPartsVisibility = function(name, value, typeIn) {\n\t\tlet type = \"all\";\n\t\tif (typeIn !== undefined)\n\t\t\ttype = typeIn;\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, type);\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, type);\n\t}\n\t\n\tthis.changeOrganPartsVisibilityCallback = function(name) {\n\t\treturn function(value) {\n\t\t\t_this.changeOrganPartsVisibility(name, value);\n\t\t}\n\t}\n\t\t\t\n\tthis.changeBackgroundColour = function(backgroundColourString) {\n\t\tconst colour = new THREE.Color(backgroundColourString);\n\t\tif (_this.zincRenderer) {\n\t\t\tconst internalRenderer = _this.zincRenderer.getThreeJSRenderer();\n\t\t\tinternalRenderer.setClearColor( colour, 1 );\n\t\t}\n\t}\n\n\tconst addOrganPartToSceneData = function(zincObject) {\n if (zincObject.isGeometry) {\n _this.sceneData.geometries.push(zincObject);\n } else if (zincObject.isGlyphset) {\n _this.sceneData.glyphsets.push(zincObject);\n } else if (zincObject.isLines) {\n _this.sceneData.lines.push(zincObject);\n } else if (zincObject.isPointset) {\n _this.sceneData.pointsets.push(zincObject);\n }\n\t}\n\n\tconst addOrganPart = function(systemName, partName, useDefautColour, zincObject) {\n for (let i = 0; i < organPartAddedCallbacks.length;i++) {\n organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());\n }\n if (useDefautColour)\n modelsLoader.setGeometryColour(zincObject, systemName, partName);\n addOrganPartToSceneData(zincObject);\n\t\tconst annotation = new (require('./annotation').annotation)();\n const region = zincObject.region.getFullPath();\n\t\tannotation.data = {species:_this.sceneData.currentSpecies, system:systemName,\n part:partName, group:zincObject.groupName, region: region};\n\t\tzincObject.userData[\"annotation\"] = annotation;\n\t}\n\n\t /**\n\t\t * New organs geometry has been added to the scene, add UIs and make\n\t\t * sure the viewport is correct.\n\t\t */\n\t const _addOrganPartCallback = function(systemName, partName, useDefautColour) {\n\t return function(zincObject) {\n\t \taddOrganPart(systemName, partName, useDefautColour, zincObject);\n\t }\n\t }\n\t \n\t const downloadCompletedCallback = function() {\n\t\t return function() {\n\t\t\t _this.settingsChanged();\n\t\t\t _this.sceneData.timeVarying = _this.scene.isTimeVarying();\n if (finishDownloadCallback)\n finishDownloadCallback();\n\t\t }\n\t }\n\t \n\t const singleItemDownloadCompletedCallback = function(systemName, partName, useDefautColour) {\n return function(geometry) {\n addOrganPart(systemName, partName, useDefautColour, geometry);\n _this.settingsChanged();\n }\n\t }\n\t \n\t /**\n\t\t * Toggle data field displays. Data fields displays flow/pressure and <button @click=\"play\">Play</button>\n\t\t * other activities of the organs.\n\t\t */\n\t this.updateFieldvisibility = function(dataFields, value) {\n for ( let i = 0; i < dataFields.length; i ++ ) {\n if (value != i) {\n const geometryName = dataFields[i].PartName;\n _this.changeOrganPartsVisibility(geometryName, false);\n }\n }\n if (value > -1) {\n const partName = dataFields[value].PartName;\n if ((_this.scene.findGeometriesWithGroupName(partName).length > 0) ||\n (_this.scene.findGlyphsetsWithGroupName(partName).length > 0)) {\n _this.changeOrganPartsVisibility(partName, true);\n } else {\n const partDetails = getOrganDetails(dataFields[value].SystemName, partName);\n if (partDetails != undefined) {\n _this.scene.loadMetadataURL(modelsLoader.getOrgansDirectoryPrefix() + \"/\" + partDetails.meta);\n }\n }\n\t }\n\t }\n\t \n\t /**\n\t\t * Return an array containing name(s) of species that also contains the\n\t\t * currently displayed organs.\n\t\t * \n\t\t * @returns {Array} containing species name\n\t\t */\n\t this.getAvailableSpecies = function(currentSpecies, currentSystem, currentPart) {\n\t const availableSpecies = new Array();\n\t availableSpecies.push(\"none\");\n\t const keysArray = Object.keys(organsFileMap);\n\t for (index in keysArray) {\n\t const species = keysArray[index];\n\t if (species != currentSpecies) {\n\t if (organsFileMap[species].hasOwnProperty(currentSystem) &&\n\t organsFileMap[species][currentSystem].hasOwnProperty(currentPart)) {\n\t availableSpecies.push(species);\n\t }\n\t }\n\t }\n\t return availableSpecies;\n\t }\n\t \n\t const setSceneData = function(speciesName, systemName, partName, organsDetails) {\n _this.sceneData.nerveMapIsActive = false;\n _this.sceneData.nerveMap = undefined;\n _this.sceneData.metaURL = \"\";\n _this.sceneData.viewURL = \"\";\n _this.sceneData.currentSpecies = speciesName;\n _this.sceneData.currentSystem = systemName;\n\t\t\t_this.sceneData.currentPart = partName;\n\t\t\t_this.sceneData.currentTime = 0.0;\n\t\t\t_this.sceneData.geometries.splice(0);\n\t\t\t_this.sceneData.lines.splice(0);\n\t\t\t_this.sceneData.glyphsets.splice(0);\n\t\t\t_this.sceneData.pointsets.splice(0);\n\t\t\t_this.sceneData.timeVarying = false;\n // This is used as title\n let name = \"\";\n if (speciesName)\n name = speciesName + \"/\";\n if (systemName)\n name = systemName + \"/\";\n if (partName)\n name = partName;\n _this.sceneData.currentName = name;\n\t }\n\n\t this.loadOrgansFromURL = function(url, speciesName, systemName, partName, viewURL) {\n\t\t if (_this.zincRenderer) {\n\t\t\t if (partName && (_this.sceneData.metaURL !== url)) {\n\t\t\t setSceneData(speciesName, systemName, partName, undefined);\n\t\t\t const name = _this.sceneData.currentName;\n\t\t\t let organScene = _this.zincRenderer.getSceneByName(name);\n\t\t\t if (organScene) {\n\t\t\t \t organScene.clearAll();\n\t\t\t } else {\n\t\t\t \t organScene = _this.zincRenderer.createScene(name);\n\t\t\t }\n\t\t\t for (let i = 0; i < sceneChangedCallbacks.length;i++) {\n\t\t\t \t sceneChangedCallbacks[i](_this.sceneData);\n\t\t\t }\n\t\t\t if (viewURL && viewURL != \"\") {\n\t\t\t \t _this.sceneData.viewURL = viewURL;\n\t\t\t\t organScene.loadViewURL(_this.sceneData.viewURL);\n\t\t\t } else {\n\t\t\t \t _this.sceneData.viewURL = undefined;\n }\n\t\t\t _this.sceneData.metaURL = url;\n\t\t\t organScene.loadMetadataURL(url, _addOrganPartCallback(systemName, partName, false),\n\t\t\t \t downloadCompletedCallback());\t \n\t\t\t _this.scene = organScene;\n\t\t\t _this.zincRenderer.setCurrentScene(organScene);\n\t\t\t _this.graphicsHighlight.reset();\n\t\t\t const zincCameraControl = organScene.getZincCameraControls();\n\t\t\t zincCameraControl.enableRaycaster(organScene, _pickingCallback(), _hoverCallback());\n\t\t\t zincCameraControl.setMouseButtonAction(\"AUXILIARY\", \"ZOOM\");\n\t\t\t zincCameraControl.setMouseButtonAction(\"SECONDARY\", \"PAN\");\n\t\t\t }\n\t\t }\n\t }\n\t \t \n\t this.alignCameraWithSelectedObject = function(transitionTime) {\n\t const objects = _this.graphicsHighlight.getSelected();\n\t if (objects && objects[0] && objects[0].userData) {\n\t _this.scene.alignObjectToCameraView(objects[0].userData, transitionTime);\n\t }\n\t }\n\t \n\t this.exportSettings = function() {\n\t\t const settings = {};\n\t\t settings.name = _this.instanceName;\n\t\t if (_this.sceneData.currentSystem)\n\t\t\t settings.system = _this.sceneData.currentSystem;\n\t\t if (_this.sceneData.currentSpecies)\n\t\t\t settings.species = _this.sceneData.currentSpecies;\n\t\t if (_this.sceneData.currentPart)\n\t\t\t settings.part = _this.sceneData.currentPart;\n\t\t settings.metaURL = _this.sceneData.metaURL;\n\t\t if (_this.sceneData.viewURL)\n\t\t\t settings.viewURL = _this.sceneData.viewURL;\n\t\t settings.dialog = \"Organ Viewer\";\n\t\t return settings;\n\t }\n\t \n\t this.importSettings = function(settings) {\n\t\t if (settings && (settings.dialog == this.typeName)) {\n\t\t\t _this.setName(settings.name);\n\t\t\t if (settings.metaURL !== undefined && settings.metaURL != \"\") {\n\t\t\t\t _this.loadOrgansFromURL(settings.metaURL, settings.species,\n\t\t\t\t\tsettings.system, settings.part, settings.viewURL);\n\t\t\t } else {\n\t\t\t\t _this.loadOrgans(settings.species, settings.system, settings.part);\n\t\t\t }\n\t\t\t return true;\n\t\t }\n\t\t return false;\n\t }\n\t\t\n\t/**\n\t * initialise loading of the html layout for the organs panel, this is\n\t * called when the {@link PJP.OrgansViewer} is created.\n\t * \n\t * @async\n\t */\n\t const initialise = function() {\n\t _this.initialiseRenderer(undefined);\n\t if (_this.zincRenderer) {\n _this.zincRenderer.addPreRenderCallbackFunction(preRenderUpdateCallback());\n _this.zincRenderer.addPostRenderCallbackFunction(postRenderUpdateCallback());\n }\n }\n\t \n\tinitialise();\n\n}\n\nOrgansViewer.prototype = Object.create((require('./RendererModule').RendererModule).prototype);\nexports.OrgansViewer = OrgansViewer;\n","module.exports = require(\"element-ui/lib/theme-chalk/checkbox.css\");","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var THREE = require('zincjs').THREE;\n\n/**\n * This module manages highlighted and selected objects in 3D modules. \n * \n * @class\n * @returns {exports.GraphicsHighlight}\n */\nexports.GraphicsHighlight = function() {\n let currentHighlightedObjects = [];\n let currentSelectedObjects = [];\n this.highlightColour = [1, 0, 0];\n this.selectColour = [0, 1, 0];\n this.originalColour = [0, 0, 0];\n const _this = this;\n\n const isDifferent = function(array1, array2) {\n if ((array1.length == 0) && (array2.length == 0))\n return false; \n for (let i = 0; i < array1.length; i++) {\n let matched = false;\n for (let j = 0; j < array2.length; j++) {\n if (array1[i] === array2[j]) {\n matched = true;\n }\n }\n if (!matched)\n return true;\n }\n for (let i = 0; i < array2.length; i++) {\n let matched = false;\n for (let j = 0; j < array1.length; j++) {\n if (array2[i] === array1[j]) {\n matched = true;\n }\n }\n if (!matched)\n return true;\n }\n return false;\n }\n \n const getUnmatchingObjects = function(objectsArray1, objectsArray2) {\n const unmatchingObjects = [];\n if (objectsArray2.length == 0)\n return objectsArray1;\n for (let i = 0; i < objectsArray1.length; i++) {\n let matched = false;\n for (let j = 0; j < objectsArray2.length; j++) {\n if (objectsArray1[i] === objectsArray2[j]) {\n matched = true;\n }\n }\n if (!matched)\n unmatchingObjects.push(objectsArray1[i]);\n }\n return unmatchingObjects;\n }\n \n this.setHighlighted = function(objects) {\n const previousHighlightedObjects = currentHighlightedObjects;\n _this.resetHighlighted();\n // Selected object cannot be highlighted\n const array = getUnmatchingObjects(objects, currentSelectedObjects);\n const fullList = getFullListOfObjects(array);\n for (let i = 0; i < fullList.length; i++) {\n if (fullList[i] && fullList[i].material && fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.highlightColour);\n }\n currentHighlightedObjects = array;\n return isDifferent(currentHighlightedObjects, previousHighlightedObjects);\n }\n\n this.setSelected = function(objects) {\n // first find highlighted object that are not selected\n const previousHSelectedObjects = currentSelectedObjects;\n const array = getUnmatchingObjects(currentHighlightedObjects, objects);\n currentHighlightedObjects = array;\n _this.resetSelected();\n const fullList = getFullListOfObjects(objects);\n for (let i = 0; i < fullList.length; i++) {\n \tif (fullList[i] && fullList[i].material && fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.selectColour);\n }\n currentSelectedObjects = objects;\n return isDifferent(currentSelectedObjects, previousHSelectedObjects);\n }\n\n const getFullListOfObjects = function(objects) {\n let fullList = [];\n for (let i = 0; i < objects.length; i++) {\n if (objects[i].material)\n fullList.push(objects[i]);\n }\n return fullList;\n }\n \n this.resetHighlighted = function() {\n const fullList = getFullListOfObjects(currentHighlightedObjects);\n for (let i = 0; i < fullList.length; i++) {\n if (fullList[i] && fullList[i].material) {\n if (fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.originalColour);\n if (fullList[i].material.depthFunc)\n fullList[i].material.depthFunc = THREE.LessEqualDepth;\n }\n }\n currentHighlightedObjects = [];\n }\n \n this.resetSelected = function() {\n const fullList = getFullListOfObjects(currentSelectedObjects);\n for (let i = 0; i < fullList.length; i++) {\n \tif (fullList[i] && fullList[i].material) {\n \t\tif (fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.originalColour);\n \t\tif (fullList[i].material.depthFunc)\n fullList[i].material.depthFunc = THREE.LessEqualDepth;\n \t}\n }\n currentSelectedObjects = [];\n }\n \n this.getSelected = function() {\n return currentSelectedObjects;\n }\n \n this.reset = function() {\n _this.resetSelected();\n _this.resetHighlighted();\n }\n}\n","module.exports = require(\"core-js/modules/es.regexp.to-string\");","module.exports = require(\"core-js/modules/es.symbol\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&\"","module.exports = require(\"core-js/modules/es.array.slice\");","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","module.exports = require(\"lodash/orderBy\");","const MODULE_CHANGE = { ALL: 0, DESTROYED: 1, NAME_CHANGED: 2, SETTINGS_CHANGED: 3 };\n\nconst BaseModule = function() {\n this.typeName = \"Base Module\";\n this.instanceName = \"default\";\n this.onChangedCallbacks = [];\n /** Notifier handle for informing other modules of any changes **/\n this.eventNotifiers = [];\n}\n\nBaseModule.prototype.setName = function(name) {\n if (name && this.instanceName !== name) {\n this.instanceName = name;\n const callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.NAME_CHANGED );\n }\n }\n}\n\nBaseModule.prototype.settingsChanged = function() {\n\tconst callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.SETTINGS_CHANGED );\n }\n}\n\nBaseModule.prototype.exportSettings = function() {\n const settings = {};\n settings.dialog = this.typeName;\n settings.name = this.instanceName;\n return settings;\n}\n\nBaseModule.prototype.importSettings = function(settings) {\n\tif (settings.dialog == this.typeName) {\n\t\tthis.setName(settings.name);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nBaseModule.prototype.publishChanges = function(annotations, eventType) {\n for (let i = 0; i < this.eventNotifiers.length; i++) {\n this.eventNotifiers[i].publish(this, eventType, annotations);\n }\n}\n\nBaseModule.prototype.getName = function() {\n return this.instanceName;\n}\n\nBaseModule.prototype.destroy = function() {\n //Make a temorary copy as the array may be altered during the loop\n const callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.DESTROYED );\n }\n\n delete this;\n} \n\nBaseModule.prototype.addChangedCallback = function(callback) {\n if (this.onChangedCallbacks.includes(callback) == false)\n this.onChangedCallbacks.push(callback);\n}\n\nBaseModule.prototype.removeChangedCallback = function(callback) {\n const index = this.onChangedCallbacks.indexOf(callback);\n if (index > -1) {\n this.onChangedCallbacks.splice(index, 1);\n }\n} \n\nBaseModule.prototype.addNotifier = function(eventNotifier) {\n this.eventNotifiers.push(eventNotifier);\n}\n\nexports.BaseModule = BaseModule;\nexports.MODULE_CHANGE = MODULE_CHANGE;\n","module.exports = require(\"core-js/modules/es.array.index-of\");","module.exports = require(\"element-ui/lib/locale/lang/en\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=style&index=0&id=2ff3bbca&scoped=true&lang=scss&\"","module.exports = require(\"element-ui/lib/row\");","module.exports = require(\"core-js/modules/es.number.constructor\");","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","module.exports = require(\"element-ui/lib/theme-chalk/col.css\");","module.exports = require(\"element-ui/lib/theme-chalk/main.css\");","module.exports = require(\"core-js/modules/es.array.splice\");","module.exports = require(\"element-ui/lib/locale\");","module.exports = require(\"element-ui/lib/theme-chalk/option.css\");","const THREE = require('zincjs').THREE;\n\n/**\n * Create a {@link Zinc.Renderer} on the dom element with corresponding elementID.\n * @param {String} elementID - id of the target dom element.\n * @returns {Zinc.Renderer}\n */\nconst createRenderer = function () {\n const WEBGL = require('./WebGL').WEBGL;\n const localContainer = document.createElement( 'div' );\n let localRenderer = undefined;;\n localContainer.style.height = \"100%\";\n if (WEBGL.isWebGLAvailable()) {\n const Zinc = require('zincjs');\n localRenderer = new Zinc.Renderer(localContainer, window);\n Zinc.defaultMaterialColor = 0xFFFF9C;\n localRenderer.initialiseVisualisation();\n localRenderer.playAnimation = false;\n } else {\n const warning = WEBGL.getWebGLErrorMessage();\n localContainer.appendChild(warning);\n }\n return {\"renderer\":localRenderer, \"container\":localContainer};\n}\n\nconst RendererModule = function() {\n (require('./BaseModule').BaseModule).call(this);\n this.scene = undefined;\n this.rendererContainer = undefined;\n this.displayArea = undefined;\n this.graphicsHighlight = new (require(\"./graphicsHighlight\").GraphicsHighlight)();\n this.zincRenderer = null;\n this.selectedScreenCoordinates = new THREE.Vector3();\n this.selectedCenter = undefined;\n}\n\nRendererModule.prototype = Object.create((require('./BaseModule').BaseModule).prototype);\n\n/**\n * This function will get the the first intersected object with name or\n * the first glyph object with name.\n */\nRendererModule.prototype.getIntersectedObject = function(intersects) {\n\tif (intersects) {\n\t\tfor (let i = 0; i < intersects.length; i++) {\n\t\t\tif (intersects[i] !== undefined) {\n\t\t\t\tif (intersects[i].object &&\n intersects[i].object.userData && \n intersects[i].object.userData.isZincObject && \n ((intersects[i].object.name && \n intersects[i].object.name !== \"_Unnamed\") ||\n intersects[i].object.userData.isMarker))\n\t\t\t\t\treturn intersects[i];\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n}\n\nRendererModule.prototype.getAnnotationsFromObjects = function(objects) {\n const annotations = [];\n for (var i = 0; i < objects.length; i++) {\n const zincObject = objects[i].userData;\n let annotation = undefined;\n if (zincObject) {\n if (zincObject.isGlyph || zincObject.isGlyphset) {\n const glyphset = zincObject;\n if (zincObject.isGlyph)\n glyphset = zincObject.getGlyphset();\n annotation = glyphset.userData ? glyphset.userData.annotation : undefined;\n if (annotation && annotation.data) {\n if (objects[i].name && objects[i].name != \"\")\n annotation.data.id = objects[i].name;\n else\n annotation.data.id = glyphset.groupName;\n }\n } else {\n annotation = zincObject.userData ? zincObject.userData.annotation : undefined;\n if (annotation && annotation.data){\n annotation.data.id = objects[i].name;\n }\n }\n }\n if (annotation)\n annotations.push(annotation);\n }\n\treturn annotations;\n}\n\nRendererModule.prototype.setHighlightedByObjects = function(\n objects, coords, propagateChanges) {\n const changed = this.graphicsHighlight.setHighlighted(objects);\n if (propagateChanges) {\n eventType = require(\"./eventNotifier\").EVENT_TYPE.MOVE;\n if (changed)\n eventType = require(\"./eventNotifier\").EVENT_TYPE.HIGHLIGHTED;\n const annotations = this.getAnnotationsFromObjects(objects);\n if (annotations.length > 0)\n annotations[0].coords = coords;\n this.publishChanges(annotations, eventType);\n }\n return changed;\n}\n\n\nRendererModule.prototype.setHighlightedByZincObject = function(\n zincObject, coords, propagateChanges) {\n return this.setHighlightedByObjects([zincObject ? zincObject.morph : undefined], coords,propagateChanges);\n}\n\nRendererModule.prototype.setupLiveCoordinates = function(zincObjects) {\n if (zincObjects && (zincObjects.length > 0)) {\n const boundingBox = this.scene.getBoundingBoxOfZincObjects(zincObjects);\n let newSelectedCenter = new THREE.Vector3();\n boundingBox.getCenter(newSelectedCenter);\n if (this.selectedCenter == undefined)\n this.selectedCenter = newSelectedCenter;\n else {\n this.selectedCenter.x = newSelectedCenter.x;\n this.selectedCenter.y = newSelectedCenter.y;\n }\n } else {\n this.selectedCenter = undefined;\n }\n}\n\nRendererModule.prototype.objectsToZincObjects = function(objects) {\n const zincObjects = [];\n for (let i = 0; i < objects.length; i++) {\n let zincObject = objects[i].userData;\n if (zincObject) {\n if (zincObject.isGlyph || zincObject.isGlyphset) {\n let glyphset = zincObject;\n if (zincObject.isGlyph)\n glyphset = zincObject.getGlyphset();\n zincObjects. push(glyphset);\n } else {\n zincObjects. push(zincObject);\n }\n }\n }\n return zincObjects;\n}\n\n\nRendererModule.prototype.setSelectedByObjects = function(\n objects, coords, propagateChanges) {\n const changed = this.graphicsHighlight.setSelected(objects);\n if (changed) {\n const zincObjects = this.objectsToZincObjects(objects);\n this.setupLiveCoordinates(zincObjects);\n if (propagateChanges) {\n const eventType = require(\"./eventNotifier\").EVENT_TYPE.SELECTED;\n const annotations = this.getAnnotationsFromObjects(objects);\n if (annotations.length > 0)\n annotations[0].coords = coords;\n this.publishChanges(annotations, eventType);\n }\n }\n return changed;\n}\n\nRendererModule.prototype.setSelectedByZincObject = function(\n zincObject, coords, propagateChanges) {\n return this.setSelectedByObjects([zincObject ? zincObject.morph : undefined],\n coords, propagateChanges);\n}\n\nconst addGlyphToArray = function(objects) {\n return function(glyph) {\n objects.push(glyph.getMesh());\n }\n}\n\nRendererModule.prototype.findObjectsByGroupName = function(groupName) {\n const geometries = this.scene.findGeometriesWithGroupName(groupName);\n const objects = [];\n for (let i = 0; i < geometries.length; i ++ ) {\n objects.push(geometries[i].morph);\n }\n const glyphsets = this.scene.findGlyphsetsWithGroupName(groupName);\n for (let i = 0; i < glyphsets.length; i ++ ) {\n glyphsets[i].forEachGlyph(addGlyphToArray(objects));\n }\n \n return objects;\n}\n\nRendererModule.prototype.setHighlightedByGroupName = function(groupName, propagateChanges) {\n const objects = this.findObjectsByGroupName(groupName);\n return this.setHighlightedByObjects(objects, undefined, propagateChanges);\n}\n\nRendererModule.prototype.setSelectedByGroupName = function(groupName, propagateChanges) {\n const objects = this.findObjectsByGroupName(groupName);\n return this.setSelectedByObjects(objects, undefined, propagateChanges);\n}\n\nRendererModule.prototype.changeBackgroundColour = function(backgroundColourString) {\n const colour = new THREE.Color(backgroundColourString);\n if (this.zincRenderer) {\n let internalRenderer = this.zincRenderer.getThreeJSRenderer();\n internalRenderer.setClearColor( colour, 1 );\n }\n}\n\nRendererModule.prototype.resetView = function() {\n if (this.zincRenderer)\n this.zincRenderer.resetView();\n}\n \nRendererModule.prototype.viewAll = function() {\n if (this.zincRenderer)\n this.zincRenderer.viewAll();\n}\n\n/**\n * Start the animation and let the renderer to processs with\n * time progression\n */\nRendererModule.prototype.playAnimation = function(flag) {\n if (this.zincRenderer)\n this.zincRenderer.playAnimation = flag;\n}\n\n/**\n* Set the speed of playback\n*/\nRendererModule.prototype.setPlayRate = function(value) {\n if (this.zincRenderer)\n this.zincRenderer.setPlayRate(value);\n}\n\n/**\n* Get the speed of playback\n*/\nRendererModule.prototype.getPlayRate = function(value) {\n if (this.zincRenderer)\n return this.zincRenderer.getPlayRate();\n else\n return 0.0;\n}\n \n /** Initialise everything in the renderer, including the 3D renderer,\n * and picker for the 3D renderer.\n * \n */\nRendererModule.prototype.initialiseRenderer = function(displayAreaIn) {\n if (this.zincRenderer === undefined || this.rendererContainer === undefined) {\n let returnedValue = createRenderer();\n this.zincRenderer = returnedValue[\"renderer\"];\n this.rendererContainer = returnedValue[\"container\"];\n }\n if (displayAreaIn) {\n this.displayArea = displayAreaIn;\n this.displayArea.appendChild( this.rendererContainer );\n if (this.zincRenderer)\n this.zincRenderer.animate();\n }\n}\n\nRendererModule.prototype.destroy = function() {\n if (this.zincRenderer) {\n this.zincRenderer.dispose();\n this.zincRenderer.getThreeJSRenderer().dispose();\n this.zincRenderer = undefined;\n }\n (require('./BaseModule').BaseModule).prototype.destroy.call( this );\n}\n\nexports.RendererModule = RendererModule;","module.exports = require(\"core-js/modules/es.object.to-string\");","module.exports = require(\"vue\");","module.exports = require(\"element-ui/lib/tabs\");","module.exports = require(\"core-js/modules/es.array.iterator\");","module.exports = require(\"element-ui/lib/theme-chalk/icon.css\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=style&index=1&lang=css&\"","module.exports = require(\"core-js/modules/es.string.iterator\");","module.exports = require(\"zincjs\");","module.exports = require(\"element-ui/lib/popover\");","module.exports = require(\"element-ui/lib/theme-chalk/slider.css\");","exports.annotation = function() {\n this.type = \"anatomical\";\n this.data = undefined;\n this.isAnnotation = true;\n}\n","module.exports = require(\"element-ui/lib/theme-chalk/tab-pane.css\");","module.exports = require(\"element-ui/lib/theme-chalk/base.css\");","const EVENT_TYPE = { ALL: 0, SELECTED: 1, HIGHLIGHTED: 2, MOVE: 3 };\n\nconst SelectionEvent = function(eventTypeIn, identifiersIn) {\n this.eventType = eventTypeIn;\n this.identifiers = identifiersIn;\n}\n\nconst returnFullID = function(sourceId) {\n //return full annotations with all different name\n}\n \nconst Subscription = function(subscriberIn, callbackIn, eventType) {\n this.targetedID = [];\n const subscriber = subscriberIn;\n const callback = callbackIn;\n this.targetEventType = eventType;\n const _this = this;\n\n if (eventType === undefined)\n this.targetEventType = EVENT_TYPE.ALL;\n \n this.getEventType = function() {\n return eventType;\n }\n \n this.notify = function(source, eventType, ids) {\n if (source !== subscriber && (_this.targetEventType === EVENT_TYPE.ALL ||\n _this.targetEventType === eventType)) {\n //should support different type of id e.g lyph, name, fmas...\n //need a function that finds all relavant ids\n const event = new SelectionEvent(eventType, ids);\n callback(event);\n }\n }\n}\n\nexports.EventNotifier = function() {\n const subscriptions = [];\n \n this.publish = function(source, eventType, id) {\n for (let i = 0; i < subscriptions.length;i++) {\n subscriptions[i].notify(source, eventType, id);\n }\n }\n \n this.subscribe = function(subscriber, callbackFunction, eventType) {\n if (typeof callbackFunction === \"function\") {\n const subscription = new Subscription(subscriber, callbackFunction, eventType);\n subscriptions.push(subscription);\n return subscription;\n }\n return undefined;\n }\n \n this.unsubscribe = function(subscription) {\n for (let i = 0; i < subscriptions.length;i++) {\n if (subscription === subscriptions[i]) {\n subscriptions.splice(i, 1);\n return;\n }\n }\n }\n} \n\nexports.EVENT_TYPE = EVENT_TYPE;\n","module.exports = require(\"@soda/get-current-script\");","module.exports = require(\"element-ui/lib/col\");","module.exports = require(\"element-ui/lib/theme-chalk/popover.css\");","module.exports = require(\"element-ui/lib/slider\");","module.exports = require(\"core-js/modules/es.array.includes\");","module.exports = require(\"element-ui/lib/loading\");","module.exports = require(\"element-ui/lib/theme-chalk/container.css\");","module.exports = require(\"element-ui/lib/icon\");","module.exports = require(\"element-ui/lib/checkbox\");","module.exports = require(\"core-js/modules/es.function.name\");","module.exports = require(\"core-js/modules/web.dom-collections.for-each\");","module.exports = require(\"core-js/modules/es.string.replace\");","module.exports = require(\"element-ui/lib/option\");","/**\n * @author alteredq / http://alteredqualia.com/\n * @author mr.doob / http://mrdoob.com/\n */\n\nexports.WEBGL = {\n\n\tisWebGLAvailable: function () {\n\n\t\ttry {\n\n\t\t\tvar canvas = document.createElement( 'canvas' );\n\t\t\treturn !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) );\n\n\t\t} catch ( e ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t},\n\n\tisWebGL2Available: function () {\n\n\t\ttry {\n\n\t\t\tvar canvas = document.createElement( 'canvas' );\n\t\t\treturn !! ( window.WebGL2RenderingContext && canvas.getContext( 'webgl2' ) );\n\n\t\t} catch ( e ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t},\n\n\tgetWebGLErrorMessage: function () {\n\n\t\treturn this.getErrorMessage( 1 );\n\n\t},\n\n\tgetWebGL2ErrorMessage: function () {\n\n\t\treturn this.getErrorMessage( 2 );\n\n\t},\n\n\tgetErrorMessage: function ( version ) {\n\n\t\tvar names = {\n\t\t\t1: 'WebGL',\n\t\t\t2: 'WebGL 2'\n\t\t};\n\n\t\tvar contexts = {\n\t\t\t1: window.WebGLRenderingContext,\n\t\t\t2: window.WebGL2RenderingContext\n\t\t};\n\n\t\tvar message = 'This module requires <a href=\"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation\" style=\"color:#008\">$1</a> support but your $0 does not seem to support it.';\n\n\t\tvar element = document.createElement( 'div' );\n\t\telement.id = 'webglmessage';\n\t\telement.style.fontFamily = 'monospace';\n\t\telement.style.fontSize = '20px';\n\t\telement.style.fontWeight = 'normal';\n\t\telement.style.textAlign = 'center';\n\t\telement.style.background = '#fff';\n\t\telement.style.color = '#000';\n\t\telement.style.padding = '1.5em';\n\t\telement.style.width = '400px';\n\t\telement.style.margin = '5em auto 0';\n\n\t\tif ( contexts[ version ] ) {\n\n\t\t\tmessage = message.replace( '$0', 'graphics card' );\n\n\t\t} else {\n\n\t\t\tmessage = message.replace( '$0', 'browser' );\n\n\t\t}\n\n\t\tmessage = message.replace( '$1', names[ version ] );\n\n\t\telement.innerHTML = message;\n\n\t\treturn element;\n\n\t}\n\n};\n","function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError;","module.exports = require(\"core-js/modules/es.array.from\");","module.exports = require(\"core-js/modules/es.array.map\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"scaffoldContainer\",staticClass:\"scaffold-container\",attrs:{\"element-loading-text\":\"Loading...\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.3)\"}},[_c('map-svg-sprite-color'),_c('scaffold-tooltip',{attrs:{\"label\":_vm.tData.label,\"visible\":_vm.tData.visible,\"x\":_vm.tData.x,\"y\":_vm.tData.y}}),_c('div',{ref:\"display\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"id\":\"organsDisplayArea\",\"tabindex\":\"-1\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.displayUI && !_vm.isTransitioning),expression:\"displayUI && !isTransitioning\"}]},[(_vm.displayWarning)?_c('el-popover',{ref:\"warningPopover\",attrs:{\"content\":_vm.warningMessage,\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"warning-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], \"value\", $$v)},expression:\"hoverVisabilities[6].value\"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:warningPopover\",arg:\"warningPopover\"}],staticClass:\"el-icon-warning warning-icon\",on:{\"mouseover\":function($event){return _vm.showToolitip(6)},\"mouseout\":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:\"warning-text\"},[_vm._v(\"Beta\")])]):_vm._e(),_c('el-popover',{ref:\"checkBoxPopover\",attrs:{\"content\":\"Change region visibility\",\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], \"value\", $$v)},expression:\"hoverVisabilities[5].value\"}}),_c('tree-controls',{directives:[{name:\"popover\",rawName:\"v-popover:checkBoxPopover\",arg:\"checkBoxPopover\"}],ref:\"treeControl\",attrs:{\"help-mode\":_vm.helpMode,\"module\":_vm.$module,\"show-colour-picker\":_vm.showColourPicker},on:{\"object-selected\":_vm.objectSelected,\"object-hovered\":_vm.objectHovered,\"drawer-toggled\":_vm.drawerToggled}}),_c('div',{staticClass:\"opacity-box\"},[_c('opacity-controls',{ref:\"opacityControl\"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:\"sliderPopover\",attrs:{\"content\":\"Move the slider to animate the region\",\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper top-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], \"value\", $$v)},expression:\"hoverVisabilities[4].value\"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:\"popover\",rawName:\"v-popover:sliderPopover\",arg:\"sliderPopover\"}],staticClass:\"time-slider-container\",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{\"type\":\"card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Animate scaffold\"}},[_c('el-row',{staticClass:\"tab-content\"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:\"icon-button video-button\",attrs:{\"icon\":\"pause\"},nativeOn:{\"click\":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:\"video-button icon-button\",attrs:{\"icon\":\"play\"},nativeOn:{\"click\":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:\"slider\",attrs:{\"min\":0,\"max\":_vm.timeMax,\"value\":_vm.sceneData.currentTime / 100 * _vm.timeMax,\"step\":0.1,\"tooltip-class\":\"time-slider-tooltip\",\"format-tooltip\":_vm.formatTooltip,\"marks\":_vm.timeStamps},on:{\"input\":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{\"label\":\"Animation data\"}},[_c('el-row',{staticClass:\"tab-content\"},[_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Original duration: \"),_c('div',{staticClass:\"purple\"},[_vm._v(\" \"+_vm._s(_vm.orginalDuration)+\" \")])]),_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Animation duration: \"),_c('div',{staticClass:\"purple\"},[_vm._v(\" \"+_vm._s(_vm.animateDuration)+\" \")])]),_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Playback speed \"),_c('el-select',{staticClass:\"select-box\",attrs:{\"popper-append-to-body\":true,\"value\":_vm.currentSpeed,\"placeholder\":\"Select\",\"popper-class\":\"scaffold_viewer_dropdown\"},on:{\"change\":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:\"bottom-right-control\"},[_c('el-popover',{attrs:{\"content\":\"Zoom in\",\"placement\":\"left\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper left-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], \"value\", $$v)},expression:\"hoverVisabilities[0].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomIn\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomIn\"},nativeOn:{\"click\":function($event){return _vm.zoomIn()},\"mouseover\":function($event){return _vm.showToolitip(0)},\"mouseout\":function($event){return _vm.hideToolitip(0)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Zoom out\",\"placement\":\"top-end\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper popper-zoomout non-selectable\"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], \"value\", $$v)},expression:\"hoverVisabilities[1].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomOut\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomOut\"},nativeOn:{\"click\":function($event){return _vm.zoomOut()},\"mouseover\":function($event){return _vm.showToolitip(1)},\"mouseout\":function($event){return _vm.hideToolitip(1)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], \"value\", $$v)},expression:\"hoverVisabilities[2].value\"}},[_c('div',[_vm._v(\" Fit to \"),_c('br'),_vm._v(\" window \")]),_c('map-svg-icon',{staticClass:\"icon-button fitWindow\",attrs:{\"slot\":\"reference\",\"icon\":\"fitWindow\"},nativeOn:{\"click\":function($event){return _vm.fitWindow()},\"mouseover\":function($event){return _vm.showToolitip(2)},\"mouseout\":function($event){return _vm.hideToolitip(2)}},slot:\"reference\"})],1)],1),_c('el-popover',{ref:\"backgroundPopover\",attrs:{\"placement\":\"top-start\",\"width\":\"128\",\"append-to-body\":false,\"trigger\":\"click\",\"popper-class\":\"background-popper non-selectable\"}},[_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\" Change background \")]),_c('el-row',{staticClass:\"backgroundChooser\"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{\"click\":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{\"content\":\"Change background color\",\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], \"value\", $$v)},expression:\"hoverVisabilities[3].value\"}},[_c('map-svg-icon',{directives:[{name:\"popover\",rawName:\"v-popover:backgroundPopover\",arg:\"backgroundPopover\"}],staticClass:\"icon-button background-colour\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{\"slot\":\"reference\",\"icon\":\"changeBckgd\"},nativeOn:{\"mouseover\":function($event){return _vm.showToolitip(3)},\"mouseout\":function($event){return _vm.hideToolitip(3)}},slot:\"reference\"})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.material!=undefined)?_c('div',{ref:\"control\",staticClass:\"opacity-control\"},[_c('el-drawer',{staticClass:\"drawer-content\",attrs:{\"custom-class\":\"my-drawer\",\"visible\":_vm.drawerOpen,\"append-to-body\":false,\"modal-append-to-body\":false,\"size\":\"300\",\"with-header\":false,\"wrapper-closable\":false,\"modal\":false},on:{\"update:visible\":function($event){_vm.drawerOpen=$event}}},[(_vm.drawerOpen)?_c('div',{staticClass:\"tab-button close\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-right\"})]):_vm._e(),_c('el-container',{staticClass:\"opacity-container\"},[_c('el-header',{staticClass:\"header\",attrs:{\"height\":\"37px\"}},[_c('div',[_vm._v(\"Opacity\")])]),_c('el-main',{staticClass:\"main\"},[_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"display\"},[_vm._v(_vm._s(_vm.displayString))]),_c('el-slider',{staticClass:\"my-slider\",attrs:{\"step\":0.01,\"min\":0,\"max\":1,\"format-tooltip\":_vm.formatTooltip,\"show-tooltip\":false},model:{value:(_vm.material.opacity),callback:function ($$v) {_vm.$set(_vm.material, \"opacity\", $$v)},expression:\"material.opacity\"}})],1)])],1)],1),(!_vm.drawerOpen)?_c('div',{staticClass:\"tab-button open\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div\n v-if=\"material!=undefined\"\n ref=\"control\"\n class=\"opacity-control\"\n >\n <el-drawer\n custom-class=\"my-drawer\"\n class=\"drawer-content\"\n :visible.sync=\"drawerOpen\"\n :append-to-body=\"false\"\n :modal-append-to-body=\"false\"\n size=\"300\"\n :with-header=\"false\"\n :wrapper-closable=\"false\"\n :modal=\"false\"\n >\n <div\n v-if=\"drawerOpen\"\n class=\"tab-button close\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-right\" />\n </div>\n <el-container class=\"opacity-container\">\n <el-header\n height=\"37px\"\n class=\"header\"\n >\n <div>Opacity</div>\n </el-header>\n <el-main class=\"main\">\n <div class=\"block\">\n <span class=\"display\">{{ displayString }}</span>\n <el-slider\n v-model=\"material.opacity\"\n class=\"my-slider\"\n :step=\"0.01\"\n :min=\"0\"\n :max=\"1\"\n :format-tooltip=\"formatTooltip\"\n :show-tooltip=\"false\"\n />\n </div>\n </el-main>\n </el-container>\n </el-drawer>\n <div\n v-if=\"!drawerOpen\"\n class=\"tab-button open\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-left\" />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Container, Drawer, Header, Icon, Main, Slider } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Container);\nVue.use(Drawer);\nVue.use(Header);\nVue.use(Icon);\nVue.use(Main);\nVue.use(Slider);\n\n/**\n * A component to control the opacity of the target object.\n */\nexport default {\n name: \"OpacityControls\",\n data: function() {\n return {\n displayString: \"100%\",\n material: undefined,\n drawerOpen: true\n };\n },\n watch: {\n \"material.opacity\": function() {\n if (this.material) {\n this._zincobject.setAlpha(this.material.opacity);\n }\n }\n },\n mounted: function() {\n this._zincobject = undefined;\n },\n methods: {\n formatTooltip(val) {\n this.displayString = Math.floor(100 * val + 0.5) + \"%\";\n return this.displayString;\n },\n toggleDrawer: function() {\n this.drawerOpen = !this.drawerOpen;\n },\n setObject(object) {\n if (object) this.material = object.morph.material;\n else this.material = undefined;\n this._zincobject = object;\n }\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/container\";\n@import \"~element-ui/packages/theme-chalk/src/drawer\";\n@import \"~element-ui/packages/theme-chalk/src/slider\";\n\n.opacity-control {\n text-align: left;\n width:300px;\n}\n\n.header {\n color: #606266;\n line-height: 1;\n padding: 9px 17px 0 15px;\n border-bottom: 1px solid #ebeef5;\n font-size: 14px;\n}\n\n.display {\n width: 44px;\n}\n\n.icon {\n right: 17px;\n position: absolute;\n top: 10px;\n}\n\n.main {\n font-size: 13px;\n padding: 20px 17px 0 15px;\n}\n\n.block {\n left: 40px;\n position: absolute;\n top: 57px;\n width: 200px;\n}\n\n.my-slider {\n position: absolute;\n width: 109px;\n top: -12px;\n left: 50px;\n pointer-events: auto;\n}\n\n.opacity-container {\n width: 224px;\n height: 93px;\n border-radius: 4px;\n border: solid 1px #d8dce6;\n background-color: #fff;\n}\n\n::v-deep .el-slider__bar {\n background-color: $app-primary-color;\n}\n\n.drawer-content {\n position: relative;\n height: 93px;\n pointer-events: none;\n}\n\n::v-deep .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n\n::v-deep .my-drawer .el-drawer__body {\n height: 93px;\n}\n\n.tab-button {\n width: 20px;\n height: 40px;\n z-index: 8;\n right: 0px;\n \n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #FFFFFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n //transition: bottom 0.3s;\n\n &.close {\n float: left;\n flex: 1;\n border-right: 0;\n margin-top: 26px;\n }\n\n &.open {\n position: absolute;\n bottom:26px;\n }\n\n i {\n margin-top: 12px;\n color: $app-primary-color;\n transform: scaleY(2.5);\n }\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&\"\nimport script from \"./OpacityControls.vue?vue&type=script&lang=js&\"\nexport * from \"./OpacityControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OpacityControls.vue?vue&type=style&index=0&id=4c00a30f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c00a30f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tooltipContainer\",style:(_vm.position)},[_c('el-popover',{ref:\"tooltip\",attrs:{\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"tooltip-popper non-selectable\"},model:{value:(_vm.display),callback:function ($$v) {_vm.display=$$v},expression:\"display\"}},[_c('div',[_vm._v(_vm._s(_vm.label))]),_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:tooltip\",arg:\"tooltip\"}]})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"position\" class=\"tooltipContainer\">\n <el-popover\n ref=\"tooltip\"\n v-model=\"display\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"tooltip-popper non-selectable\"\n >\n <div>{{ label }}</div>\n <i v-popover:tooltip />\n </el-popover>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Popover } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Popover);\n\n/**\n * A component to control the opacity of the target object.\n */\nexport default {\n name: \"ScaffoldTooltip\",\n props: {\n label: {\n type: String,\n default: \"\",\n },\n visible: {\n type: Boolean,\n default: false,\n },\n x: {\n type: Number,\n default: 200,\n },\n y: {\n type: Number,\n default: 200,\n },\n },\n data: function () {\n return {\n display: false,\n };\n },\n computed: {\n position: function () {\n return { left: this.x + \"px\", top: this.y - 30 + \"px\" };\n },\n },\n watch: {\n label: {\n handler: function () {\n if (this.visible && this.label && this.label !== \"\")\n this.display = true;\n else this.display = false;\n },\n immediate: true,\n },\n visible: {\n handler: function () {\n if (this.visible && this.label && this.label !== \"\")\n this.display = true;\n else this.display = false;\n },\n immediate: true,\n },\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/popover\";\n\n::v-deep .tooltip-popper {\n padding: 2px 6px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n font-size: 16px;\n color: $app-primary-color;\n background-color: #fff;\n border: 1px solid $app-primary-color;\n border-radius: 4px;\n white-space: nowrap;\n min-width: unset;\n pointer-events: none;\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #fff !important;\n }\n }\n }\n\n &.el-popper[x-placement^=\"bottom\"] {\n .popper__arrow {\n border-bottom-color: $app-primary-color !important;\n &:after {\n border-bottom-color: #fff !important;\n }\n }\n }\n}\n\n.tooltipContainer {\n position: absolute;\n height: 50px;\n z-index: 2;\n}\n\n::v-deep .non-selectable {\n user-select: none;\n pointer-events: none;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScaffoldTooltip.vue?vue&type=template&id=2ff3bbca&scoped=true&\"\nimport script from \"./ScaffoldTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./ScaffoldTooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScaffoldTooltip.vue?vue&type=style&index=0&id=2ff3bbca&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ff3bbca\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tree-controls\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:\"traditional-container\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"regions-display-text\"},[_vm._v(\" Regions \")])])],1),_c('div',{staticClass:\"tree-container\"},[_c('el-tree',{ref:\"regionTree\",attrs:{\"default-expand-all\":\"\",\"node-key\":\"id\",\"show-checkbox\":\"\",\"check-strictly\":true,\"data\":_vm.treeData,\"default-checked-keys\":['__r/'],\"expand-on-click-node\":false},on:{\"check\":_vm.checkChanged},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('span',{staticClass:\"region-tree-node\",class:{\n activeItem: \n (_vm.active.group === data.label && \n ((_vm.active.regionPath === data.regionPath) || \n _vm.active.regionPath === undefined)),\n hoverItem: \n (_vm.hover.group === data.label && \n ((_vm.hover.regionPath === data.regionPath) || \n _vm.hover.regionPath === undefined))\n },on:{\"click\":function($event){return _vm.changeActiveByNode(data, true)},\"mouseover\":function($event){return _vm.changeHoverByNode(data, true)}}},[(data.primitives)?_c('el-color-picker',{class:{ 'show-picker': _vm.showColourPicker },attrs:{\"value\":_vm.getColour(data),\"size\":\"small\",\"popper-class\":_vm.myPopperClass},on:{\"change\":function($event){return _vm.setColour(data, $event)}}}):_vm._e(),_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1)],1),_c('div',{staticClass:\"drawer-button\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _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(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default 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}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","<template>\n <div\n class=\"tree-controls\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n >\n <div class=\"traditional-container\">\n <el-row>\n <el-col :span=\"12\">\n <div class=\"regions-display-text\">\n Regions\n </div>\n </el-col>\n </el-row>\n <div class=\"tree-container\">\n <el-tree\n ref=\"regionTree\"\n default-expand-all\n node-key=\"id\"\n show-checkbox\n :check-strictly=\"true\"\n :data=\"treeData\"\n :default-checked-keys=\"['__r/']\"\n :expand-on-click-node=\"false\"\n @check=\"checkChanged\"\n >\n <span\n slot-scope=\"{ node, data }\"\n class=\"region-tree-node\"\n :class=\"{\n activeItem: \n (active.group === data.label && \n ((active.regionPath === data.regionPath) || \n active.regionPath === undefined)),\n hoverItem: \n (hover.group === data.label && \n ((hover.regionPath === data.regionPath) || \n hover.regionPath === undefined))\n }\"\n @click=\"changeActiveByNode(data, true)\"\n @mouseover=\"changeHoverByNode(data, true)\"\n >\n <el-color-picker\n v-if=\"data.primitives\"\n :class=\"{ 'show-picker': showColourPicker }\"\n :value=\"getColour(data)\"\n size=\"small\"\n :popper-class=\"myPopperClass\"\n @change=\"setColour(data, $event)\"\n />\n <span>{{ node.label }}</span>\n </span>\n </el-tree>\n </div>\n </div>\n <div\n class=\"drawer-button\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-left\" />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Checkbox, CheckboxGroup, ColorPicker, Row, Tree } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nconst orderBy = require(\"lodash/orderBy\");\nconst uniq = require(\"lodash/uniq\");\nlocale.use(lang);\nVue.use(Checkbox);\nVue.use(CheckboxGroup);\nVue.use(ColorPicker);\nVue.use(Row);\nVue.use(Tree);\n\nconst nameSorting = (a, b) => {\n const labelA = a.label.toUpperCase();\n const labelB = b.label.toUpperCase();\n if (labelA < labelB) {\n return -1;\n }\n if (labelA > labelB) {\n return 1;\n }\n return 0;\n};\n\nconst extractAllIds = (item, list) => {\n list.push(item.id);\n if (item.children)\n item.children.forEach(child => extractAllIds(child, list));\n}\n\n/**\n * A vue component for toggling visibility of various regions.\n */\nexport default {\n name: \"TreeControls\",\n props: {\n /**\n * @ignore\n */\n module: {\n type: Object,\n default: undefined,\n },\n /**\n * Enable/disable colour picker\n */\n showColourPicker: Boolean,\n },\n data: function () {\n return {\n treeData: [{ label: \"Root\", id: \"__r/\", children: [] }],\n active: {group: \"\", regionPath: undefined},\n hover: {group: \"\", regionPath: undefined},\n myPopperClass: \"hide-scaffold-colour-popup\",\n drawerOpen: true,\n };\n },\n watch: {\n showColourPicker: {\n immediate: true,\n handler: function () {\n if (this.showColourPicker) this.myPopperClass = \"showPicker\";\n else this.myPopperClass = \"hide-scaffold-colour-popup\";\n },\n },\n },\n created: function () {\n this.module.sceneData.geometries.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.lines.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.glyphsets.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.pointsets.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.addOrganPartAddedCallback(this.organsAdded);\n this.__nodeNumbers = 1;\n },\n destroyed: function () {\n this.sortedPrimitiveGroups = undefined;\n },\n methods: {\n addTreeItem: function (parentContainer, item) {\n for (let i = 0; i < parentContainer.length; i++) {\n if (parentContainer[i].id === item.id) {\n if (item.primitives && parentContainer[i].primitives) {\n parentContainer[i].primitives.push(...item.primitives);\n return;\n }\n }\n }\n parentContainer.push(item);\n parentContainer.sort((a, b) => {\n return nameSorting(a, b);\n });\n this.__nodeNumbers++;\n this.$nextTick(() => {\n this.$refs.regionTree.setChecked(item.id, true);\n });\n },\n // find or create new region, region id is always prefixed with\n // '__r/'\n findOrCreateRegion: function (data, paths, prefix) {\n //check if root region has been set\n if (!this.treeData[0].region && this.module && this.module.scene) {\n this.treeData[0].region = this.module.scene.getRootRegion();\n }\n\n if (paths.length > 0) {\n const _paths = [...paths];\n let childRegion = data.children.find(\n (child) => child.label == _paths[0]\n );\n const path = prefix + \"/\" + paths[0];\n const id = \"__r\" + path;\n if (!childRegion) {\n const region = this.treeData[0].region.findChildFromPath(path);\n childRegion = {\n label: _paths[0],\n id: id,\n children: [],\n region: region,\n };\n this.addTreeItem(data.children, childRegion);\n }\n _paths.shift();\n return this.findOrCreateRegion(childRegion, _paths, path);\n } else {\n return data;\n }\n },\n /**\n * This is called when a new organ is read into the scene.\n */\n organsAdded: function (zincObject) {\n const region = zincObject.region;\n if (region) {\n const paths = region.getFullSeparatedPath();\n const regionData = this.findOrCreateRegion(this.treeData[0], paths, \"\");\n if (zincObject.groupName) {\n if (regionData) {\n if (!regionData.children) {\n regionData.children = [];\n }\n let id =\n regionData.id.replace(\"__r/\", \"\") + \"/\" + zincObject.groupName;\n const child = {\n label: zincObject.groupName,\n id: id,\n primitives: [zincObject],\n regionPath: zincObject.region.getFullPath()\n };\n this.addTreeItem(regionData.children, child);\n }\n }\n }\n },\n checkChanged: function (node, data) {\n let checked = data.checkedKeys.includes(node.id);\n if (node.region) node.region.setVisibility(checked);\n if (node.primitives) {\n node.primitives.forEach(primitive => {\n primitive.setVisibility(checked);\n });\n }\n },\n changeActiveByPrimitive: function (primitive, propagate) {\n if (primitive && primitive.getVisibility()) {\n this.active.group = primitive.groupName;\n this.active.regionPath = primitive.region.getFullPath();\n console.log(this.active)\n this.$emit(\"object-selected\", primitive, propagate);\n } else {\n this.removeActive(propagate);\n }\n this.removeHover(propagate);\n },\n changeHoverByPrimitive: function (primitive, propagate) {\n if (primitive) {\n this.hover.group = primitive.groupName;\n this.hover.regionPath = primitive.region.getFullPath();\n this.$emit(\"object-hovered\", primitive, propagate);\n } else {\n this.removeHover(propagate);\n }\n },\n /**\n * Select a region by its name.\n */\n changeActiveByName: function (name, regionPath, propagate) {\n const rootRegion = this.module.scene.getRootRegion();\n const targetRegion = rootRegion.findChildFromPath(regionPath);\n let targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);\n this.changeActiveByPrimitive(targetObject, propagate);\n },\n /**\n * Hover a region by its name.\n */\n changeHoverByName: function (name, regionPath, propagate) {\n const rootRegion = this.module.scene.getRootRegion();\n const targetRegion = rootRegion.findChildFromPath(regionPath);\n let targetObject = this.getFirstZincObjectWithGroupName(targetRegion, name);\n this.changeHoverByPrimitive(targetObject, propagate);\n },\n changeActiveByNode: function (node, propagate) {\n if (node.primitives)\n this.changeActiveByPrimitive(node.primitives[0], propagate);\n },\n changeHoverByNode: function (node, propagate) {\n if (node.primitives)\n this.changeHoverByPrimitive(node.primitives[0], propagate);\n },\n /**\n * Unselect the current selected region.\n */\n removeActive: function (propagate) {\n this.active.group = \"\";\n this.active.regionPath = undefined;\n this.$emit(\"object-selected\", undefined, propagate);\n },\n /**\n * Unselect the current hover region.\n */\n removeHover: function (propagate) {\n this.hover.group = \"\";\n this.hover.regionPath = undefined;\n this.$emit(\"object-hovered\", undefined, propagate);\n },\n /**\n * Reset the controls.\n */\n clear: function () {\n this.active.group = \"\";\n this.active.regionPath = undefined;\n this.hover.group = \"\";\n this.hover.regionPath = undefined;\n this.$refs.regionTree.updateKeyChildren( \"__r/\", []);\n this.$emit(\"object-selected\", undefined);\n },\n getFirstZincObjectWithGroupName: function (region, name) {\n if (region) {\n let array = region.findGeometriesWithGroupName(name);\n if (array.length > 0) return array[0];\n array = region.findGlyphsetsWithGroupName(name);\n if (array.length > 0) return array[0];\n array = region.findLinesWithGroupName(name);\n if (array.length > 0) return array[0];\n array = region.findPointsetsWithGroupName(name);\n if (array.length > 0) return array[0];\n }\n return undefined;\n },\n getColour: function (nodeData) {\n if (nodeData) {\n let graphic = nodeData.primitives[0];\n if (graphic) {\n let hex = graphic.getColourHex();\n if (hex) return \"#\" + hex;\n }\n }\n return \"#FFFFFF\";\n },\n setColour: function (nodeData, value) {\n if (nodeData) {\n let graphic = nodeData.primitives[0];\n if (graphic) {\n let hexString = value.replace(\"#\", \"0x\");\n graphic.setColourHex(hexString);\n }\n }\n },\n viewAll: function () {\n this.module.viewAll();\n },\n visibilityToggle: function (item, event) {\n this.module.changeOrganPartsVisibility(item, event);\n if (event == false) {\n if (this.activeRegion === item) {\n this.removeActive(true);\n }\n if (this.hoverRegion === item) {\n this.removeHover(true);\n }\n }\n },\n toggleDrawer: function () {\n this.drawerOpen = !this.drawerOpen;\n this.$emit(\"drawer-toggled\", this.drawerOpen);\n },\n setTreeVisibility: function(node, list) {\n let flag = false;\n if (list.includes(node.id)) flag = true;\n if (node.region) node.region.setVisibility(flag);\n if (node.primitives) node.primitives.forEach(primitive => primitive.setVisibility(flag))\n if (node.children) node.children.forEach(child => this.setTreeVisibility(child, list));\n },\n checkAllKeys: function () {\n const keysList = [];\n extractAllIds(this.treeData[0], keysList);\n this.setTreeVisibility(this.treeData[0], keysList);\n this.$refs.regionTree.setCheckedKeys(keysList);\n },\n getState: function () {\n let checkedItems = this.$refs.regionTree.getCheckedKeys();\n if (checkedItems.length === this.__nodeNumbers)\n return { checkAll: true, version: \"2.0\" };\n return { checkedItems: checkedItems, version: \"2.0\" };\n },\n setState: function (state) {\n if (state) {\n if (state.checkAll) {\n this.checkAllKeys(); \n } else if (state.checkedItems) {\n let list = [];\n if (state.version !== \"2.0\") {\n list = state.checkedItems.map(item => \"/\" + item);\n list.shift(\"__r/\");\n } else {\n list.push(...state.checkedItems);\n }\n this.setTreeVisibility(this.treeData[0], list);\n this.$refs.regionTree.setCheckedKeys(list);\n }\n }\n },\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/checkbox\";\n@import \"~element-ui/packages/theme-chalk/src/color-picker\";\n@import \"~element-ui/packages/theme-chalk/src/row\";\n@import \"~element-ui/packages/theme-chalk/src/tree\";\n\n.checkbox-container {\n display: flex;\n cursor: pointer;\n}\n\n.tree-controls {\n position: absolute;\n bottom: 0px;\n transition: all 1s ease;\n\n &:focus {\n outline: none;\n }\n &.open {\n left: 0px;\n .traditional-container {\n opacity: 1;\n }\n }\n &.close {\n left: -298px;\n .traditional-container {\n pointer-events: none;\n opacity: 0;\n }\n }\n}\n\n.traditional-container {\n transition: all 1s ease;\n float: left;\n padding-left: 16px;\n padding-right: 18px;\n max-height: calc(100% - 154px);\n text-align: left;\n overflow: none;\n border: 1px solid rgb(220, 223, 230);\n padding-top: 7px;\n padding-bottom: 16px;\n background: #ffffff;\n}\n\n.regions-display-text {\n width: 59px;\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n margin-left: 8px;\n}\n\n.all-checkbox {\n float: right;\n}\n\n.tree-container {\n width: 260px;\n border: 1px solid rgb(144, 147, 153);\n border-radius: 4px;\n background: #ffffff;\n margin-top: 6px;\n\n ::v-deep .el-tree {\n max-height: 240px;\n min-height: 130px;\n overflow: auto;\n &::-webkit-scrollbar {\n width: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 10px;\n box-shadow: inset 0 0 6px #c0c4cc;\n }\n }\n\n ::v-deep .el-tree-node__content {\n height: 22px;\n }\n}\n\n::v-deep .el-checkbox__input {\n &.is-indeterminate,\n &.is-checked {\n .el-checkbox__inner {\n background-color: $app-primary-color;\n border-color: $app-primary-color;\n }\n }\n}\n\n::v-deep .el-color-picker__color {\n border: 1px solid $app-primary-color;\n}\n\n::v-deep .el-checkbox__label {\n padding-left: 5px;\n color: $app-primary-color !important;\n font-size: 12px;\n font-weight: 500;\n letter-spacing: 0px;\n line-height: 14px;\n}\n\n.activeItem {\n background-color: #bbb !important;\n}\n\n.region-tree-node {\n flex: 1;\n color: $app-primary-color !important;\n display: flex;\n font-size: 12px;\n line-height: 14px;\n padding-left: 0px;\n background-color: #fff;\n width: 100%;\n\n ::v-deep .el-color-picker {\n height: 14px !important;\n }\n\n ::v-deep .el-color-picker__trigger {\n margin-left: 8px;\n margin-right: 8px;\n padding: 0px;\n height: 14px;\n width: 14px;\n border: 0px;\n }\n}\n\n.hoverItem {\n background-color: #eee !important;\n}\n\n::v-deep .el-color-picker__icon {\n &.el-icon-arrow-down {\n display: none;\n }\n}\n\n::v-deep .show-picker {\n .el-color-picker__icon {\n &.el-icon-arrow-down {\n display: block;\n }\n }\n}\n\n::v-deep .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n\n.drawer {\n ::v-deep .el-drawer:focus {\n outline: none;\n }\n}\n\n.open-drawer {\n width: 20px;\n height: 40px;\n z-index: 8;\n position: absolute;\n left: 0px;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #f7faff;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.drawer-button {\n float: left;\n width: 20px;\n height: 40px;\n z-index: 8;\n margin-top: calc(50% - 52px);\n border: solid 1px #e4e7ed;\n border-left: 0;\n background-color: #ffffff;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.drawer-button {\n i {\n margin-top: 12px;\n color: $app-primary-color;\n transition-delay: 0.9s;\n }\n &.open {\n i {\n transform: rotate(0deg) scaleY(2.5);\n }\n }\n &.close {\n i {\n transform: rotate(180deg) scaleY(2.5);\n }\n }\n}\n\n.drawer-button.open i {\n transform: rotate(0deg) scaleY(2.5);\n}\n\n.drawer-button.close i {\n transform: rotate(180deg) scaleY(2.5);\n}\n</style>\n\n<style>\n.hide-scaffold-colour-popup {\n display: none;\n}\n</style>\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TreeControls.vue?vue&type=template&id=4d20ec9a&scoped=true&\"\nimport script from \"./TreeControls.vue?vue&type=script&lang=js&\"\nexport * from \"./TreeControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TreeControls.vue?vue&type=style&index=0&id=4d20ec9a&scoped=true&lang=scss&\"\nimport style1 from \"./TreeControls.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d20ec9a\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n ref=\"scaffoldContainer\"\n v-loading=\"loading\"\n class=\"scaffold-container\"\n element-loading-text=\"Loading...\"\n element-loading-spinner=\"el-icon-loading\"\n element-loading-background=\"rgba(0, 0, 0, 0.3)\"\n >\n <map-svg-sprite-color />\n <scaffold-tooltip\n :label=\"tData.label\"\n :visible=\"tData.visible\"\n :x=\"tData.x\"\n :y=\"tData.y\"\n />\n <div\n id=\"organsDisplayArea\"\n ref=\"display\"\n tabindex=\"-1\"\n style=\"height:100%;width:100%;\"\n @keydown.66=\"backgroundChangeCallback\"\n />\n <div v-show=\"displayUI && !isTransitioning\">\n <el-popover\n v-if=\"displayWarning\"\n ref=\"warningPopover\"\n v-model=\"hoverVisabilities[6].value\"\n :content=\"warningMessage\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"warning-popper right-popper non-selectable\"\n />\n <i\n v-if=\"displayWarning\"\n v-popover:warningPopover\n class=\"el-icon-warning warning-icon\"\n @mouseover=\"showToolitip(6)\"\n @mouseout=\"hideToolitip(6)\"\n >\n <span class=\"warning-text\">Beta</span>\n </i>\n <el-popover\n ref=\"checkBoxPopover\"\n v-model=\"hoverVisabilities[5].value\"\n content=\"Change region visibility\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper right-popper non-selectable\"\n />\n <tree-controls\n ref=\"treeControl\"\n v-popover:checkBoxPopover\n :help-mode=\"helpMode\"\n :module=\"$module\"\n :show-colour-picker=\"showColourPicker\"\n @object-selected=\"objectSelected\"\n @object-hovered=\"objectHovered\"\n @drawer-toggled=\"drawerToggled\"\n />\n <div class=\"opacity-box\">\n <opacity-controls ref=\"opacityControl\" />\n </div>\n <el-popover\n v-if=\"sceneData.timeVarying\"\n ref=\"sliderPopover\"\n v-model=\"hoverVisabilities[4].value\"\n content=\"Move the slider to animate the region\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper top-popper non-selectable\"\n />\n <div\n v-if=\"sceneData.timeVarying\"\n v-popover:sliderPopover\n class=\"time-slider-container\"\n :class=\"[ minimisedSlider ? 'minimised' : '', sliderPosition]\"\n >\n <el-tabs type=\"card\">\n <el-tab-pane label=\"Animate scaffold\">\n <el-row class=\"tab-content\">\n <map-svg-icon\n v-if=\"isPlaying\"\n icon=\"pause\"\n class=\"icon-button video-button\"\n @click.native=\"play(false)\"\n />\n <map-svg-icon\n v-else\n icon=\"play\"\n class=\"video-button icon-button\"\n @click.native=\"play(true)\"\n />\n <el-slider\n :min=\"0\"\n :max=\"timeMax\"\n :value=\"sceneData.currentTime / 100 * timeMax\"\n :step=\"0.1\"\n tooltip-class=\"time-slider-tooltip\"\n class=\"slider\"\n :format-tooltip=\"formatTooltip\"\n :marks=\"timeStamps\"\n @input=\"timeChange($event)\"\n />\n </el-row>\n </el-tab-pane>\n <el-tab-pane label=\"Animation data\">\n <el-row class=\"tab-content\">\n <div class=\"animation-data\">\n Original duration:\n <div class=\"purple\">\n {{ orginalDuration }}\n </div>\n </div>\n <div class=\"animation-data\">\n Animation duration:\n <div class=\"purple\">\n {{ animateDuration }}\n </div>\n </div>\n <div class=\"animation-data\">\n Playback speed\n <el-select\n :popper-append-to-body=\"true\"\n :value=\"currentSpeed\"\n placeholder=\"Select\"\n class=\"select-box\"\n popper-class=\"scaffold_viewer_dropdown\"\n @change=\"speedChanged($event)\"\n >\n <el-option\n v-for=\"item in playSpeed\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n />\n </el-select>\n </div>\n </el-row>\n </el-tab-pane>\n </el-tabs>\n </div>\n <div class=\"bottom-right-control\">\n <el-popover\n v-model=\"hoverVisabilities[0].value\"\n content=\"Zoom in\"\n placement=\"left\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper left-popper non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n icon=\"zoomIn\"\n class=\"icon-button zoomIn\"\n @click.native=\"zoomIn()\"\n @mouseover.native=\"showToolitip(0)\"\n @mouseout.native=\"hideToolitip(0)\"\n />\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[1].value\"\n content=\"Zoom out\"\n placement=\"top-end\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper popper-zoomout non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n icon=\"zoomOut\"\n class=\"icon-button zoomOut\"\n @click.native=\"zoomOut()\"\n @mouseover.native=\"showToolitip(1)\"\n @mouseout.native=\"hideToolitip(1)\"\n />\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[2].value\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper non-selectable\"\n >\n <div>\n Fit to\n <br>\n window\n </div>\n <map-svg-icon\n slot=\"reference\"\n icon=\"fitWindow\"\n class=\"icon-button fitWindow\"\n @click.native=\"fitWindow()\"\n @mouseover.native=\"showToolitip(2)\"\n @mouseout.native=\"hideToolitip(2)\"\n />\n </el-popover>\n </div>\n <el-popover\n ref=\"backgroundPopover\"\n placement=\"top-start\"\n width=\"128\"\n :append-to-body=\"false\"\n trigger=\"click\"\n popper-class=\"background-popper non-selectable\"\n >\n <el-row class=\"backgroundText\">\n Change background\n </el-row>\n <el-row class=\"backgroundChooser\">\n <div\n v-for=\"item in availableBackground\"\n :key=\"item\"\n :class=\"['backgroundChoice', item, item == currentBackground ? 'active' :'']\"\n @click=\"backgroundChangeCallback(item)\"\n />\n </el-row>\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[3].value\"\n content=\"Change background color\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper right-popper non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n v-popover:backgroundPopover\n icon=\"changeBckgd\"\n class=\"icon-button background-colour\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n @mouseover.native=\"showToolitip(3)\"\n @mouseout.native=\"hideToolitip(3)\"\n />\n </el-popover>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport OpacityControls from \"./OpacityControls\";\nimport ScaffoldTooltip from \"./ScaffoldTooltip\";\nimport TreeControls from \"./TreeControls\";\nimport { MapSvgIcon, MapSvgSpriteColor } from \"@abi-software/svg-sprite\";\n\nimport {\n Col,\n Loading,\n Option,\n Popover,\n Row,\n Select,\n Slider,\n TabPane,\n Tabs\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Col);\nVue.use(Loading.directive);\nVue.use(Option);\nVue.use(Popover);\nVue.use(Row);\nVue.use(Select);\nVue.use(Slider);\nVue.use(TabPane);\nVue.use(Tabs);\n\nconst OrgansViewer = require(\"../scripts/organsRenderer\").OrgansViewer;\nconst EventNotifier = require(\"../scripts/eventNotifier\").EventNotifier;\n\n/**\n * A vue component of the scaffold viewer.\n *\n * @requires ./OpacityControls.vue\n * @requires ./TreeControls.vue\n */\nexport default {\n name: \"ScaffoldVuer\",\n components: {\n MapSvgIcon,\n MapSvgSpriteColor,\n OpacityControls,\n ScaffoldTooltip,\n TreeControls,\n },\n props: {\n /**\n * URL of the zincjs metadata. This value will be ignored if a valid\n * state prop is also provided.\n * If the url needs to be updated with state present, please use\n * the setURL method.\n */\n url: {\n type: String,\n default: \"\"\n },\n /**\n * Show the colour control of set to true.\n */\n showColourPicker: {\n type: Boolean,\n default: false\n },\n /**\n * Flag to show/hide the UI.\n */\n displayUI: {\n type: Boolean,\n default: true\n },\n /**\n * Display all graphics at start.\n *\n * This setting only works when traditional is set to false.\n */\n displayAtStartUp: {\n type: Boolean,\n default: true\n },\n /**\n * Use for toggling the help tooltips.\n */\n helpMode: {\n type: Boolean,\n default: false\n },\n /**\n * Use for show/display beta warning icon.\n */\n displayWarning: {\n type: Boolean,\n default: true\n },\n /**\n * Warning message for the hovered over text\n * on the warning icon.\n */\n warningMessage: {\n type: String,\n default: \"Beta feature - under active development\"\n },\n /**\n * Show/hide pickable markers for regions.\n */\n displayMarkers: {\n type: Boolean,\n default: true\n },\n /**\n * Show/hide minimap.\n */\n displayMinimap: {\n type: Boolean,\n default: false\n },\n /**\n * Settings for minimap position, size and alignment.\n */\n minimapSettings: {\n type: Object,\n default: function() {\n return {\n x_offset: 16,\n y_offset: 16,\n width: 128,\n height: 128,\n align: \"top-right\"\n };\n }\n },\n /**\n * State containing state of the scaffold.\n */\n state: {\n type: Object,\n default: undefined\n },\n /**\n * Optional prop for the name of the region to focus on,\n * this option is ignored if state or viewURL is also provided.\n */\n region: {\n type: String,\n default: \"\"\n },\n /**\n * Optional prop for an URL of containing information of a viewport.\n * This option is ignored if state is also provided.\n * It will use the provided URL as base if a relative parth is provided.\n */\n viewURL: {\n type: String,\n default: \"\"\n },\n /**\n * Settings for turning on/off rendering\n */\n render: {\n type: Boolean,\n default: true\n }\n },\n data: function() {\n return {\n sceneData: this.$module.sceneData,\n isPlaying: false,\n /**\n * This is set when scene is transitioning.\n */\n isTransitioning: false,\n tooltipAppendToBody: false,\n hoverVisabilities: [\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false }\n ],\n inHelp: false,\n loading: false,\n duration: 3000,\n drawerOpen: true,\n currentBackground: \"white\",\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\n minimisedSlider: false,\n sliderPosition: \"\",\n timeMax: 100,\n orginalDuration: \"\",\n animateDuration: \"6secs\",\n playSpeed: [\n {\n value: 0.1,\n label: \"0.1x\"\n },\n {\n value: 0.5,\n label: \"0.5x\"\n },\n {\n value: 1,\n label: \"1x\"\n },\n {\n value: 2,\n label: \"2x\"\n },\n {\n value: 5,\n label: \"5x\"\n },\n {\n value: 10,\n label: \"10x\"\n }\n ],\n currentSpeed: 1,\n timeStamps: {},\n defaultCheckedKeys: [],\n tData: {\n label: \"\",\n visible: false,\n x: 200,\n y: 200\n }\n };\n },\n watch: {\n url: {\n handler: function(newValue) {\n if (this.state === undefined || this.state.url === undefined)\n this.setURL(newValue);\n },\n immediate: true\n },\n region: {\n handler: function(region) {\n if (!(this.state || this.viewURL)) this.setFocusedRegion(region);\n },\n immediate: true\n },\n state: {\n handler: function(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true\n },\n viewURL: {\n handler: function(viewURL) {\n this.updateViewURL(viewURL);\n },\n immediate: true\n },\n helpMode: function(val) {\n this.setHelpMode(val);\n },\n displayMarkers: function(val) {\n this.$module.scene.displayMarkers = val;\n },\n displayMinimap: function(val) {\n this.$module.scene.displayMinimap = val;\n },\n \"sceneData.currentTime\": function() {\n /**\n * Triggers when scene time changes.\n *\n * @property {number} time Current build-in time of scene.\n * of selected object.\n */\n this.$emit(\"timeChanged\", this.sceneData.currentTime);\n },\n duration: function() {\n this.$module.scene.setDuration(this.duration);\n },\n minimapSettings: {\n deep: true,\n handler: \"updateMinimapScissor\"\n },\n render: function(val) {\n this.toggleRendering(val);\n }\n },\n beforeCreate: function() {\n this.$module = new OrgansViewer();\n this.isReady = false;\n this.selectedObject = undefined;\n this.hoveredObject = undefined;\n this.currentBackground = \"white\";\n this._currentURL = undefined;\n this.availableBackground = [\"white\", \"black\", \"lightskyblue\"];\n },\n mounted: function() {\n let eventNotifier = new EventNotifier();\n eventNotifier.subscribe(this, this.eventNotifierCallback);\n this.$module.addNotifier(eventNotifier);\n this.$module.addOrganPartAddedCallback(this.organsAdded);\n this.$module.initialiseRenderer(this.$refs.display);\n this.toggleRendering(this.render);\n this.ro = new ResizeObserver(this.adjustLayout).observe(\n this.$refs.scaffoldContainer\n );\n this.defaultRate = this.$module.getPlayRate();\n },\n beforeDestroy: function() {\n if (this.ro) this.ro.disconnect();\n this.$module.destroy();\n this.$module = undefined;\n },\n methods: {\n /**\n * This is called when a new organ is read into the scene.\n */\n organsAdded: function() {\n this.loading = false;\n },\n /**\n * This is called when Change backgspeedround colour button\n * is pressed an causes the backgrouColornd colour to be changed\n * to one of the three preset colour: white, black and\n * lightskyblue.\n */\n backgroundChangeCallback: function(colour) {\n this.currentBackground = colour;\n this.$module.zincRenderer\n .getThreeJSRenderer()\n .setClearColor(this.currentBackground, 1);\n },\n /**\n * This is called by captueeScreenshot and after the last render\n * loop, it download a screenshot of the current scene with no UI.\n */\n captureScreenshotCallback: function() {\n //Remove the callback, only needs to happen once\n this.$module.zincRenderer.removePostRenderCallbackFunction(\n this.captureID\n );\n let screenshot = this.$module.zincRenderer\n .getThreeJSRenderer()\n .domElement.toDataURL(\"image/png\");\n let hrefElement = document.createElement(\"a\");\n document.body.append(hrefElement);\n if (!this.captureFilename) hrefElement.download = `screenshot.png`;\n else hrefElement.download = this.captureFilename;\n hrefElement.href = screenshot;\n hrefElement.click();\n hrefElement.remove();\n },\n /**\n * Function for capturing a screenshot of the current rendering.\n *\n * @param {String} filename filename given to the screenshot.\n *\n * @public\n */\n captureScreenshot: function(filename) {\n this.captureFilename = filename;\n this.captureID = this.$module.zincRenderer.addPostRenderCallbackFunction(\n this.captureScreenshotCallback\n );\n },\n formatTooltip(val) {\n if (this.timeMax >= 1000) {\n if (val) {\n let sec = ((val % 60000) / 1000).toFixed(2) + \"s\";\n let min = val > 60000 ? (val / 60000).toFixed(0) + \"m \" : \"\";\n return min + sec;\n }\n }\n return val ? val.toFixed(2) + \" ms\" : \"0 ms\";\n },\n /**\n * Function to reset the view to default.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n fitWindow: function() {\n if (this.$module.scene) {\n this.$module.scene.viewAll();\n }\n },\n /**\n * Function to zoom in.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n zoomIn: function() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(-1);\n }\n },\n /**\n * Function to zoom out.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n zoomOut: function() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(1);\n }\n },\n /**\n * Function to change the current play speed.\n *\n * @public\n */\n speedChanged: function(speed) {\n this.currentSpeed = speed;\n this.$module.setPlayRate(this.defaultRate * this.currentSpeed);\n },\n /**\n * Function used to stop the free spin\n *\n * @public\n */\n stopFreeSpin: function() {\n let cameracontrol = this.$module.scene.getZincCameraControls();\n cameracontrol.stopAutoTumble();\n this.isTransitioning = false;\n },\n findObjectsWithGroupName: function(name) {\n let objects = [];\n if (name && name != \"\" && this.$module.scene) {\n objects = this.$module.scene.findObjectsWithGroupName(name);\n }\n return objects;\n },\n /**\n * Focus on named region\n */\n viewRegion: function(name) {\n let objects = this.findObjectsWithGroupName(name);\n let box = this.$module.scene.getBoundingBoxOfZincObjects(objects);\n if (box) {\n if (this.$module.isSyncControl()) {\n this.$module.setSyncControlZoomToBox(box);\n } else {\n this.$module.scene.viewAllWithBoundingBox(box);\n }\n return true;\n }\n return false;\n },\n setFocusedRegion: function(name) {\n if (name) {\n if (this.isReady) {\n this.viewRegion(name);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({ region: name })\n );\n }\n }\n },\n updateViewURL: function(viewURL) {\n if (viewURL) {\n if (this.isReady) {\n const url = new URL(viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({ viewURL: viewURL })\n );\n }\n }\n },\n getRendererInfo: function() {\n if (this.$module.zincRenderer) {\n return this.$module.zincRenderer.getThreeJSRenderer().info;\n }\n return undefined;\n },\n /**\n * Function used to rotate the scene.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n freeSpin: function() {\n if (this.$module.scene) {\n let cameracontrol = this.$module.scene.getZincCameraControls();\n this.isTransitioning = true;\n cameracontrol.enableAutoTumble();\n cameracontrol.autoTumble([1.0, 0.0], Math.PI, true);\n setTimeout(this.stopFreeSpin, 4000);\n }\n },\n /**\n * Callback when a region is selected/highlighted.\n * It will also update other controls.\n */\n eventNotifierCallback: function(event) {\n if (event.eventType == 1) {\n if (this.$refs.treeControl) {\n if (event.identifiers[0]) {\n let id = event.identifiers[0].data.id\n ? event.identifiers[0].data.id\n : event.identifiers[0].data.group;\n let region = event.identifiers[0].data.region;\n this.$refs.treeControl.changeActiveByName(id, region, true);\n } else {\n this.$refs.treeControl.removeActive(true);\n }\n }\n // Triggers when an object has been selected\n this.$emit(\"scaffold-selected\", event.identifiers);\n } else if (event.eventType == 2) {\n this.tData.visible = false;\n const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n if (event.identifiers[0]) {\n let id = event.identifiers[0].data.id\n ? event.identifiers[0].data.id\n : event.identifiers[0].data.group;\n if (event.identifiers[0].coords) {\n this.tData.visible = true;\n this.tData.label = id;\n this.tData.x = event.identifiers[0].coords.x - offsets.left;\n this.tData.y = event.identifiers[0].coords.y - offsets.top;\n }\n if (this.$refs.treeControl) {\n let region = event.identifiers[0].data.region;\n this.$refs.treeControl.changeHoverByName(id, region, true);\n } else {\n this.$refs.treeControl.removeHover(true);\n }\n }\n // Triggers when an object has been highlighted\n this.$emit(\"scaffold-highlighted\", event.identifiers);\n } else if (event.eventType == 3) { //MOVE\n if (event.identifiers[0]) {\n if (event.identifiers[0].coords) {\n const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n this.tData.x = event.identifiers[0].coords.x - offsets.left;\n this.tData.y = event.identifiers[0].coords.y - offsets.top;\n }\n }\n }\n },\n /**\n * Get the coordinates of the current selected region.\n *\n * @public\n */\n getCoordinatesOfSelected: function() {\n if (this.selectedObject) {\n return this.$module.scene.getObjectsScreenXY([this.selectedObject]);\n }\n return undefined;\n },\n /**\n * Return an object containing the window coordinates of the\n * current selected region which will be updated after each render\n * loop.\n *\n * @public\n */\n getDynamicSelectedCoordinates: function() {\n return this.$module.selectedScreenCoordinates;\n },\n /**\n * Callback when time is changed through the UI.\n */\n timeChange: function(event) {\n let normalizedTime = (event / this.timeMax) * 100;\n if (normalizedTime != this.sceneData.currentTime)\n this.$module.updateTime(normalizedTime);\n },\n /**\n * A callback used by children components. Set the selected zinc object\n *\n * @param {object} object Zinc object\n */\n objectSelected: function(object, propagate) {\n if (object !== this.selectedObject) {\n this.selectedObject = object;\n this.$refs.opacityControl.setObject(this.selectedObject);\n if (object) this.$module.setSelectedByZincObject(object, undefined, propagate);\n else this.$module.setSelectedByObjects([], undefined, propagate);\n }\n },\n /**\n * A callback used by children components. Set the highlighted zinc object\n *\n * @param {object} object Zinc object\n */\n objectHovered: function(object, propagate) {\n if (object !== this.hoveredObject) {\n this.hoveredObject = object;\n if (object) this.$module.setHighlightedByZincObject(object, undefined, propagate);\n else this.$module.setHighlightedByObjects([], undefined, propagate);\n }\n },\n /**\n * Set the selected by name.\n *\n * @param {name} name Name of the group\n */\n changeActiveByName: function(name, region, propagate) {\n if (name === undefined)\n this.$refs.treeControl.removeActive(propagate);\n else\n this.$refs.treeControl.changeActiveByName(name, region, propagate);\n },\n /**\n * Set the highlighted by name.\n *\n * @param {name} name Name of the group\n */\n changeHighlightedByName: function(name, region, propagate) {\n if (name === undefined)\n this.$refs.treeControl.removeHover(propagate);\n else\n this.$refs.treeControl.changeHoverByName(name, region, propagate);\n },\n /**\n * Start the animation.\n *\n * @param {object} object Zinc object\n */\n play: function(flag) {\n this.$module.playAnimation(flag);\n this.isPlaying = flag;\n },\n /**\n * Function to toggle on/off overlay help.\n */\n setHelpMode: function(helpMode) {\n if (helpMode) {\n this.inHelp = true;\n this.hoverVisabilities.forEach(item => {\n item.value = true;\n });\n } else {\n this.inHelp = false;\n this.hoverVisabilities.forEach(item => {\n item.value = false;\n });\n }\n },\n /**\n * This is called when mouse cursor enters supported elements\n * with help tootltips.\n */\n showToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.tooltipWait = setTimeout(() => {\n this.hoverVisabilities[tooltipNumber].value = true;\n }, 500);\n }\n },\n /**\n * This is called when mouse cursor exits supported element..\n */\n hideToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.hoverVisabilities[tooltipNumber].value = false;\n clearTimeout(this.tooltipWait);\n }\n },\n /**\n * Called when minimap settings has changed. Pass the\n * parameters to ZincJS and marked it for update.\n */\n updateMinimapScissor: function() {\n Object.keys(this.minimapSettings).forEach(key => {\n this.$module.scene.minimapScissor[key] = this.minimapSettings[key];\n });\n this.$module.scene.minimapScissor.updateRequired = true;\n },\n updateSettingsfromScene: function() {\n this.currentSpeed = 1;\n this.$module.setPlayRate(this.defaultRate);\n this.orginalDuration = this.$module.scene.getMetadataTag(\n \"OriginalDuration\"\n );\n this.animateDuration = this.$module.scene.getMetadataTag(\"Duration\");\n let timeStamps = this.$module.scene.getMetadataTag(\"TimeStamps\");\n this.timeStamps = {};\n for (const key in timeStamps) {\n this.timeStamps[timeStamps[key]] = key;\n }\n this.timeMax = this.$module.scene.getDuration();\n },\n setURLFinishCallback: function(options) {\n return () => {\n if (options) {\n if (options.viewport) {\n this.$module.scene\n .getZincCameraControls()\n .setCurrentCameraSettings(options.viewport);\n } else if (options.viewURL && options.viewURL !== \"\") {\n const url = new URL(options.viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else if (options.region && options.region !== \"\") {\n this.viewRegion(options.region);\n }\n if (options.visibility) {\n // Some UIs may not be ready at this time.\n this.$nextTick(() => {\n this.$refs.treeControl.setState(options.visibility);\n });\n }\n }\n this.updateSettingsfromScene();\n this.$module.updateTime(0.01);\n this.$module.updateTime(0);\n this.$module.unsetFinishDownloadCallback();\n this.$emit(\"on-ready\");\n this.isReady = true;\n };\n },\n /**\n * Function used for getting the current states of the scene. This exported states\n * can be imported using the importStates method.\n *\n * @public\n */\n getState: function() {\n let state = {\n url: this._currentURL,\n viewport: undefined,\n visibility: undefined\n };\n if (this.$refs.treeControl)\n state.visibility = this.$refs.treeControl.getState();\n if (this.$module.scene) {\n let zincCameraControls = this.$module.scene.getZincCameraControls();\n state.viewport = zincCameraControls.getCurrentViewport();\n }\n return state;\n },\n /**\n * Function used for importing the states of the scene. This exported states\n * can be imported using the read states method.\n *\n * @public\n */\n setState: function(state) {\n if (state) {\n if (state.url && state.url !== this._currentURL) {\n this.setURLAndState(state.url, {\n viewport: state.viewport,\n visibility: state.visibility\n });\n } else {\n if (state.viewport || state.visibility) {\n if (this.isReady && this.$module.scene) {\n if (state.viewport)\n this.$module.scene\n .getZincCameraControls()\n .setCurrentCameraSettings(state.viewport);\n if (state.visibility)\n this.$refs.treeControl.setState(state.visibility);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({\n viewport: state.viewport,\n visibility: state.visibility\n })\n );\n }\n }\n }\n }\n },\n exportGLTF: function(binary) {\n return this.$module.scene.exportGLTF(binary);\n },\n /**\n * Function used for reading in new scaffold metadata and a custom\n * viewport. This function will ignore the state prop and\n * read in the new url.\n *\n * @public\n */\n setURLAndState: function(newValue, state) {\n if (newValue != this._currentURL) {\n let viewport = state && state.viewport ? state.viewport : undefined;\n let visibility =\n state && state.visibility ? state.visibility : undefined;\n this._currentURL = newValue;\n if (this.$refs.treeControl)\n this.$refs.treeControl.clear();\n this.loading = true;\n this.isReady = false;\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({\n viewport: viewport,\n region: this.region,\n viewURL: this.viewURL,\n visibility: visibility\n })\n );\n this.$module.loadOrgansFromURL(\n newValue,\n undefined,\n undefined,\n \"scene\",\n undefined\n );\n this.$module.scene.displayMarkers = this.displayMarkers;\n this.$module.scene.displayMinimap = this.displayMinimap;\n this.updateMinimapScissor();\n }\n },\n /**\n * Function used for reading in new scaffold metadata. This function will ignore\n * the state prop and read in the new url.\n *\n * @public\n */\n setURL: function(newValue) {\n this.setURLAndState(newValue, undefined);\n },\n /**\n * Callback when drawer is toggled.\n *\n */\n drawerToggled: function(flag) {\n this.drawerOpen = flag;\n this.adjustLayout();\n },\n /**\n * Callback using ResizeObserver.\n */\n adjustLayout: function() {\n let width = this.$refs.scaffoldContainer.clientWidth;\n this.minimisedSlider = width < 812;\n if (this.minimisedSlider) {\n this.sliderPosition = this.drawerOpen ? \"right\" : \"left\";\n } else {\n this.sliderPosition = \"\";\n }\n },\n toggleRendering: function(flag) {\n if (this.$module.zincRenderer) {\n if (flag) {\n this.$module.zincRenderer.animate();\n } else {\n this.$module.zincRenderer.stopAnimate();\n }\n }\n },\n forceResize: function() {\n if (this.$module.zincRenderer) {\n this.$module.zincRenderer.onWindowResize();\n }\n },\n syncControlCallback: function() {\n const payload = this.$module.NDCCameraControl.getPanZoom();\n this.$emit(\"scaffold-navigated\", payload);\n },\n toggleSyncControl: function(flag) {\n this.$module.toggleSyncControl(flag);\n this.$module.setSyncControlCallback(this.syncControlCallback);\n }\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/col\";\n@import \"~element-ui/packages/theme-chalk/src/loading\";\n@import \"~element-ui/packages/theme-chalk/src/option\";\n@import \"~element-ui/packages/theme-chalk/src/popover\";\n@import \"~element-ui/packages/theme-chalk/src/row\";\n@import \"~element-ui/packages/theme-chalk/src/select\";\n@import \"~element-ui/packages/theme-chalk/src/slider\";\n@import \"~element-ui/packages/theme-chalk/src/tabs\";\n@import \"~element-ui/packages/theme-chalk/src/tab-pane\";\n\n.warning-icon {\n position: absolute;\n top: 15px;\n left: 37px;\n text-align: left;\n font-size: 25px;\n color: $warning;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.warning-text {\n font-size: 15px;\n vertical-align: 5px;\n}\n\n::v-deep .warning-popper {\n padding: 9px 10px;\n min-width: 150px;\n font-size: 12px;\n color: #fff;\n background-color: $warning;\n\n &.right-popper {\n .popper__arrow {\n &::after {\n border-right-color: $warning !important;\n }\n }\n }\n}\n\n#organsDisplayArea {\n &:focus {\n outline: none !important;\n border: 0px;\n }\n}\n\n.scaffold-container {\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.time-slider-container {\n text-align: left;\n position: absolute;\n right: 155px;\n width: calc(100% - 530px);\n bottom: 16px;\n transition: all 1s ease;\n outline: none;\n\n &.minimised {\n width: calc(40%);\n }\n\n &.left {\n right: 155px;\n width: calc(100% - 250px);\n }\n\n &.right {\n right: 8px;\n bottom: 54px;\n }\n}\n\n.slider-display-text {\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n padding-left: 8px;\n text-shadow: -1px -1px #fff, 1px -1px #fff, -1px 1px #fff, 1px -1px #fff;\n}\n\n.tab-content {\n display: flex;\n height: 34px;\n padding-top: 8px;\n font-size: 14px;\n}\n\n.tab-content ::v-deep .el-slider__marks-text {\n margin-top: 12px;\n margin-left: 8px;\n font-size: 10px;\n}\n\n.tab-content ::v-deep .el-slider__stop {\n width: 10px;\n height: 10px;\n top: -1px;\n border: solid 1px $app-primary-color;\n}\n\n.animation-data {\n margin-left: 8px;\n line-height: 26px;\n display: flex;\n\n :not(:first-child) {\n margin-left: 8px;\n }\n .purple {\n padding-left: 2px;\n color: $app-primary-color;\n }\n}\n.slider {\n margin-left: 30px;\n width: calc(100% - 88px);\n margin-top: -7px;\n\n ::v-deep .el-slider__runway {\n height: 10px;\n margin: 14px 0;\n }\n\n ::v-deep .el-slider__button-wrapper {\n top: -13px;\n }\n}\n\n.zoomOut {\n padding-left: 8px;\n}\n\n.fitWindow {\n padding-left: 8px;\n}\n\n::v-deep .non-selectable {\n user-select: none;\n}\n\n::v-deep .background-popper {\n padding: 5px 12px;\n background-color: #ffffff;\n border: 1px solid $app-primary-color;\n box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);\n height: 72px;\n width: 128px;\n min-width: 128px;\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #fff !important;\n }\n }\n }\n}\n\n.background-colour {\n bottom: 16px;\n position: absolute;\n transition: all 1s ease;\n\n &.open {\n left: 322px;\n }\n\n &.close {\n left: 24px;\n }\n}\n\n.backgroundText {\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n}\n\n.backgroundChooser {\n display: flex;\n margin-top: 16px;\n}\n\n.backgroundChoice {\n width: 20px;\n height: 20px;\n border: 1px solid rgb(144, 147, 153);\n margin-left: 20px;\n\n &.active {\n border: 2px solid $app-primary-color;\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &.white {\n background-color: white;\n margin-left: 10px;\n }\n\n &.black {\n background-color: black;\n }\n\n &.lightskyblue {\n background-color: lightskyblue;\n }\n}\n\n.icon-button {\n height: 24px !important;\n width: 24px !important;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.bottom-right-control {\n position: absolute;\n right: 16px;\n bottom: 16px;\n}\n\n.video-button {\n margin-left: 8px;\n}\n\n.time-slider-container {\n ::v-deep .el-tabs__header {\n margin: 0px;\n border-bottom: 1px solid rgb(144, 147, 153);\n }\n\n .el-row {\n margin-bottom: 5px;\n }\n\n ::v-deep .el-tabs__content {\n border-left: 1px solid rgb(144, 147, 153);\n border-bottom: 1px solid rgb(144, 147, 153);\n border-right: 1px solid rgb(144, 147, 153);\n border-radius: 0px 0px 4px 4px;\n background-color: white;\n }\n\n ::v-deep .el-tabs--card {\n > .el-tabs__header {\n .el-tabs__nav {\n border: 1px solid rgb(144, 147, 153);\n border-bottom: none;\n border-radius: 4px 4px 0px 0px;\n background-color: white;\n }\n\n .el-tabs__item {\n height: 24px;\n line-height: 24px;\n padding: 0 8px !important;\n border-bottom: 1px solid;\n border-left: 1px solid rgb(144, 147, 153);\n &:first-child {\n border-left: none;\n }\n &.is-active {\n border-bottom: 1px solid white;\n color: rgb(48, 49, 51);\n }\n &:hover {\n color: $app-primary-color;\n }\n }\n }\n }\n}\n\n::v-deep .scaffold-popper {\n padding: 6px 4px;\n font-size: 12px;\n color: rgb(48, 49, 51);\n background-color: #f3ecf6;\n border: 1px solid $app-primary-color;\n white-space: nowrap;\n min-width: unset;\n pointer-events: none;\n\n &.left-popper {\n .popper__arrow {\n border-left-color: $app-primary-color !important;\n &:after {\n border-left-color: #f3ecf6 !important;\n }\n }\n }\n\n &.right-popper {\n .popper__arrow {\n border-right-color: $app-primary-color !important;\n &:after {\n border-right-color: #f3ecf6 !important;\n }\n }\n }\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #f3ecf6 !important;\n }\n }\n }\n}\n\n::v-deep .el-slider__button {\n border: 2px solid $app-primary-color;\n}\n\n::v-deep .el-slider__bar {\n background-color: $app-primary-color;\n height: 10px;\n}\n\n::v-deep .el-loading-spinner {\n i, .el-loading-text {\n color: $app-primary-color;\n }\n}\n\n::v-deep .popper-zoomout {\n padding-right: 11px;\n left: -21px !important;\n .popper__arrow {\n left: 53px !important;\n }\n}\n\n.select-box {\n width: 57px;\n border-radius: 4px;\n border: 1px solid rgb(144, 147, 153);\n background-color: var(--white);\n font-weight: 500;\n color: rgb(48, 49, 51);\n margin-left: 8px;\n\n ::v-deep .el-input__inner {\n color: $app-primary-color;\n height: 22px;\n padding-left: 8px;\n padding-right: 8px;\n border: none;\n font-family: \"Asap\", sans-serif;\n line-height: 22px;\n }\n\n ::v-deep .el-input,\n ::v-deep .el-input__icon {\n line-height: 22px;\n }\n}\n</style>\n\n<style lang=\"scss\">\n.time-slider-tooltip {\n padding: 6px 4px !important;\n font-family: \"Asap\", sans-serif;\n font-size: 12px !important;\n color: rgb(48, 49, 51) !important;\n background-color: #f3ecf6 !important;\n border: 1px solid $app-primary-color !important;\n white-space: nowrap !important;\n min-width: unset !important;\n}\n\n.scaffold_viewer_dropdown .el-select-dropdown__item {\n white-space: nowrap;\n text-align: left;\n font-family: \"Asap\", sans-serif;\n}\n\n.opacity-box {\n right: 0px;\n bottom:200px;\n position:absolute;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScaffoldVuer.vue?vue&type=template&id=7b24ee61&scoped=true&\"\nimport script from \"./ScaffoldVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./ScaffoldVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScaffoldVuer.vue?vue&type=style&index=0&id=7b24ee61&scoped=true&lang=scss&\"\nimport style1 from \"./ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b24ee61\",\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es.string.includes\");","module.exports = require(\"element-ui/lib/theme-chalk/row.css\");","module.exports = require(\"core-js/modules/es.array.find\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://scaffoldvuer/webpack/universalModuleDefinition","webpack://scaffoldvuer/webpack/bootstrap","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.find.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/row.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/mixins/focus.js","webpack://scaffoldvuer/external \"core-js/modules/web.dom-collections.for-each.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/scrollbar.js","webpack://scaffoldvuer/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/slider.js","webpack://scaffoldvuer/./src/components/OpacityControls.vue?985f","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/tooltip.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/scroll-into-view.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/mixins/migrating.js","webpack://scaffoldvuer/external \"core-js/modules/es.symbol.iterator.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/container.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/resize-event.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/clickoutside.js","webpack://scaffoldvuer/external \"@abi-software/svg-sprite\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.from.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.map.js\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/locale/index.js","webpack://scaffoldvuer/external \"core-js/modules/es.symbol.description.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/popup/popup-manager.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.sort.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.iterator.js\"","webpack://scaffoldvuer/external \"lodash/uniq\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/select.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/popup/index.js","webpack://scaffoldvuer/./src/scripts/organsRenderer.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/transitions/collapse-transition.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/dom.js","webpack://scaffoldvuer/external \"core-js/modules/es.regexp.test.js\"","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://scaffoldvuer/./src/scripts/graphicsHighlight.js","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?2534","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/popper.js","webpack://scaffoldvuer/external \"core-js/modules/es.string.replace.js\"","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?4e94","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/tree.js","webpack://scaffoldvuer/external \"lodash/orderBy\"","webpack://scaffoldvuer/./src/scripts/BaseModule.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/popover.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/mixins/locale.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/typeof.js","webpack://scaffoldvuer/external \"core-js/modules/web.url-search-params.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/tabs.js","webpack://scaffoldvuer/external \"throttle-debounce/debounce\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/color-picker.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/header.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/merge.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/checkbox-group.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/util.js","webpack://scaffoldvuer/./src/scripts/RendererModule.js","webpack://scaffoldvuer/external \"throttle-debounce\"","webpack://scaffoldvuer/external \"core-js/modules/es.array.includes.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/loading.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/tag.js","webpack://scaffoldvuer/external \"vue\"","webpack://scaffoldvuer/./src/components/TreeControls.vue?7d22","webpack://scaffoldvuer/external \"zincjs\"","webpack://scaffoldvuer/./src/components/TreeControls.vue?73e0","webpack://scaffoldvuer/external \"core-js/modules/es.object.to-string.js\"","webpack://scaffoldvuer/./src/scripts/annotation.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/drawer.js","webpack://scaffoldvuer/./src/scripts/eventNotifier.js","webpack://scaffoldvuer/external \"core-js/modules/es.symbol.js\"","webpack://scaffoldvuer/external \"@soda/get-current-script\"","webpack://scaffoldvuer/external \"core-js/modules/es.string.iterator.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/locale/format.js","webpack://scaffoldvuer/external \"resize-observer-polyfill\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/icon.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/types.js","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?4231","webpack://scaffoldvuer/./node_modules/element-ui/lib/locale/lang/en.js","webpack://scaffoldvuer/external \"core-js/modules/web.url.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/col.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/after-leave.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/main.js","webpack://scaffoldvuer/external \"core-js/modules/es.regexp.exec.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.number.to-fixed.js\"","webpack://scaffoldvuer/./src/scripts/WebGL.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/mixins/emitter.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/shared.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/readOnlyError.js","webpack://scaffoldvuer/external \"deepmerge\"","webpack://scaffoldvuer/external \"core-js/modules/es.function.name.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.error.cause.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/checkbox.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/tab-pane.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/input-number.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/scrollbar-width.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/option.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/utils/vue-popper.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.slice.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.object.keys.js\"","webpack://scaffoldvuer/./node_modules/element-ui/lib/button.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/locale/lang/zh-CN.js","webpack://scaffoldvuer/./node_modules/element-ui/lib/input.js","webpack://scaffoldvuer/external \"core-js/modules/es.array.splice.js\"","webpack://scaffoldvuer/external \"core-js/modules/es.number.constructor.js\"","webpack://scaffoldvuer/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?7d9a","webpack://scaffoldvuer/./src/components/OpacityControls.vue?96b5","webpack://scaffoldvuer/src/components/OpacityControls.vue","webpack://scaffoldvuer/./src/components/OpacityControls.vue?992e","webpack://scaffoldvuer/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://scaffoldvuer/./src/components/OpacityControls.vue","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?83b6","webpack://scaffoldvuer/src/components/ScaffoldTooltip.vue","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue?e137","webpack://scaffoldvuer/./src/components/ScaffoldTooltip.vue","webpack://scaffoldvuer/./src/components/TreeControls.vue?6b06","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://scaffoldvuer/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://scaffoldvuer/./src/scripts/utilities.js","webpack://scaffoldvuer/src/components/TreeControls.vue","webpack://scaffoldvuer/./src/components/TreeControls.vue?ad44","webpack://scaffoldvuer/./src/components/TreeControls.vue","webpack://scaffoldvuer/src/components/ScaffoldVuer.vue","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue?4319","webpack://scaffoldvuer/./src/components/ScaffoldVuer.vue","webpack://scaffoldvuer/external \"core-js/modules/es.string.includes.js\""],"names":["root","factory","exports","module","define","amd","self","this","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","_nonIterableSpread","TypeError","require","137","__webpack_exports__","row","componentName","props","tag","type","String","default","gutter","Number","justify","align","computed","style","ret","marginLeft","marginRight","render","h","class","$slots","Vue","component","_iterableToArray","iter","iterator","Array","from","ref","methods","focus","$refs","131","resize_event_","scrollbar_width_","scrollbar_width_default","util_","dom_","BAR_MAP","vertical","offset","scroll","scrollSize","size","axis","client","direction","horizontal","renderThumbStyle","_ref","move","bar","translate","transform","msTransform","webkitTransform","src_bar","Boolean","wrap","$parent","on","clickTrackHandler","clickThumbHandler","e","ctrlKey","button","startDrag","currentTarget","getBoundingClientRect","Math","abs","target","thumbHalf","thumb","thumbPositionPercentage","$el","stopImmediatePropagation","cursorDown","document","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","prevPage","thumbClickPosition","destroyed","main","components","Bar","native","wrapStyle","wrapClass","viewClass","viewStyle","noresize","data","sizeWidth","sizeHeight","moveX","moveY","gutterWith","gutterStyle","isArray","marginBottom","view","handleScroll","nodes","attrs","scrollTop","clientHeight","scrollLeft","clientWidth","update","heightPercentage","widthPercentage","scrollHeight","scrollWidth","mounted","$nextTick","resize","beforeDestroy","16","2","3","38","0","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","concat","29","4","49","63","_vm","_h","$createElement","_c","_self","staticClass","showInput","role","min","max","sliderDisabled","range","step","disabled","controls","showInputControls","debounce","inputSize","change","emitChange","model","firstValue","callback","$$v","expression","_e","runwayStyle","click","onSliderClick","barStyle","tooltipClass","secondValue","_l","stops","item","showStops","getStopStyle","markList","length","position","mark","_withStripped","input_number_","input_number_default","buttonvue_type_template_id_e72d2ad2_render","hover","hovering","dragging","wrapperStyle","tabindex","mouseenter","handleMouseEnter","mouseleave","handleMouseLeave","mousedown","onButtonDown","touchstart","blur","keydown","$event","_k","keyCode","onLeftKeyDown","onRightKeyDown","preventDefault","placement","showTooltip","slot","_v","_s","formatValue","buttonvue_type_template_id_e72d2ad2_staticRenderFns","tooltip_","tooltip_default","buttonvue_type_script_lang_js_","ElTooltip","a","isClick","startX","currentX","startY","currentY","startPosition","newPosition","oldValue","precision","currentPosition","enableFormat","formatTooltip","Function","bottom","left","watch","val","displayTooltip","tooltip","showPopper","hideTooltip","event","onDragStart","window","addEventListener","onDragging","onDragEnd","parseFloat","setPosition","clientY","touches","clientX","resetSize","diff","sliderSize","_this","setTimeout","removeEventListener","_this2","isNaN","lengthPerStep","steps","round","toFixed","$emit","updatePopper","src_buttonvue_type_script_lang_js_","componentNormalizer","__file","src_button","marker","arguments","label","emitter_","emitter_default","mainvue_type_script_lang_js_","mixins","inject","elForm","height","marks","ElInputNumber","SliderButton","SliderMarker","oldVal","every","index","setValues","minValue","maxValue","valueChanged","console","error","dispatch","slice","percent","targetValue","button1","sliderOffsetBottom","slider","sliderOffsetLeft","_this3","stopCount","stepWidth","result","push","filter","_this4","marksKeys","keys","map","sort","b","point","barSize","barStart","precisions","decimal","split","apply","width","valuetext","setAttribute","src_mainvue_type_script_lang_js_","main_component","install","arrayLikeToArray","_arrayWithoutHoles","arr","136","vue_popper_","vue_popper_default","debounce_","debounce_default","external_vue_","external_vue_default","openDelay","manual","effect","arrowOffset","popperClass","content","visibleArrow","transition","popperOptions","boundariesPadding","gpuAcceleration","enterable","hideAfter","tooltipId","timeoutPending","focusing","$isServer","popperVM","node","$mount","debounceClose","handleClosePopper","doDestroy","setExpectedState","id","directives","firstElement","getFirstElement","addTooltipClass","referenceElm","nodeType","show","hide","instance","componentInstance","handleFocus","handleBlur","removeFocusing","handleShowPopper","prev","replace","expectedState","clearTimeout","timeout","slots","element","$destroy","reference","19","5","7","scrollIntoView","_vue","_vue2","_interopRequireDefault","obj","container","selected","offsetParents","pointer","offsetParent","contains","top","offsetTop","reduce","curr","offsetHeight","viewRectTop","viewRectBottom","getMigratingConfig","events","115","isVertical","_t","some","vnode","componentOptions","removeResizeListener","addResizeListener","undefined","_resizeObserverPolyfill","_resizeObserverPolyfill2","_throttleDebounce","isServer","resizeHandler","entries","_iterator","_isArray","_i","next","done","entry","listeners","__resizeListeners__","forEach","fn","__ro__","observe","splice","indexOf","disconnect","_dom","nodeList","ctx","startClick","seed","createDocumentHandler","el","binding","mouseup","popperElm","methodName","bindingFn","documentHandler","unbind","len","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_toConsumableArray","i18n","use","_zhCN","_zhCN2","_deepmerge","_deepmerge2","_format","_format2","format","lang","merged","i18nHandler","vuei18n","getPrototypeOf","$t","locale","config","clone","path","array","current","j","hasModal","hasInitZIndex","zIndex","getModal","modalDom","PopupManager","createElement","stopPropagation","doOnModalClick","instances","modalFade","getInstance","register","deregister","nextZIndex","modalStack","topItem","closeOnClickModal","close","openModal","dom","modalClass","addClass","classArr","trim","removeClass","parentNode","appendChild","body","tabIndex","display","closeModal","pop","removeChild","configurable","$ELEMENT","set","getTopPopup","topPopup","closeOnPressEscape","handleClose","handleAction","10","12","15","21","22","31","33","rawName","visible","itemSelected","groupDisabled","limitReached","hoverItem","selectOptionClick","currentLabel","_typeof","constructor","optionvue_type_script_lang_js_","required","created","hitState","isObject","toString","toLowerCase","currentValue","select","multiple","isEqual","multipleLimit","remote","_select","valueKey","handleGroupDisabled","hoverIndex","queryChange","query","RegExp","test","filteredOptionsCount","cachedOptions","optionsCount","$on","_select2","selectedOptions","selectedIndex","onOptionDestroy","src_optionvue_type_script_lang_js_","37","6","61","selectSize","toggleMenu","inputWidth","collapseTags","closable","selectDisabled","collapseTagSize","hit","deleteTag","resetInputHeight","getValueKey","filterable","inputLength","autocomplete","autoComplete","domProps","softFocus","keyup","managePlaceholder","resetInputState","handleNavigate","selectOption","deletePrevTag","compositionstart","handleComposition","compositionupdate","compositionend","input","composing","debouncedQueryChange","placeholder","currentPlaceholder","readonly","debouncedOnInputChange","nativeOn","inputHovering","selectedLabel","prefix","showClose","iconClass","handleClearClick","handleMenuEnter","emptyText","popperAppendToBody","loading","allowCreate","showNewOption","empty","focus_","focus_default","locale_","locale_default","input_","input_default","select_dropdownvue_type_template_id_06828748_render","minWidth","select_dropdownvue_type_template_id_06828748_staticRenderFns","select_dropdownvue_type_script_lang_js_","appendToBody","destroyPopper","src_select_dropdownvue_type_script_lang_js_","select_dropdown","src_option","tag_","tag_default","scrollbar_","scrollbar_default","clickoutside_","clickoutside_default","scroll_into_view_","scroll_into_view_default","navigation_mixin","hoverOption","optionsAllDisabled","option","navigateOptions","scrollToOption","shared_","selectvue_type_script_lang_js_","elFormItem","provide","_elFormItemSize","elFormItemSize","hasValue","criteria","clearable","loadingText","noMatchText","noDataText","hasExistingOption","propPlaceholder","ElInput","ElSelectMenu","ElOption","ElTag","ElScrollbar","Clickoutside","validator","automaticDropdown","remoteMethod","filterMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","setSelected","broadcast","resetHoverIndex","inputs","querySelectorAll","activeElement","checkDefaultFirstOption","_this5","text","_","lastCharacter","_this6","popper","menu","querySelector","scrollbar","_this7","getOption","isNull","isUndefined","cachedOption","newOption","_this8","_this9","deleteSelected","toggleLastOptionHitState","_this10","inputChildNodes","childNodes","tagName","tags","tagsHeight","sizeInMap","_this11","handleOptionSelect","byClick","_this12","optionIndex","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","hasCreated","_this13","_this14","sizeMap","medium","small","mini","src_selectvue_type_script_lang_js_","select_component","src_select","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","scrollBarWidth","closeDelay","modal","modalAppendToBody","lockScroll","beforeMount","_popupId","restoreBodyStyle","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","_opening","open","nextTick","$props","_closeTimer","_openTimer","doOpen","willOpen","_closing","hasClass","paddingRight","parseInt","getStyle","bodyHasOverflow","documentElement","bodyOverflowY","getComputedStyle","onOpen","doAfterOpen","willClose","doClose","onClose","doAfterClose","THREE","OrgansSceneData","currentName","currentSystem","currentPart","currentSpecies","metaURL","viewURL","geometries","lines","glyphsets","pointsets","currentTime","timeVarying","OrgansViewer","ModelsLoaderIn","RendererModule","pickerScene","sceneData","timeChangedCallbacks","sceneChangedCallbacks","organPartAddedCallbacks","finishDownloadCallback","modelsLoader","NDCCameraControl","typeName","getSceneData","updateTime","duration","scene","getDuration","actualTime","nerveMapIsActive","setMorphsTime","preRenderTimeUpdate","zincRenderer","getCurrentTime","nerveMap","additionalReader","setTime","toggleSyncControl","flag","rotateMode","cameraControl","getZincCameraControls","resetView","enableSyncControl","setRotationMode","disableSyncControl","isSyncControl","setSyncControlZoomToBox","box","zoomToBox","setSyncControlCallback","setEventCallback","setSyncControlCenterZoom","center","zoom","setCenterZoom","postRenderSelectedCoordinatesUpdate","selectedCenter","vector","Vector3","copy","coord","vectorToScreenXY","selectedScreenCoordinates","x","y","preRenderUpdateCallback","postRenderUpdateCallback","addTimeChangedCallback","setTexturePos","setSliderPos","addSceneChangedCallback","addOrganPartAddedCallback","setFinishDownloadCallback","unsetFinishDownloadCallback","getNamedObjectsToScreenCoordinates","camera","setFromMatrixPosition","matrixWorld","widthHalf","heightHalf","project","getIdObjectFromIntersect","intersected","intersectedObject","userData","isMarker","morph","annotations","getAnnotationsFromObjects","group","_pickingCallback","intersects","window_x","window_y","getIntersectedObject","idObject","coords","isGlyph","setSelectedByObjects","setSelectedByZincObjects","getGlyphset","_hoverCallback","displayArea","cursor","setHighlightedByObjects","changeOrganPartsVisibilityForScene","findGeometriesWithGroupName","setVisibility","findGlyphsetsWithGroupName","findPointsetsWithGroupName","findLinesWithGroupName","changeGeometriesVisibility","changeGlyphsetsVisibility","changeLinesVisibility","changePointsetsVisibility","changeOrganPartsVisibility","typeIn","changeOrganPartsVisibilityCallback","changeBackgroundColour","backgroundColourString","colour","Color","internalRenderer","getThreeJSRenderer","setClearColor","addOrganPartToSceneData","zincObject","isGeometry","isGlyphset","isLines","isPointset","addOrganPart","systemName","partName","useDefautColour","isTimeVarying","setGeometryColour","annotation","region","getFullPath","species","system","part","groupName","_addOrganPartCallback","downloadCompletedCallback","settingsChanged","updateFieldvisibility","dataFields","geometryName","PartName","partDetails","getOrganDetails","SystemName","loadMetadataURL","getOrgansDirectoryPrefix","meta","getAvailableSpecies","availableSpecies","keysArray","organsFileMap","setSceneData","speciesName","organsDetails","loadOrgansFromURL","url","clearFirst","organScene","getSceneByName","clearAll","createScene","loadViewURL","setCurrentScene","graphicsHighlight","reset","zincCameraControl","enableRaycaster","setMouseButtonAction","loadGLTFFromURL","loadGLTF","alignCameraWithSelectedObject","transitionTime","objects","getSelected","alignObjectToCameraView","exportSettings","settings","instanceName","dialog","importSettings","setName","loadOrgans","initialise","initialiseRenderer","addPreRenderCallbackFunction","addPostRenderCallbackFunction","_classCallCheck","Constructor","Transition","beforeEnter","dataset","oldPaddingTop","paddingTop","oldPaddingBottom","paddingBottom","enter","oldOverflow","overflow","afterEnter","beforeLeave","leave","afterLeave","children","isInContainer","getScrollContainer","isScroll","once","off","setStyle","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","ieVersion","documentMode","string","camelCase","separator","letter","toUpperCase","handler","attachEvent","detachEvent","listener","cls","Error","classList","className","curClass","classes","clsName","remove","styleName","filters","opacity","currentStyle","defaultView","prop","determinedDirection","match","includes","elRect","containerRect","right","innerWidth","innerHeight","_arrayLikeToArray","arr2","GraphicsHighlight","currentHighlightedObjects","currentSelectedObjects","highlightColour","selectColour","originalColour","isDifferent","array1","array2","matched","getUnmatchingObjects","objectsArray1","objectsArray2","unmatchingObjects","setHighlighted","previousHighlightedObjects","resetHighlighted","fullList","getFullListOfObjects","material","emissive","setRGB","previousHSelectedObjects","resetSelected","depthFunc","LessEqualDepth","DEFAULTS","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","modifiers","modifiersIgnored","forceAbsolute","Popper","_reference","jquery","state","isNotDefined","isConfig","_popper","parse","_options","assign","modifier","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","visibility","offsetWidth","styles","marginTop","getOppositePlacement","hash","getPopperClientRect","popperOffsets","offsets","getArrayKeyIndex","keyToFind","getStyleComputedProperty","css","getOffsetParent","getScrollParent","isFixed","is_numeric","isFinite","unit","isFunction","functionToCheck","getType","getOffsetRect","elementRect","offsetLeft","rect","isIE","navigator","userAgent","rectTop","getOffsetRectRelativeToCustomParent","fixed","parentRect","scrollParent","getSupportedPropertyName","prefixes","toCheck","charAt","destroy","removeAttribute","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","onCreate","onUpdate","defaultConfig","classNames","attributes","contentType","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","innerHTML","textContent","arrow","warn","Element","attribute","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","padding","html","offsetParentRect","getScrollTopValue","getScrollLeftValue","ends","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","shift","basePlacement","shiftVariation","shiftOffsets","start","end","preventOverflow","order","check","keepTogether","f","floor","flip","flipped","placementOpposite","variation","flipOrder","_flip","arrowStyle","side","altSide","opSide","arrowSize","sideValue","writable","to","nextSource","nextIndex","nextKey","desc","getOwnPropertyDescriptor","_unsupportedIterableToArray","minLen","18","20","28","59","highlightCurrent","dragState","draggingNode","allowDrop","dropType","child","getNodeKey","renderAfterExpand","showCheckbox","renderContent","handleNodeExpand","isEmpty","showDropIndicator","merge_","merge_default","NODE_KEY","markNodeData","util_getNodeKey","findNearestComponent","__vue__","_createClass","defineProperties","descriptor","protoProps","staticProps","getChildState","all","none","allWithoutDisable","checked","indeterminate","half","reInitChecked","_getChildState","level","store","checkStrictly","getPropertyFromData","dataProp","nodeIdSeed","node_Node","Node","expanded","isCurrent","loaded","registerNode","isLeaf","isLeafByUser","lazy","setData","defaultExpandAll","expand","defaultExpandedKeys","autoExpandParent","currentNodeKey","currentNode","_initDefaultCheckedNode","updateLeafState","insertChild","deep","walk","batch","getChildren","insertBefore","insertAfter","dataIndex","deregisterNode","removeChildByData","targetNode","expandParent","shouldLoadData","loadData","setChecked","doCreateChildren","defaultProps","collapse","load","recursion","passValue","checkDescendants","_getChildState2","handleDescendants","isCheck","_getChildState3","_all","forceInit","updateChildren","newData","oldData","newDataMap","newNodes","isNodeExists","resolve","nodeKey","model_node","tree_store_classCallCheck","tree_store_TreeStore","TreeStore","nodesMap","loadFn","_initDefaultCheckedNodes","filterNodeMethod","traverse","allHidden","newVal","instanceChanged","getNode","refData","refNode","append","parentData","defaultCheckedKeys","checkedKey","setDefaultCheckedKey","getCheckedNodes","leafOnly","includeHalfChecked","checkedNodes","getCheckedKeys","getHalfCheckedNodes","getHalfCheckedKeys","_getAllNodes","allNodes","_child","_setCheckedKeys","checkedKeys","cache","setCheckedNodes","setCheckedKeys","setDefaultExpandedKeys","getCurrentNode","setCurrentNode","prevCurrentNode","setUserCurrentNode","currNode","setCurrentNodeKey","tree_store","tree_nodevue_type_template_id_3ba3ef0e_render","this$1","draggable","tree","handleClick","contextmenu","handleContextMenu","dragstart","handleDragStart","dragover","handleDragOver","dragend","handleDragEnd","drop","handleDrop","indent","handleExpandIconClick","handleCheckChange","$set","childNodeRendered","handleChildNodeExpand","tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns","collapse_transition_","collapse_transition_default","checkbox_","checkbox_default","tree_nodevue_type_script_lang_js_","ElCollapseTransition","ElCheckbox","NodeContent","_renderProxy","$scopedSlots","oldChecked","oldIndeterminate","handleSelectChange","expandOnClickNode","checkOnClickNode","_events","ev","halfCheckedNodes","halfCheckedKeys","nodeData","isTree","childrenKey","$watch","accordion","src_tree_nodevue_type_script_lang_js_","tree_node","treevue_type_script_lang_js_","ElTreeNode","treeItems","checkboxItems","dropNode","allowDrag","treeItemArray","checkbox","getNodePath","reverse","getCurrentKey","setCurrentKey","updateKeyChildren","initTabIndex","checkedItem","handleKeydown","currentItem","currentIndex","hasInput","treeNode","dataTransfer","effectAllowed","oldDropNode","dropPrev","dropInner","dropNext","userAllowDropInner","dropEffect","nextSibling","previousSibling","targetPosition","treePosition","prevPercent","nextPercent","indicatorTop","distance","iconPosition","dropIndicator","draggingNodeCopy","updated","src_treevue_type_script_lang_js_","tree_component","9","MODULE_CHANGE","ALL","DESTROYED","NAME_CHANGED","SETTINGS_CHANGED","BaseModule","onChangedCallbacks","eventNotifiers","callbackArray","publishChanges","eventType","publish","getName","addChangedCallback","removeChangedCallback","addNotifier","eventNotifier","77","handleAfterEnter","handleAfterLeave","title","trigger","wrapper","doToggle","handleDocumentClick","doShow","cleanup","deactivated","_timer","getReference","arg","directive","inserted","_locale","_len","args","_key","62","rootTabs","tabPosition","tab_barvue_type_script_lang_js_","tabs","tabSize","sizeName","sizeDir","firstUpperCase","str","L","tab","paneName","active","tabStyles","paddingLeft","src_tab_barvue_type_script_lang_js_","tab_bar","noop","tab_nav_render","tab_nav_staticRenderFns","tab_navvue_type_script_lang_js_firstUpperCase","tab_navvue_type_script_lang_js_","TabBar","panes","editable","onTabClick","onTabRemove","stretch","scrollable","navOffset","isFocus","focusable","navStyle","dir","scrollPrev","containerSize","navScroll","currentOffset","newOffset","scrollNext","navSize","nav","scrollToActiveTab","activeTab","isHorizontal","activeTabBounding","navScrollBounding","maxOffset","_currentOffset","changeTab","tabList","setFocus","removeFocus","visibilityChangeHandler","visibilityState","windowBlurHandler","windowFocusHandler","scrollBtn","pane","tabName","isClosable","btnClose","tabLabelContent","refInFor","src_tab_navvue_type_script_lang_js_","tab_nav_component","tabs_render","tabs_staticRenderFns","tab_nav","tabsvue_type_script_lang_js_","TabNav","activeName","addable","setCurrentName","_value","calcPaneInstances","isForceUpdate","paneSlots","Ctor","panesChanged","handleTabClick","handleTabRemove","handleTabAdd","changeCurrentName","before","then","_ref2","newButton","navData","header","panels","src_tabsvue_type_script_lang_js_","tabs_component","14","54","colorDisabled","colorSize","handleTrigger","showAlpha","backgroundColor","displayedColor","showPanelColor","color","predefine","pick","confirmValue","clear","clearValue","showPicker","hsv2hsl","hue","sat","isOnePointZero","isPercentage","bound01","processPercent","INT_HEX_MAP","11","13","toHex","g","hexOne","high","low","HEX_INT_MAP","A","B","C","D","E","F","parseHexChannel","hex","hsl2hsv","light","smin","lmin","sv","v","rgb2hsv","hsv2rgb","q","mod","_hue","_saturation","_alpha","enableAlpha","doOnChange","toRgb","fromString","fromHSV","parts","_hsl2hsv","_parts","_parts2","_rgb2hsv","substring","_rgb2hsv2","_h2","_s2","_v2","compare","hsl","_hsv2rgb","_hsl","_hsv2rgb2","_r","_g","_b","src_color","picker_dropdownvue_type_template_id_06601625_render","staticStyle","float","colors","handleConfirm","customInput","plain","picker_dropdownvue_type_template_id_06601625_staticRenderFns","sv_panelvue_type_template_id_d8583596_render","background","cursorTop","cursorLeft","sv_panelvue_type_template_id_d8583596_staticRenderFns","isDragging","moveFn","drag","upFn","ondragstart","sv_panelvue_type_script_lang_js_","colorValue","saturation","handleDrag","components_sv_panelvue_type_script_lang_js_","sv_panel","hue_slidervue_type_template_id_5cdc43b1_render","thumbLeft","thumbTop","hue_slidervue_type_template_id_5cdc43b1_staticRenderFns","hue_slidervue_type_script_lang_js_","hueValue","getThumbLeft","getThumbTop","_$refs","dragConfig","components_hue_slidervue_type_script_lang_js_","hue_slider_component","hue_slider","alpha_slidervue_type_template_id_068c66cb_render","alpha_slidervue_type_template_id_068c66cb_staticRenderFns","alpha_slidervue_type_script_lang_js_","alpha","getBackground","_color$toRgb","components_alpha_slidervue_type_script_lang_js_","alpha_slider_component","alpha_slider","predefinevue_type_template_id_06e03093_render","rgbaColors","handleSelect","predefinevue_type_template_id_06e03093_staticRenderFns","predefinevue_type_script_lang_js_","parseColors","components_predefinevue_type_script_lang_js_","predefine_component","button_","button_default","picker_dropdownvue_type_script_lang_js_","SvPanel","HueSlider","AlphaSlider","ElButton","Predefine","currentColor","sl","immediate","components_picker_dropdownvue_type_script_lang_js_","picker_dropdown_component","picker_dropdown","colorFormat","displayedRgb","currentValueColor","currentValueColorRgb","resetColor","dropdown","PickerDropdown","116","source","92","checkbox_groupvue_type_script_lang_js_","fill","textColor","checkboxGroupSize","src_checkbox_groupvue_type_script_lang_js_","checkbox_group","arrayEquals","looseEqual","capitalize","kebabCase","autoprefixer","isFirefox","isEdge","coerceTruthyValueToArray","arrayFind","arrayFindIndex","escapeRegexpString","valueEquals","generateId","getValueByPath","hasOwn","toObject","getPropByPath","rafThrottle","objToArray","_types","extend","_from","res","paths","strict","tempObj","keyArr","k","random","pred","idx","rules","rule","hyphenateRE","isString","isObjectA","isObjectB","JSON","stringify","arrayA","arrayB","value1","value2","message","locked","requestAnimationFrame","createRenderer","WEBGL","localContainer","localRenderer","isWebGLAvailable","Zinc","Renderer","defaultMaterialColor","initialiseVisualisation","playAnimation","warning","getWebGLErrorMessage","rendererContainer","isZincObject","glyphset","propagateChanges","changed","EVENT_TYPE","MOVE","HIGHLIGHTED","setHighlightedByZincObjects","zincObjects","morphs","setupLiveCoordinates","boundingBox","getBoundingBoxOfZincObjects","newSelectedCenter","getCenter","objectsToZincObjects","SELECTED","addGlyphToArray","glyph","getMesh","findObjectsByGroupName","forEachGlyph","setHighlightedByGroupName","setSelectedByGroupName","viewAll","setPlayRate","getPlayRate","displayAreaIn","returnedValue","animate","dispose","41","72","customClass","fullscreen","spinner","viewBox","cx","cy","loadingvue_type_script_lang_js_","setText","src_loadingvue_type_script_lang_js_","popup_","after_leave_","after_leave_default","Mask","loadingDirective","toggleLoading","originalPosition","originalOverflow","maskStyle","mask","insertDom","hiding","domVisible","lock","domInserted","textExr","getAttribute","spinnerExr","backgroundExr","customClassExr","vm","LoadingConstructor","defaults","fullscreenLoading","src_addStyle","src_Loading","src","$loading","service","130","tagvue_type_script_lang_js_","disableTransitions","tagSize","tagEl","src_tagvue_type_script_lang_js_","isAnnotation","125","handleWrapperClick","drawerSize","withHeader","closeDrawer","popup_default","beforeClose","destroyOnClose","wrapperClosable","closed","prevActiveElement","cancel","SelectionEvent","eventTypeIn","identifiersIn","identifiers","Subscription","subscriberIn","callbackIn","targetedID","subscriber","targetEventType","getEventType","notify","ids","EventNotifier","subscriptions","subscribe","callbackFunction","subscription","unsubscribe","template","RE_NARGS","_util","102","iconvue_type_script_lang_js_","src_iconvue_type_script_lang_js_","icon","isDefined","isHtmlElement","ELEMENT_NODE","Int8Array","colorpicker","confirm","datepicker","now","today","selectDate","selectTime","startDate","startTime","endDate","endTime","prevYear","nextYear","prevMonth","nextMonth","year","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","week","weeks","sun","mon","tue","wed","thu","fri","months","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","noMatch","noData","cascader","pagination","goto","pagesize","total","pageClassifier","messagebox","upload","deleteTip","delete","preview","continue","table","confirmFilter","resetFilter","clearFilter","sumText","transfer","titles","filterPlaceholder","noCheckedFormat","hasCheckedFormat","image","pageHeader","popconfirm","confirmButtonText","cancelButtonText","description","138","col","span","pull","xs","sm","md","lg","xl","speed","called","afterLeaveCallback","$once","118","canvas","WebGLRenderingContext","getContext","isWebGL2Available","WebGL2RenderingContext","getErrorMessage","getWebGL2ErrorMessage","version","names","1","contexts","fontFamily","fontSize","fontWeight","textAlign","margin","_broadcast","eventName","params","$children","isDef","isKorean","reg","_readOnlyError","90","border","checkboxSize","isDisabled","isChecked","trueLabel","falseLabel","_q","$$a","$$el","$$c","$$i","handleChange","checkboxvue_type_script_lang_js_","selfModel","isLimitExceeded","isGroup","_checkboxGroup","isLimitDisabled","temCheckboxSize","addToStore","src_checkboxvue_type_script_lang_js_","src_checkbox","100","tab_panevue_type_script_lang_js_","labelContent","src_tab_panevue_type_script_lang_js_","tab_pane","30","element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__","interval","Date","clearInterval","setInterval","86","inputNumberSize","inputNumberDisabled","controlsAtRight","decrease","minDisabled","increase","maxDisabled","displayValue","handleInput","handleInputChange","repeat_click","input_numbervue_type_script_lang_js_","repeatClick","stepStrictly","Infinity","controlsPosition","userInput","stepPrecision","getPrecision","precisionFactor","pow","toPrecision","_decrease","_increase","numPrecision","num","valueString","dotPosition","setCurrentValue","innerInput","src_input_numbervue_type_script_lang_js_","input_number","outer","widthNoScroll","inner","widthWithScroll","53","_select_src_option__WEBPACK_IMPORTED_MODULE_0__","_popup","PopperJS","stop","transformOrigin","currentPlacement","createPopper","elm","appendArrow","popperJS","resetTransformOrigin","forceDestroy","placementMap","origin","appended","95","buttonSize","buttonDisabled","circle","autofocus","nativeType","propsData","evt","74","inputDisabled","inputExceed","prepend","prefixIcon","suffix","suffixIcon","showPassword","passwordVisible","handleCompositionStart","handleCompositionUpdate","handleCompositionEnd","$attrs","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","handlePasswordVisible","textLength","upperLimit","validateState","validateIcon","textareaStyle","migrating_","migrating_default","hiddenTextarea","HIDDEN_STYLE","CONTEXT_STYLE","calculateNodeStyling","targetElement","boxSizing","getPropertyValue","paddingSize","borderSize","contextStyle","join","calcTextareaHeight","minRows","maxRows","_calculateNodeStyling","singleRowHeight","minHeight","maxHeight","inputvue_type_script_lang_js_","inheritAttrs","textareaCalcStyle","focused","isComposing","form","autosize","validateEvent","showWordLimit","needStatusIcon","statusIcon","validating","success","nativeInputValue","maxlength","resizeTextarea","setNativeInputValue","updateIconOffset","getInput","textarea","calcIconOffset","place","elList","pendantMap","pendant","src_inputvue_type_script_lang_js_","currentScript","getCurrentScript","tData","backgroundChangeCallback","displayUI","isTransitioning","warningMessage","hoverVisabilities","showToolitip","hideToolitip","helpMode","$module","showColourPicker","objectSelected","objectHovered","drawerToggled","minimisedSlider","sliderPosition","play","timeMax","timeStamps","timeChange","orginalDuration","animateDuration","currentSpeed","speedChanged","zoomIn","zoomOut","fitWindow","currentBackground","drawerOpen","toggleDrawer","displayString","setObject","treeData","checkChanged","scopedSlots","_u","activeItem","nodeIsActive","nodeIsHover","changeActiveByNode","changeHoverByNode","getColour","myPopperClass","setColour","createListFromPrimitives","primitives","list","primitive","getVisibility","regionPath","extractAllIds","findObjectsWithNames","rootRegion","targetRegion","targetObjects","findChildFromPath","temp","findObjectsWithGroupName","addTreeItem","parentContainer","findOrCreateRegion","childRegion","_paths","organsAdded","regionData","localNode","changeActiveByPrimitives","changeHoverByPrimitives","changeActiveByNames","changeHoverByNames","removeActive","removeHover","visibilityToggle","setTreeVisibility","checkAllKeys","getState","checkAll","checkedItems","setState","MapSvgIcon","MapSvgSpriteColor","OpacityControls","ScaffoldTooltip","TreeControls","displayAtStartUp","displayWarning","displayMarkers","displayMinimap","minimapSettings","x_offset","y_offset","isPlaying","tooltipAppendToBody","inHelp","availableBackground","playSpeed","fileFormat","captureScreenshotCallback","domElement","toDataURL","hrefElement","captureScreenshot","stopFreeSpin","cameracontrol","viewRegion","setFocusedRegion","updateViewURL","getRendererInfo","freeSpin","eventNotifierCallback","identifier","getCoordinatesOfSelected","getDynamicSelectedCoordinates","changeActiveByName","changeHighlightedByName","setHelpMode","updateMinimapScissor","updateSettingsfromScene","setURLFinishCallback","setCurrentCameraSettings","viewport","exportGLTF","setURLAndState","newValue","setURL","pppp","adjustLayout","toggleRendering","forceResize","syncControlCallback"],"mappings":"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,wCACA,GACA97D,kBACAwF,KACAm1D,eACAI,mCAEA,kCAKAhB,2BACA,wCACAmB,oBACAnnE,oCACA,qCACA,cACAgoE,kCACAlB,0BAIA9mE,wCACA,yCAGAioE,uCACA,wBACA,eACA,aACA,mCACA,uCAEA,qBAEA,qBAEAC,sCACA,wBACA,cACA,aACA,kCACA,sCAEA,qBAMAC,oCACA,wCACA,SACAnB,GACA,oCAKAoB,mCACA,wCACA,SACApB,GACA,mCAEAV,iCACA,cACA,+CAEAC,gCACA,cACA,8CAKA8B,yBACA,eACA,wCAKAC,wBACA,cACA,uCAKAzqB,iBACA,qBACA,8BACA,oBACA,6BACA,mDACA,sCAEA2oB,sBACA,MACA,sBACA,MACA,uBACA,kBAGA,iBAEAE,wBACA,iBACA/0B,kCACA,0BACAm1B,sBAIA1a,mBACA,uBAEAmc,+BACA,4CACA,OACA,uBACA,sBAEA,sBACA,uBAIA3C,wBACA,iCACA,8CAEA4C,gCAAA,WACA,KACA,yBACA,oCACA,6EACA,gFAEAC,wBACA,SACAxB,uBACA,2CACA,yCAEAyB,oBACA,6CACA,qCACA,CAAAC,YAAAnQ,eACA,CAAAoQ,eAAApQ,gBAEAqQ,qBACA,KACA,cACA,yBACA,mBACA,IAIA,EAJA,KACA,qBACAhC,kCAAA,eACAA,qBAEA,sCAEA,2CACA,4CC3YsV,MCSlV,I,oBAAY,EACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBCsPfpuD,IAAOA,IAAIA,KACXld,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,eACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KACRA,IAAIA,IAAIA,KAER,8BACA,2BAQe,IACflD,oBACAmH,YACAspE,4BACAC,0CACAC,kBACAC,mBACAC,iBAEA7uE,OAOAg8B,KACA97B,YACAE,YAKAgqE,kBACAlqE,aACAE,YAKAwpE,WACA1pE,aACAE,YAOA0uE,kBACA5uE,aACAE,YAKA8pE,UACAhqE,aACAE,YAKA2uE,gBACA7uE,aACAE,YAMA0pE,gBACA5pE,YACAE,mDAKA4uE,gBACA9uE,aACAE,YAKA6uE,gBACA/uE,aACAE,YAKAyd,QACA3d,YACAE,oBAKA8uE,iBACAhvE,YACAE,mBACA,OACA+uE,YACAC,YACAx6D,UACAzC,WACA3R,qBAOAwjC,OACA9jC,YACAE,gBAMAi6B,QACAn6B,YACAE,YAOA0xB,SACA5xB,YACAE,YAKAU,QACAZ,aACAE,aAGAuF,gBACA,OACA8sB,iCACA48C,aAIAxF,mBACAyF,uBACAvF,mBACA,CAAArrE,UACA,CAAAA,UACA,CAAAA,UACA,CAAAA,UACA,CAAAA,UACA,CAAAA,UACA,CAAAA,WAEA6wE,UACApoD,WACAgM,aACAm4C,cACAD,0BACAmE,qDACAhF,mBACAC,kBACAE,YACAG,mBACAC,wBACA0E,WACA,CACA/wE,SACAkT,cAEA,CACAlT,SACAkT,cAEA,CACAlT,QACAkT,YAEA,CACAlT,QACAkT,YAEA,CACAlT,QACAkT,YAEA,CACAlT,SACAkT,cAGAo5D,eACAJ,cACAz3B,sBACAu2B,OACA93D,SACAiQ,WACA6T,MACAC,OAEA+5C,wBAGAngE,OACAsO,QACAkiB,oBACA,mBAEAyrB,cAEAxvB,KACA+D,yBACA,yCACA,gBAEAyrB,cAEAnxB,QACA0F,oBACA,oDAEAyrB,cAEAxnB,OACAjE,oBACA,kBAEAyrB,aACAzb,SAEAje,SACAiO,oBACA,uBAEAyrB,cAEA0e,qBACA,qBAEA8E,2BACA,qCAEAC,2BACA,qCAEA,mCAOA,sDAEA97C,oBACA,+CAEA+7C,iBACAn/B,QACAhQ,gCAEAj/B,mBACA,0BAGAuI,wBACA,oBACA,gBACA,wBACA,uBACA,+BACA,wBACA,2DAEApC,mBACA,aACAu0C,6CACA,4BACA,yDACA,oDACA,kCACA,sDACA,8BAEA,6CAEAp0C,yBACA,8BACA,uBACA,qBAEA1F,SAIA+rE,uBACA,iBAQA9D,qCACA,yBACA,0BACArwC,qBACAC,cAAA,2BAMAo2C,qCAEA,2DACA,gBAEA,gCACAr2C,qBACAs2C,WAAAC,UAAA,aACA,8BACAlrE,wBACA,qBACAmrE,gCADA,4BAEAA,SACAA,UACAA,YASAC,8BACA,uBACA,uEACA,iCAGA5gE,cApDA,SAoDAK,GACA,sBACA,GACA,iCACA,mCACA,WAGA,oCAQA47D,qBACA,oBACA,8BASAF,kBACA,oBACA,mDASAC,mBACA,oBACA,kDAQAF,yBACA,oBACA,8DAOA+E,wBACA,iDACAC,mBACA,yBAEA9C,qCACA,SAIA,OAHA,+BACAlwC,kDAEA,GAKAizC,uBACA,yCACA,yBACA,aACA,oDACA,YACA,6BACA,wCAEA,8CAEA,IAIAC,6BACA,IACA,aACA,mBAEA,uCACA,2BAAA91C,cAKA+1C,0BACA,KACA,iBACA,0BACA,uCAEA,uCACA,2BAAAt+C,cAKAu+C,2BACA,6BACA,4DAUAC,oBACA,uBACA,iDACA,wBACAL,qBACAA,+BACAr/D,oCAOA2/D,kCACA,SACA,SAWA,GAVA,gCACA1gE,mCACA,MACA,gBACA2gE,UACAA,aACApS,cAIA,eACA,yBACA,WACA,mDAEA,yCAIA,mDACA,mBAUA,GATA,sBAEA,yBACA,WACA,kDAEA,wCAGA,0CACA,+BACAvuD,yBACAA,4BACA,0BACA,sBACA,mBACA,uCACA,wCAIA,sDACA,mBACA,0CACA,yBACA,2DACA,8CACA,+CAUA4gE,oCACA,uDACA,sEAWAC,yCACA,+CAKA7F,uBACA,yBACA,+BACA,4BAOAR,6BACA,uBACA,sBACA,6DACA,oDACA,gDAOAC,4BACA,sBACA,uDACA,mDAOAqG,mCACA,uBACA,+BACA,2CACA,CACA,QACA,IACAnyD,OACA,oDAQAoyD,wCACA,uBACA,+BACA,0CACA,CACA,QACA,IACApyD,OACA,mDAQAksD,iBACA,8BACA,kBAKAmG,wBACA,GACA,eACA,4CACAhlE,gBAGA,eACA,4CACAA,gBAQAm+D,yBAAA,WACA,cACA,wCACA,kCACA,OAMAC,yBACA,cACA,mCACA3xD,iCAOAw4D,gCAAA,WACA3yE,uDACA,0DAEA,qDAEA4yE,mCACA,oBACA,2CACA,uDACA,oBAEA,mEACA,sDAEA,aADA,mBACA,EACA,wBAEA,+CAEAC,iCAAA,WACA,kBACA,MACA,cACA,gBACA78C,wBACA88C,yBAAA9oE,iBACA,8BACA,+BACA,oCACA,yBACA,uBAEA,cAEA,wBACA,8CAIA,4BACA,0BACA,wBACA,wCACA,oBACA,eASAkmE,oBACA,OACAxwD,uBACAme,qBACAk1C,gBACArsC,mBAIA,GAFA,yBACAb,gDACA,oBACA,iDACAA,kCAEA,UAQAwqC,qBACA,IACA,gCACA,2BACAkB,wBACAwB,oBACArsC,2BAGA,4BACA,kCACA,YACA,mBACA1Q,wBACA88C,yBAAAjtC,YACA,cACA,+CAEA,uCACA,2BACAktC,oBACArsC,8BAQAssC,uBACA,yCASAC,6BACA,wBACA,wCACA,sCACA,EACAptC,oCACA,mBACA,wBACA,+BACA,gBACA,gBACA,uCACA,2BACAktC,WACA72C,mBACAvI,qBACA+S,gBAGA,yBACA,2CAEA,+BACAwsC,OACA12D,OACAA,EACA,aACAA,GACA,GAGA,sDACA,sDACA,8BASA22D,mBACA,+BAKA/G,0BAAAgH,KACA,kBACA,qBAKAC,wBACA,+CACA,2BACA,qBACA,mDAEA,wBAGAC,4BACA,4BACA,EACA,oCAEA,0CAIAC,uBACA,2BACA,4CAGAC,+BACA,iDACA,oCAMA59C,gCACA,oCACA,iEC/nCsV,MCSlV,I,oBAAY,EACd,GACAjzB,EACA8G,GACA,EACA,KACA,WACA,OAIa,M,4BCpBf3K,EAAOD,QAAU2C,QAAQ","file":"scaffoldvuer.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"scaffoldvuer\"] = factory();\n\telse\n\t\troot[\"scaffoldvuer\"] = factory();\n})((typeof self !== 'undefined' ? self : this), function() {\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 = \"fae3\");\n","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js/modules/es.array.find.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 137);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 137:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./packages/row/src/row.js\n/* harmony default export */ var row = ({\n name: 'ElRow',\n\n componentName: 'ElRow',\n\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n gutter: Number,\n type: String,\n justify: {\n type: String,\n default: 'start'\n },\n align: String\n },\n\n computed: {\n style: function style() {\n var ret = {};\n\n if (this.gutter) {\n ret.marginLeft = '-' + this.gutter / 2 + 'px';\n ret.marginRight = ret.marginLeft;\n }\n\n return ret;\n }\n },\n\n render: function render(h) {\n return h(this.tag, {\n class: ['el-row', this.justify !== 'start' ? 'is-justify-' + this.justify : '', this.align ? 'is-align-' + this.align : '', { 'el-row--flex': this.type === 'flex' }],\n style: this.style\n }, this.$slots.default);\n }\n});\n// CONCATENATED MODULE: ./packages/row/index.js\n\n\n/* istanbul ignore next */\nrow.install = function (Vue) {\n Vue.component(row.name, row);\n};\n\n/* harmony default export */ var packages_row = __webpack_exports__[\"default\"] = (row);\n\n/***/ })\n\n/******/ });","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (ref) {\n return {\n methods: {\n focus: function focus() {\n this.$refs[ref].focus();\n }\n }\n };\n};\n\n;","module.exports = require(\"core-js/modules/web.dom-collections.for-each.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 131);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 131:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\nvar scrollbar_width_ = __webpack_require__(38);\nvar scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./packages/scrollbar/src/util.js\nvar BAR_MAP = {\n vertical: {\n offset: 'offsetHeight',\n scroll: 'scrollTop',\n scrollSize: 'scrollHeight',\n size: 'height',\n key: 'vertical',\n axis: 'Y',\n client: 'clientY',\n direction: 'top'\n },\n horizontal: {\n offset: 'offsetWidth',\n scroll: 'scrollLeft',\n scrollSize: 'scrollWidth',\n size: 'width',\n key: 'horizontal',\n axis: 'X',\n client: 'clientX',\n direction: 'left'\n }\n};\n\nfunction renderThumbStyle(_ref) {\n var move = _ref.move,\n size = _ref.size,\n bar = _ref.bar;\n\n var style = {};\n var translate = 'translate' + bar.axis + '(' + move + '%)';\n\n style[bar.size] = size;\n style.transform = translate;\n style.msTransform = translate;\n style.webkitTransform = translate;\n\n return style;\n};\n// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var src_bar = ({\n name: 'Bar',\n\n props: {\n vertical: Boolean,\n size: String,\n move: Number\n },\n\n computed: {\n bar: function bar() {\n return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];\n },\n wrap: function wrap() {\n return this.$parent.wrap;\n }\n },\n\n render: function render(h) {\n var size = this.size,\n move = this.move,\n bar = this.bar;\n\n\n return h(\n 'div',\n {\n 'class': ['el-scrollbar__bar', 'is-' + bar.key],\n on: {\n 'mousedown': this.clickTrackHandler\n }\n },\n [h('div', {\n ref: 'thumb',\n 'class': 'el-scrollbar__thumb',\n on: {\n 'mousedown': this.clickThumbHandler\n },\n\n style: renderThumbStyle({ size: size, move: move, bar: bar }) })]\n );\n },\n\n\n methods: {\n clickThumbHandler: function clickThumbHandler(e) {\n // prevent click event of right button\n if (e.ctrlKey || e.button === 2) {\n return;\n }\n this.startDrag(e);\n this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]);\n },\n clickTrackHandler: function clickTrackHandler(e) {\n var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]);\n var thumbHalf = this.$refs.thumb[this.bar.offset] / 2;\n var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n startDrag: function startDrag(e) {\n e.stopImmediatePropagation();\n this.cursorDown = true;\n\n Object(dom_[\"on\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n Object(dom_[\"on\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n document.onselectstart = function () {\n return false;\n };\n },\n mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) {\n if (this.cursorDown === false) return;\n var prevPage = this[this.bar.axis];\n\n if (!prevPage) return;\n\n var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1;\n var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage;\n var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n mouseUpDocumentHandler: function mouseUpDocumentHandler(e) {\n this.cursorDown = false;\n this[this.bar.axis] = 0;\n Object(dom_[\"off\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n document.onselectstart = null;\n }\n },\n\n destroyed: function destroyed() {\n Object(dom_[\"off\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/src/main.js\n// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js\n\n\n\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var main = ({\n name: 'ElScrollbar',\n\n components: { Bar: src_bar },\n\n props: {\n native: Boolean,\n wrapStyle: {},\n wrapClass: {},\n viewClass: {},\n viewStyle: {},\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n data: function data() {\n return {\n sizeWidth: '0',\n sizeHeight: '0',\n moveX: 0,\n moveY: 0\n };\n },\n\n\n computed: {\n wrap: function wrap() {\n return this.$refs.wrap;\n }\n },\n\n render: function render(h) {\n var gutter = scrollbar_width_default()();\n var style = this.wrapStyle;\n\n if (gutter) {\n var gutterWith = '-' + gutter + 'px';\n var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';';\n\n if (Array.isArray(this.wrapStyle)) {\n style = Object(util_[\"toObject\"])(this.wrapStyle);\n style.marginRight = style.marginBottom = gutterWith;\n } else if (typeof this.wrapStyle === 'string') {\n style += gutterStyle;\n } else {\n style = gutterStyle;\n }\n }\n var view = h(this.tag, {\n class: ['el-scrollbar__view', this.viewClass],\n style: this.viewStyle,\n ref: 'resize'\n }, this.$slots.default);\n var wrap = h(\n 'div',\n {\n ref: 'wrap',\n style: style,\n on: {\n 'scroll': this.handleScroll\n },\n\n 'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] },\n [[view]]\n );\n var nodes = void 0;\n\n if (!this.native) {\n nodes = [wrap, h(src_bar, {\n attrs: {\n move: this.moveX,\n size: this.sizeWidth }\n }), h(src_bar, {\n attrs: {\n vertical: true,\n move: this.moveY,\n size: this.sizeHeight }\n })];\n } else {\n nodes = [h(\n 'div',\n {\n ref: 'wrap',\n 'class': [this.wrapClass, 'el-scrollbar__wrap'],\n style: style },\n [[view]]\n )];\n }\n return h('div', { class: 'el-scrollbar' }, nodes);\n },\n\n\n methods: {\n handleScroll: function handleScroll() {\n var wrap = this.wrap;\n\n this.moveY = wrap.scrollTop * 100 / wrap.clientHeight;\n this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;\n },\n update: function update() {\n var heightPercentage = void 0,\n widthPercentage = void 0;\n var wrap = this.wrap;\n if (!wrap) return;\n\n heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;\n\n this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '';\n this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '';\n }\n },\n\n mounted: function mounted() {\n if (this.native) return;\n this.$nextTick(this.update);\n !this.noresize && Object(resize_event_[\"addResizeListener\"])(this.$refs.resize, this.update);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.native) return;\n !this.noresize && Object(resize_event_[\"removeResizeListener\"])(this.$refs.resize, this.update);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var scrollbar = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scrollbar-width\");\n\n/***/ })\n\n/******/ });","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 63);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 29:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tooltip\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 49:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input-number\");\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=template&id=32708644&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-slider\",\n class: {\n \"is-vertical\": _vm.vertical,\n \"el-slider--with-input\": _vm.showInput\n },\n attrs: {\n role: \"slider\",\n \"aria-valuemin\": _vm.min,\n \"aria-valuemax\": _vm.max,\n \"aria-orientation\": _vm.vertical ? \"vertical\" : \"horizontal\",\n \"aria-disabled\": _vm.sliderDisabled\n }\n },\n [\n _vm.showInput && !_vm.range\n ? _c(\"el-input-number\", {\n ref: \"input\",\n staticClass: \"el-slider__input\",\n attrs: {\n step: _vm.step,\n disabled: _vm.sliderDisabled,\n controls: _vm.showInputControls,\n min: _vm.min,\n max: _vm.max,\n debounce: _vm.debounce,\n size: _vm.inputSize\n },\n on: { change: _vm.emitChange },\n model: {\n value: _vm.firstValue,\n callback: function($$v) {\n _vm.firstValue = $$v\n },\n expression: \"firstValue\"\n }\n })\n : _vm._e(),\n _c(\n \"div\",\n {\n ref: \"slider\",\n staticClass: \"el-slider__runway\",\n class: { \"show-input\": _vm.showInput, disabled: _vm.sliderDisabled },\n style: _vm.runwayStyle,\n on: { click: _vm.onSliderClick }\n },\n [\n _c(\"div\", { staticClass: \"el-slider__bar\", style: _vm.barStyle }),\n _c(\"slider-button\", {\n ref: \"button1\",\n attrs: {\n vertical: _vm.vertical,\n \"tooltip-class\": _vm.tooltipClass\n },\n model: {\n value: _vm.firstValue,\n callback: function($$v) {\n _vm.firstValue = $$v\n },\n expression: \"firstValue\"\n }\n }),\n _vm.range\n ? _c(\"slider-button\", {\n ref: \"button2\",\n attrs: {\n vertical: _vm.vertical,\n \"tooltip-class\": _vm.tooltipClass\n },\n model: {\n value: _vm.secondValue,\n callback: function($$v) {\n _vm.secondValue = $$v\n },\n expression: \"secondValue\"\n }\n })\n : _vm._e(),\n _vm._l(_vm.stops, function(item, key) {\n return _vm.showStops\n ? _c(\"div\", {\n key: key,\n staticClass: \"el-slider__stop\",\n style: _vm.getStopStyle(item)\n })\n : _vm._e()\n }),\n _vm.markList.length > 0\n ? [\n _c(\n \"div\",\n _vm._l(_vm.markList, function(item, key) {\n return _c(\"div\", {\n key: key,\n staticClass: \"el-slider__stop el-slider__marks-stop\",\n style: _vm.getStopStyle(item.position)\n })\n }),\n 0\n ),\n _c(\n \"div\",\n { staticClass: \"el-slider__marks\" },\n _vm._l(_vm.markList, function(item, key) {\n return _c(\"slider-marker\", {\n key: key,\n style: _vm.getStopStyle(item.position),\n attrs: { mark: item.mark }\n })\n }),\n 1\n )\n ]\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=template&id=32708644&\n\n// EXTERNAL MODULE: external \"element-ui/lib/input-number\"\nvar input_number_ = __webpack_require__(49);\nvar input_number_default = /*#__PURE__*/__webpack_require__.n(input_number_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2&\nvar buttonvue_type_template_id_e72d2ad2_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n ref: \"button\",\n staticClass: \"el-slider__button-wrapper\",\n class: { hover: _vm.hovering, dragging: _vm.dragging },\n style: _vm.wrapperStyle,\n attrs: { tabindex: \"0\" },\n on: {\n mouseenter: _vm.handleMouseEnter,\n mouseleave: _vm.handleMouseLeave,\n mousedown: _vm.onButtonDown,\n touchstart: _vm.onButtonDown,\n focus: _vm.handleMouseEnter,\n blur: _vm.handleMouseLeave,\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"left\", 37, $event.key, [\n \"Left\",\n \"ArrowLeft\"\n ])\n ) {\n return null\n }\n if (\"button\" in $event && $event.button !== 0) {\n return null\n }\n return _vm.onLeftKeyDown($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"right\", 39, $event.key, [\n \"Right\",\n \"ArrowRight\"\n ])\n ) {\n return null\n }\n if (\"button\" in $event && $event.button !== 2) {\n return null\n }\n return _vm.onRightKeyDown($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.onLeftKeyDown($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.onRightKeyDown($event)\n }\n ]\n }\n },\n [\n _c(\n \"el-tooltip\",\n {\n ref: \"tooltip\",\n attrs: {\n placement: \"top\",\n \"popper-class\": _vm.tooltipClass,\n disabled: !_vm.showTooltip\n }\n },\n [\n _c(\"span\", { attrs: { slot: \"content\" }, slot: \"content\" }, [\n _vm._v(_vm._s(_vm.formatValue))\n ]),\n _c(\"div\", {\n staticClass: \"el-slider__button\",\n class: { hover: _vm.hovering, dragging: _vm.dragging }\n })\n ]\n )\n ],\n 1\n )\n}\nvar buttonvue_type_template_id_e72d2ad2_staticRenderFns = []\nbuttonvue_type_template_id_e72d2ad2_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=template&id=e72d2ad2&\n\n// EXTERNAL MODULE: external \"element-ui/lib/tooltip\"\nvar tooltip_ = __webpack_require__(29);\nvar tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var buttonvue_type_script_lang_js_ = ({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip: tooltip_default.a\n },\n\n props: {\n value: {\n type: Number,\n default: 0\n },\n vertical: {\n type: Boolean,\n default: false\n },\n tooltipClass: String\n },\n\n data: function data() {\n return {\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: null,\n oldValue: this.value\n };\n },\n\n\n computed: {\n disabled: function disabled() {\n return this.$parent.sliderDisabled;\n },\n max: function max() {\n return this.$parent.max;\n },\n min: function min() {\n return this.$parent.min;\n },\n step: function step() {\n return this.$parent.step;\n },\n showTooltip: function showTooltip() {\n return this.$parent.showTooltip;\n },\n precision: function precision() {\n return this.$parent.precision;\n },\n currentPosition: function currentPosition() {\n return (this.value - this.min) / (this.max - this.min) * 100 + '%';\n },\n enableFormat: function enableFormat() {\n return this.$parent.formatTooltip instanceof Function;\n },\n formatValue: function formatValue() {\n return this.enableFormat && this.$parent.formatTooltip(this.value) || this.value;\n },\n wrapperStyle: function wrapperStyle() {\n return this.vertical ? { bottom: this.currentPosition } : { left: this.currentPosition };\n }\n },\n\n watch: {\n dragging: function dragging(val) {\n this.$parent.dragging = val;\n }\n },\n\n methods: {\n displayTooltip: function displayTooltip() {\n this.$refs.tooltip && (this.$refs.tooltip.showPopper = true);\n },\n hideTooltip: function hideTooltip() {\n this.$refs.tooltip && (this.$refs.tooltip.showPopper = false);\n },\n handleMouseEnter: function handleMouseEnter() {\n this.hovering = true;\n this.displayTooltip();\n },\n handleMouseLeave: function handleMouseLeave() {\n this.hovering = false;\n this.hideTooltip();\n },\n onButtonDown: function onButtonDown(event) {\n if (this.disabled) return;\n event.preventDefault();\n this.onDragStart(event);\n window.addEventListener('mousemove', this.onDragging);\n window.addEventListener('touchmove', this.onDragging);\n window.addEventListener('mouseup', this.onDragEnd);\n window.addEventListener('touchend', this.onDragEnd);\n window.addEventListener('contextmenu', this.onDragEnd);\n },\n onLeftKeyDown: function onLeftKeyDown() {\n if (this.disabled) return;\n this.newPosition = parseFloat(this.currentPosition) - this.step / (this.max - this.min) * 100;\n this.setPosition(this.newPosition);\n this.$parent.emitChange();\n },\n onRightKeyDown: function onRightKeyDown() {\n if (this.disabled) return;\n this.newPosition = parseFloat(this.currentPosition) + this.step / (this.max - this.min) * 100;\n this.setPosition(this.newPosition);\n this.$parent.emitChange();\n },\n onDragStart: function onDragStart(event) {\n this.dragging = true;\n this.isClick = true;\n if (event.type === 'touchstart') {\n event.clientY = event.touches[0].clientY;\n event.clientX = event.touches[0].clientX;\n }\n if (this.vertical) {\n this.startY = event.clientY;\n } else {\n this.startX = event.clientX;\n }\n this.startPosition = parseFloat(this.currentPosition);\n this.newPosition = this.startPosition;\n },\n onDragging: function onDragging(event) {\n if (this.dragging) {\n this.isClick = false;\n this.displayTooltip();\n this.$parent.resetSize();\n var diff = 0;\n if (event.type === 'touchmove') {\n event.clientY = event.touches[0].clientY;\n event.clientX = event.touches[0].clientX;\n }\n if (this.vertical) {\n this.currentY = event.clientY;\n diff = (this.startY - this.currentY) / this.$parent.sliderSize * 100;\n } else {\n this.currentX = event.clientX;\n diff = (this.currentX - this.startX) / this.$parent.sliderSize * 100;\n }\n this.newPosition = this.startPosition + diff;\n this.setPosition(this.newPosition);\n }\n },\n onDragEnd: function onDragEnd() {\n var _this = this;\n\n if (this.dragging) {\n /*\n * 防止在 mouseup 后立即触发 click,导致滑块有几率产生一小段位移\n * 不使用 preventDefault 是因为 mouseup 和 click 没有注册在同一个 DOM 上\n */\n setTimeout(function () {\n _this.dragging = false;\n _this.hideTooltip();\n if (!_this.isClick) {\n _this.setPosition(_this.newPosition);\n _this.$parent.emitChange();\n }\n }, 0);\n window.removeEventListener('mousemove', this.onDragging);\n window.removeEventListener('touchmove', this.onDragging);\n window.removeEventListener('mouseup', this.onDragEnd);\n window.removeEventListener('touchend', this.onDragEnd);\n window.removeEventListener('contextmenu', this.onDragEnd);\n }\n },\n setPosition: function setPosition(newPosition) {\n var _this2 = this;\n\n if (newPosition === null || isNaN(newPosition)) return;\n if (newPosition < 0) {\n newPosition = 0;\n } else if (newPosition > 100) {\n newPosition = 100;\n }\n var lengthPerStep = 100 / ((this.max - this.min) / this.step);\n var steps = Math.round(newPosition / lengthPerStep);\n var value = steps * lengthPerStep * (this.max - this.min) * 0.01 + this.min;\n value = parseFloat(value.toFixed(this.precision));\n this.$emit('input', value);\n this.$nextTick(function () {\n _this2.displayTooltip();\n _this2.$refs.tooltip && _this2.$refs.tooltip.updatePopper();\n });\n if (!this.dragging && this.value !== this.oldValue) {\n this.oldValue = this.value;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/slider/src/button.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/slider/src/button.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_buttonvue_type_script_lang_js_,\n buttonvue_type_template_id_e72d2ad2_render,\n buttonvue_type_template_id_e72d2ad2_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/slider/src/button.vue\"\n/* harmony default export */ var src_button = (component.exports);\n// CONCATENATED MODULE: ./packages/slider/src/marker.js\n/* harmony default export */ var marker = ({\n name: 'ElMarker',\n\n props: {\n mark: {\n type: [String, Object]\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var label = typeof this.mark === 'string' ? this.mark : this.mark.label;\n\n return h(\n 'div',\n { 'class': 'el-slider__marks-text', style: this.mark.style || {} },\n [label]\n );\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/slider/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElSlider',\n\n mixins: [emitter_default.a],\n\n inject: {\n elForm: {\n default: ''\n }\n },\n\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n step: {\n type: Number,\n default: 1\n },\n value: {\n type: [Number, Array],\n default: 0\n },\n showInput: {\n type: Boolean,\n default: false\n },\n showInputControls: {\n type: Boolean,\n default: true\n },\n inputSize: {\n type: String,\n default: 'small'\n },\n showStops: {\n type: Boolean,\n default: false\n },\n showTooltip: {\n type: Boolean,\n default: true\n },\n formatTooltip: Function,\n disabled: {\n type: Boolean,\n default: false\n },\n range: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n height: {\n type: String\n },\n debounce: {\n type: Number,\n default: 300\n },\n label: {\n type: String\n },\n tooltipClass: String,\n marks: Object\n },\n\n components: {\n ElInputNumber: input_number_default.a,\n SliderButton: src_button,\n SliderMarker: marker\n },\n\n data: function data() {\n return {\n firstValue: null,\n secondValue: null,\n oldValue: null,\n dragging: false,\n sliderSize: 1\n };\n },\n\n\n watch: {\n value: function value(val, oldVal) {\n if (this.dragging || Array.isArray(val) && Array.isArray(oldVal) && val.every(function (item, index) {\n return item === oldVal[index];\n })) {\n return;\n }\n this.setValues();\n },\n dragging: function dragging(val) {\n if (!val) {\n this.setValues();\n }\n },\n firstValue: function firstValue(val) {\n if (this.range) {\n this.$emit('input', [this.minValue, this.maxValue]);\n } else {\n this.$emit('input', val);\n }\n },\n secondValue: function secondValue() {\n if (this.range) {\n this.$emit('input', [this.minValue, this.maxValue]);\n }\n },\n min: function min() {\n this.setValues();\n },\n max: function max() {\n this.setValues();\n }\n },\n\n methods: {\n valueChanged: function valueChanged() {\n var _this = this;\n\n if (this.range) {\n return ![this.minValue, this.maxValue].every(function (item, index) {\n return item === _this.oldValue[index];\n });\n } else {\n return this.value !== this.oldValue;\n }\n },\n setValues: function setValues() {\n if (this.min > this.max) {\n console.error('[Element Error][Slider]min should not be greater than max.');\n return;\n }\n var val = this.value;\n if (this.range && Array.isArray(val)) {\n if (val[1] < this.min) {\n this.$emit('input', [this.min, this.min]);\n } else if (val[0] > this.max) {\n this.$emit('input', [this.max, this.max]);\n } else if (val[0] < this.min) {\n this.$emit('input', [this.min, val[1]]);\n } else if (val[1] > this.max) {\n this.$emit('input', [val[0], this.max]);\n } else {\n this.firstValue = val[0];\n this.secondValue = val[1];\n if (this.valueChanged()) {\n this.dispatch('ElFormItem', 'el.form.change', [this.minValue, this.maxValue]);\n this.oldValue = val.slice();\n }\n }\n } else if (!this.range && typeof val === 'number' && !isNaN(val)) {\n if (val < this.min) {\n this.$emit('input', this.min);\n } else if (val > this.max) {\n this.$emit('input', this.max);\n } else {\n this.firstValue = val;\n if (this.valueChanged()) {\n this.dispatch('ElFormItem', 'el.form.change', val);\n this.oldValue = val;\n }\n }\n }\n },\n setPosition: function setPosition(percent) {\n var targetValue = this.min + percent * (this.max - this.min) / 100;\n if (!this.range) {\n this.$refs.button1.setPosition(percent);\n return;\n }\n var button = void 0;\n if (Math.abs(this.minValue - targetValue) < Math.abs(this.maxValue - targetValue)) {\n button = this.firstValue < this.secondValue ? 'button1' : 'button2';\n } else {\n button = this.firstValue > this.secondValue ? 'button1' : 'button2';\n }\n this.$refs[button].setPosition(percent);\n },\n onSliderClick: function onSliderClick(event) {\n if (this.sliderDisabled || this.dragging) return;\n this.resetSize();\n if (this.vertical) {\n var sliderOffsetBottom = this.$refs.slider.getBoundingClientRect().bottom;\n this.setPosition((sliderOffsetBottom - event.clientY) / this.sliderSize * 100);\n } else {\n var sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;\n this.setPosition((event.clientX - sliderOffsetLeft) / this.sliderSize * 100);\n }\n this.emitChange();\n },\n resetSize: function resetSize() {\n if (this.$refs.slider) {\n this.sliderSize = this.$refs.slider['client' + (this.vertical ? 'Height' : 'Width')];\n }\n },\n emitChange: function emitChange() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.$emit('change', _this2.range ? [_this2.minValue, _this2.maxValue] : _this2.value);\n });\n },\n getStopStyle: function getStopStyle(position) {\n return this.vertical ? { 'bottom': position + '%' } : { 'left': position + '%' };\n }\n },\n\n computed: {\n stops: function stops() {\n var _this3 = this;\n\n if (!this.showStops || this.min > this.max) return [];\n if (this.step === 0) {\n false && false;\n return [];\n }\n var stopCount = (this.max - this.min) / this.step;\n var stepWidth = 100 * this.step / (this.max - this.min);\n var result = [];\n for (var i = 1; i < stopCount; i++) {\n result.push(i * stepWidth);\n }\n if (this.range) {\n return result.filter(function (step) {\n return step < 100 * (_this3.minValue - _this3.min) / (_this3.max - _this3.min) || step > 100 * (_this3.maxValue - _this3.min) / (_this3.max - _this3.min);\n });\n } else {\n return result.filter(function (step) {\n return step > 100 * (_this3.firstValue - _this3.min) / (_this3.max - _this3.min);\n });\n }\n },\n markList: function markList() {\n var _this4 = this;\n\n if (!this.marks) {\n return [];\n }\n\n var marksKeys = Object.keys(this.marks);\n return marksKeys.map(parseFloat).sort(function (a, b) {\n return a - b;\n }).filter(function (point) {\n return point <= _this4.max && point >= _this4.min;\n }).map(function (point) {\n return {\n point: point,\n position: (point - _this4.min) * 100 / (_this4.max - _this4.min),\n mark: _this4.marks[point]\n };\n });\n },\n minValue: function minValue() {\n return Math.min(this.firstValue, this.secondValue);\n },\n maxValue: function maxValue() {\n return Math.max(this.firstValue, this.secondValue);\n },\n barSize: function barSize() {\n return this.range ? 100 * (this.maxValue - this.minValue) / (this.max - this.min) + '%' : 100 * (this.firstValue - this.min) / (this.max - this.min) + '%';\n },\n barStart: function barStart() {\n return this.range ? 100 * (this.minValue - this.min) / (this.max - this.min) + '%' : '0%';\n },\n precision: function precision() {\n var precisions = [this.min, this.max, this.step].map(function (item) {\n var decimal = ('' + item).split('.')[1];\n return decimal ? decimal.length : 0;\n });\n return Math.max.apply(null, precisions);\n },\n runwayStyle: function runwayStyle() {\n return this.vertical ? { height: this.height } : {};\n },\n barStyle: function barStyle() {\n return this.vertical ? {\n height: this.barSize,\n bottom: this.barStart\n } : {\n width: this.barSize,\n left: this.barStart\n };\n },\n sliderDisabled: function sliderDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n }\n },\n\n mounted: function mounted() {\n var valuetext = void 0;\n if (this.range) {\n if (Array.isArray(this.value)) {\n this.firstValue = Math.max(this.min, this.value[0]);\n this.secondValue = Math.min(this.max, this.value[1]);\n } else {\n this.firstValue = this.min;\n this.secondValue = this.max;\n }\n this.oldValue = [this.firstValue, this.secondValue];\n valuetext = this.firstValue + '-' + this.secondValue;\n } else {\n if (typeof this.value !== 'number' || isNaN(this.value)) {\n this.firstValue = this.min;\n } else {\n this.firstValue = Math.min(this.max, Math.max(this.min, this.value));\n }\n this.oldValue = this.firstValue;\n valuetext = this.firstValue;\n }\n this.$el.setAttribute('aria-valuetext', valuetext);\n\n // label screen reader\n this.$el.setAttribute('aria-label', this.label ? this.label : 'slider between ' + this.min + ' and ' + this.max);\n\n this.resetSize();\n window.addEventListener('resize', this.resetSize);\n },\n beforeDestroy: function beforeDestroy() {\n window.removeEventListener('resize', this.resetSize);\n }\n});\n// CONCATENATED MODULE: ./packages/slider/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/slider/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar main_component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var main_api; }\nmain_component.options.__file = \"packages/slider/src/main.vue\"\n/* harmony default export */ var main = (main_component.exports);\n// CONCATENATED MODULE: ./packages/slider/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var slider = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.vue?vue&type=style&index=0&id=4c00a30f&scoped=true&lang=scss&\"","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 136);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 136:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(19);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/tooltip/src/main.js\n\n\n\n\n\n\n/* harmony default export */ var main = ({\n name: 'ElTooltip',\n\n mixins: [vue_popper_default.a],\n\n props: {\n openDelay: {\n type: Number,\n default: 0\n },\n disabled: Boolean,\n manual: Boolean,\n effect: {\n type: String,\n default: 'dark'\n },\n arrowOffset: {\n type: Number,\n default: 0\n },\n popperClass: String,\n content: String,\n visibleArrow: {\n default: true\n },\n transition: {\n type: String,\n default: 'el-fade-in-linear'\n },\n popperOptions: {\n default: function _default() {\n return {\n boundariesPadding: 10,\n gpuAcceleration: false\n };\n }\n },\n enterable: {\n type: Boolean,\n default: true\n },\n hideAfter: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n data: function data() {\n return {\n tooltipId: 'el-tooltip-' + Object(util_[\"generateId\"])(),\n timeoutPending: null,\n focusing: false\n };\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n if (this.$isServer) return;\n\n this.popperVM = new external_vue_default.a({\n data: { node: '' },\n render: function render(h) {\n return this.node;\n }\n }).$mount();\n\n this.debounceClose = debounce_default()(200, function () {\n return _this.handleClosePopper();\n });\n },\n render: function render(h) {\n var _this2 = this;\n\n if (this.popperVM) {\n this.popperVM.node = h(\n 'transition',\n {\n attrs: {\n name: this.transition\n },\n on: {\n 'afterLeave': this.doDestroy\n }\n },\n [h(\n 'div',\n {\n on: {\n 'mouseleave': function mouseleave() {\n _this2.setExpectedState(false);_this2.debounceClose();\n },\n 'mouseenter': function mouseenter() {\n _this2.setExpectedState(true);\n }\n },\n\n ref: 'popper',\n attrs: { role: 'tooltip',\n id: this.tooltipId,\n 'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false'\n },\n directives: [{\n name: 'show',\n value: !this.disabled && this.showPopper\n }],\n\n 'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] },\n [this.$slots.content || this.content]\n )]\n );\n }\n\n var firstElement = this.getFirstElement();\n if (!firstElement) return null;\n\n var data = firstElement.data = firstElement.data || {};\n data.staticClass = this.addTooltipClass(data.staticClass);\n\n return firstElement;\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.referenceElm = this.$el;\n if (this.$el.nodeType === 1) {\n this.$el.setAttribute('aria-describedby', this.tooltipId);\n this.$el.setAttribute('tabindex', this.tabindex);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseenter', this.show);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseleave', this.hide);\n Object(dom_[\"on\"])(this.referenceElm, 'focus', function () {\n if (!_this3.$slots.default || !_this3.$slots.default.length) {\n _this3.handleFocus();\n return;\n }\n var instance = _this3.$slots.default[0].componentInstance;\n if (instance && instance.focus) {\n instance.focus();\n } else {\n _this3.handleFocus();\n }\n });\n Object(dom_[\"on\"])(this.referenceElm, 'blur', this.handleBlur);\n Object(dom_[\"on\"])(this.referenceElm, 'click', this.removeFocusing);\n }\n // fix issue https://github.com/ElemeFE/element/issues/14424\n if (this.value && this.popperVM) {\n this.popperVM.$nextTick(function () {\n if (_this3.value) {\n _this3.updatePopper();\n }\n });\n }\n },\n\n watch: {\n focusing: function focusing(val) {\n if (val) {\n Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n } else {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n }\n }\n },\n methods: {\n show: function show() {\n this.setExpectedState(true);\n this.handleShowPopper();\n },\n hide: function hide() {\n this.setExpectedState(false);\n this.debounceClose();\n },\n handleFocus: function handleFocus() {\n this.focusing = true;\n this.show();\n },\n handleBlur: function handleBlur() {\n this.focusing = false;\n this.hide();\n },\n removeFocusing: function removeFocusing() {\n this.focusing = false;\n },\n addTooltipClass: function addTooltipClass(prev) {\n if (!prev) {\n return 'el-tooltip';\n } else {\n return 'el-tooltip ' + prev.replace('el-tooltip', '');\n }\n },\n handleShowPopper: function handleShowPopper() {\n var _this4 = this;\n\n if (!this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this4.showPopper = true;\n }, this.openDelay);\n\n if (this.hideAfter > 0) {\n this.timeoutPending = setTimeout(function () {\n _this4.showPopper = false;\n }, this.hideAfter);\n }\n },\n handleClosePopper: function handleClosePopper() {\n if (this.enterable && this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n\n if (this.timeoutPending) {\n clearTimeout(this.timeoutPending);\n }\n this.showPopper = false;\n\n if (this.disabled) {\n this.doDestroy();\n }\n },\n setExpectedState: function setExpectedState(expectedState) {\n if (expectedState === false) {\n clearTimeout(this.timeoutPending);\n }\n this.expectedState = expectedState;\n },\n getFirstElement: function getFirstElement() {\n var slots = this.$slots.default;\n if (!Array.isArray(slots)) return null;\n var element = null;\n for (var index = 0; index < slots.length; index++) {\n if (slots[index] && slots[index].tag) {\n element = slots[index];\n break;\n };\n }\n return element;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.popperVM && this.popperVM.$destroy();\n },\n destroyed: function destroyed() {\n var reference = this.referenceElm;\n if (reference.nodeType === 1) {\n Object(dom_[\"off\"])(reference, 'mouseenter', this.show);\n Object(dom_[\"off\"])(reference, 'mouseleave', this.hide);\n Object(dom_[\"off\"])(reference, 'focus', this.handleFocus);\n Object(dom_[\"off\"])(reference, 'blur', this.handleBlur);\n Object(dom_[\"off\"])(reference, 'click', this.removeFocusing);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/tooltip/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var tooltip = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.default = scrollIntoView;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scrollIntoView(container, selected) {\n if (_vue2.default.prototype.$isServer) return;\n\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n\n var offsetParents = [];\n var pointer = selected.offsetParent;\n while (pointer && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {\n return prev + curr.offsetTop;\n }, 0);\n var bottom = top + selected.offsetHeight;\n var viewRectTop = container.scrollTop;\n var viewRectBottom = viewRectTop + container.clientHeight;\n\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _util = require('element-ui/lib/utils/util');\n\n/**\n * Show migrating guide in browser console.\n *\n * Usage:\n * import Migrating from 'element-ui/src/mixins/migrating';\n *\n * mixins: [Migrating]\n *\n * add getMigratingConfig method for your component.\n * getMigratingConfig() {\n * return {\n * props: {\n * 'allow-no-selection': 'allow-no-selection is removed.',\n * 'selection-mode': 'selection-mode is removed.'\n * },\n * events: {\n * selectionchange: 'selectionchange is renamed to selection-change.'\n * }\n * };\n * },\n */\nexports.default = {\n mounted: function mounted() {\n if (process.env.NODE_ENV === 'production') return;\n if (!this.$vnode) return;\n\n var _getMigratingConfig = this.getMigratingConfig(),\n _getMigratingConfig$p = _getMigratingConfig.props,\n props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p,\n _getMigratingConfig$e = _getMigratingConfig.events,\n events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e;\n\n var _$vnode = this.$vnode,\n data = _$vnode.data,\n componentOptions = _$vnode.componentOptions;\n\n var definedProps = data.attrs || {};\n var definedEvents = componentOptions.listeners || {};\n\n for (var propName in definedProps) {\n propName = (0, _util.kebabCase)(propName); // compatible with camel case\n if (props[propName]) {\n console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]);\n }\n }\n\n for (var eventName in definedEvents) {\n eventName = (0, _util.kebabCase)(eventName); // compatible with camel case\n if (events[eventName]) {\n console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]);\n }\n }\n },\n\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {},\n events: {}\n };\n }\n }\n};","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 115);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 115:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=template&id=5bf181d4&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"section\",\n { staticClass: \"el-container\", class: { \"is-vertical\": _vm.isVertical } },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=template&id=5bf181d4&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/container/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElContainer',\n\n componentName: 'ElContainer',\n\n props: {\n direction: String\n },\n\n computed: {\n isVertical: function isVertical() {\n if (this.direction === 'vertical') {\n return true;\n } else if (this.direction === 'horizontal') {\n return false;\n }\n return this.$slots && this.$slots.default ? this.$slots.default.some(function (vnode) {\n var tag = vnode.componentOptions && vnode.componentOptions.tag;\n return tag === 'el-header' || tag === 'el-footer';\n }) : false;\n }\n }\n});\n// CONCATENATED MODULE: ./packages/container/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/container/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/container/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/container/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var container = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.removeResizeListener = exports.addResizeListener = undefined;\n\nvar _resizeObserverPolyfill = require('resize-observer-polyfill');\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nvar _throttleDebounce = require('throttle-debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = typeof window === 'undefined';\n\n/* istanbul ignore next */\nvar resizeHandler = function resizeHandler(entries) {\n for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var entry = _ref;\n\n var listeners = entry.target.__resizeListeners__ || [];\n if (listeners.length) {\n listeners.forEach(function (fn) {\n fn();\n });\n }\n }\n};\n\n/* istanbul ignore next */\nvar addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) {\n if (isServer) return;\n if (!element.__resizeListeners__) {\n element.__resizeListeners__ = [];\n element.__ro__ = new _resizeObserverPolyfill2.default((0, _throttleDebounce.debounce)(16, resizeHandler));\n element.__ro__.observe(element);\n }\n element.__resizeListeners__.push(fn);\n};\n\n/* istanbul ignore next */\nvar removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) {\n if (!element || !element.__resizeListeners__) return;\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.__ro__.disconnect();\n }\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\n\nvar startClick = void 0;\nvar seed = 0;\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n return startClick = e;\n});\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n nodeList.forEach(function (node) {\n return node[ctx].documentHandler(e, startClick);\n });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n return function () {\n var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n}\n\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n * <div v-element-clickoutside=\"handleClose\">\n * ```\n */\nexports.default = {\n bind: function bind(el, binding, vnode) {\n nodeList.push(el);\n var id = seed++;\n el[ctx] = {\n id: id,\n documentHandler: createDocumentHandler(el, binding, vnode),\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n update: function update(el, binding, vnode) {\n el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n unbind: function unbind(el) {\n var len = nodeList.length;\n\n for (var i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n delete el[ctx];\n }\n};","module.exports = require(\"@abi-software/svg-sprite\");","module.exports = require(\"core-js/modules/es.array.from.js\");","module.exports = require(\"core-js/modules/es.array.map.js\");","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nexports.__esModule = true;\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _zhCN = require('element-ui/lib/locale/lang/zh-CN');\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = require('deepmerge');\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = require('./format');\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\nvar i18nHandler = function i18nHandler() {\n var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;\n if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n if (!merged) {\n merged = true;\n _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nvar t = exports.t = function t(path, options) {\n var value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n var array = path.split('.');\n var current = lang;\n\n for (var i = 0, j = array.length; i < j; i++) {\n var property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nvar use = exports.use = function use(l) {\n lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexports.default = { use: use, t: t, i18n: i18n };","module.exports = require(\"core-js/modules/es.symbol.description.js\");","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex = void 0;\n\nvar getModal = function getModal() {\n if (_vue2.default.prototype.$isServer) return;\n var modalDom = PopupManager.modalDom;\n if (modalDom) {\n hasModal = true;\n } else {\n hasModal = false;\n modalDom = document.createElement('div');\n PopupManager.modalDom = modalDom;\n\n modalDom.addEventListener('touchmove', function (event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n modalDom.addEventListener('click', function () {\n PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n });\n }\n\n return modalDom;\n};\n\nvar instances = {};\n\nvar PopupManager = {\n modalFade: true,\n\n getInstance: function getInstance(id) {\n return instances[id];\n },\n\n register: function register(id, instance) {\n if (id && instance) {\n instances[id] = instance;\n }\n },\n\n deregister: function deregister(id) {\n if (id) {\n instances[id] = null;\n delete instances[id];\n }\n },\n\n nextZIndex: function nextZIndex() {\n return PopupManager.zIndex++;\n },\n\n modalStack: [],\n\n doOnModalClick: function doOnModalClick() {\n var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topItem) return;\n\n var instance = PopupManager.getInstance(topItem.id);\n if (instance && instance.closeOnClickModal) {\n instance.close();\n }\n },\n\n openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n if (_vue2.default.prototype.$isServer) return;\n if (!id || zIndex === undefined) return;\n this.modalFade = modalFade;\n\n var modalStack = this.modalStack;\n\n for (var i = 0, j = modalStack.length; i < j; i++) {\n var item = modalStack[i];\n if (item.id === id) {\n return;\n }\n }\n\n var modalDom = getModal();\n\n (0, _dom.addClass)(modalDom, 'v-modal');\n if (this.modalFade && !hasModal) {\n (0, _dom.addClass)(modalDom, 'v-modal-enter');\n }\n if (modalClass) {\n var classArr = modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.addClass)(modalDom, item);\n });\n }\n setTimeout(function () {\n (0, _dom.removeClass)(modalDom, 'v-modal-enter');\n }, 200);\n\n if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n dom.parentNode.appendChild(modalDom);\n } else {\n document.body.appendChild(modalDom);\n }\n\n if (zIndex) {\n modalDom.style.zIndex = zIndex;\n }\n modalDom.tabIndex = 0;\n modalDom.style.display = '';\n\n this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });\n },\n\n closeModal: function closeModal(id) {\n var modalStack = this.modalStack;\n var modalDom = getModal();\n\n if (modalStack.length > 0) {\n var topItem = modalStack[modalStack.length - 1];\n if (topItem.id === id) {\n if (topItem.modalClass) {\n var classArr = topItem.modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.removeClass)(modalDom, item);\n });\n }\n\n modalStack.pop();\n if (modalStack.length > 0) {\n modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n }\n } else {\n for (var i = modalStack.length - 1; i >= 0; i--) {\n if (modalStack[i].id === id) {\n modalStack.splice(i, 1);\n break;\n }\n }\n }\n }\n\n if (modalStack.length === 0) {\n if (this.modalFade) {\n (0, _dom.addClass)(modalDom, 'v-modal-leave');\n }\n setTimeout(function () {\n if (modalStack.length === 0) {\n if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n modalDom.style.display = 'none';\n PopupManager.modalDom = undefined;\n }\n (0, _dom.removeClass)(modalDom, 'v-modal-leave');\n }, 200);\n }\n }\n};\n\nObject.defineProperty(PopupManager, 'zIndex', {\n configurable: true,\n get: function get() {\n if (!hasInitZIndex) {\n zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000;\n hasInitZIndex = true;\n }\n return zIndex;\n },\n set: function set(value) {\n zIndex = value;\n }\n});\n\nvar getTopPopup = function getTopPopup() {\n if (_vue2.default.prototype.$isServer) return;\n if (PopupManager.modalStack.length > 0) {\n var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topPopup) return;\n var instance = PopupManager.getInstance(topPopup.id);\n\n return instance;\n }\n};\n\nif (!_vue2.default.prototype.$isServer) {\n // handle `esc` key when the popup is shown\n window.addEventListener('keydown', function (event) {\n if (event.keyCode === 27) {\n var topPopup = getTopPopup();\n\n if (topPopup && topPopup.closeOnPressEscape) {\n topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n }\n }\n });\n}\n\nexports.default = PopupManager;","module.exports = require(\"core-js/modules/es.array.sort.js\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"lodash/uniq\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 61);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var _select2 = this.select,\n selected = _select2.selected,\n multiple = _select2.multiple;\n\n var selectedOptions = multiple ? selected : [selected];\n var index = this.select.cachedOptions.indexOf(this);\n var selectedIndex = selectedOptions.indexOf(this);\n\n // if option is not selected, remove it from cache\n if (index > -1 && selectedIndex < 0) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tag\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleClose,\n expression: \"handleClose\"\n }\n ],\n staticClass: \"el-select\",\n class: [_vm.selectSize ? \"el-select--\" + _vm.selectSize : \"\"],\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.toggleMenu($event)\n }\n }\n },\n [\n _vm.multiple\n ? _c(\n \"div\",\n {\n ref: \"tags\",\n staticClass: \"el-select__tags\",\n style: { \"max-width\": _vm.inputWidth - 32 + \"px\", width: \"100%\" }\n },\n [\n _vm.collapseTags && _vm.selected.length\n ? _c(\n \"span\",\n [\n _c(\n \"el-tag\",\n {\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: _vm.selected[0].hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, _vm.selected[0])\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(_vm.selected[0].currentLabel))\n ])\n ]\n ),\n _vm.selected.length > 1\n ? _c(\n \"el-tag\",\n {\n attrs: {\n closable: false,\n size: _vm.collapseTagSize,\n type: \"info\",\n \"disable-transitions\": \"\"\n }\n },\n [\n _c(\n \"span\",\n { staticClass: \"el-select__tags-text\" },\n [_vm._v(\"+ \" + _vm._s(_vm.selected.length - 1))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n !_vm.collapseTags\n ? _c(\n \"transition-group\",\n { on: { \"after-leave\": _vm.resetInputHeight } },\n _vm._l(_vm.selected, function(item) {\n return _c(\n \"el-tag\",\n {\n key: _vm.getValueKey(item),\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: item.hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, item)\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(item.currentLabel))\n ])\n ]\n )\n }),\n 1\n )\n : _vm._e(),\n _vm.filterable\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n ref: \"input\",\n staticClass: \"el-select__input\",\n class: [_vm.selectSize ? \"is-\" + _vm.selectSize : \"\"],\n style: {\n \"flex-grow\": \"1\",\n width: _vm.inputLength / (_vm.inputWidth - 32) + \"%\",\n \"max-width\": _vm.inputWidth - 42 + \"px\"\n },\n attrs: {\n type: \"text\",\n disabled: _vm.selectDisabled,\n autocomplete: _vm.autoComplete || _vm.autocomplete\n },\n domProps: { value: _vm.query },\n on: {\n focus: _vm.handleFocus,\n blur: function($event) {\n _vm.softFocus = false\n },\n keyup: _vm.managePlaceholder,\n keydown: [\n _vm.resetInputState,\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.handleNavigate(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.handleNavigate(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"delete\",\n [8, 46],\n $event.key,\n [\"Backspace\", \"Delete\", \"Del\"]\n )\n ) {\n return null\n }\n return _vm.deletePrevTag($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n compositionstart: _vm.handleComposition,\n compositionupdate: _vm.handleComposition,\n compositionend: _vm.handleComposition,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n _vm.debouncedQueryChange\n ]\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-input\",\n {\n ref: \"reference\",\n class: { \"is-focus\": _vm.visible },\n attrs: {\n type: \"text\",\n placeholder: _vm.currentPlaceholder,\n name: _vm.name,\n id: _vm.id,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n size: _vm.selectSize,\n disabled: _vm.selectDisabled,\n readonly: _vm.readonly,\n \"validate-event\": false,\n tabindex: _vm.multiple && _vm.filterable ? \"-1\" : null\n },\n on: {\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n input: _vm.debouncedOnInputChange,\n compositionstart: _vm.handleComposition,\n compositionupdate: _vm.handleComposition,\n compositionend: _vm.handleComposition\n },\n nativeOn: {\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.handleNavigate(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.handleNavigate(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n mouseenter: function($event) {\n _vm.inputHovering = true\n },\n mouseleave: function($event) {\n _vm.inputHovering = false\n }\n },\n model: {\n value: _vm.selectedLabel,\n callback: function($$v) {\n _vm.selectedLabel = $$v\n },\n expression: \"selectedLabel\"\n }\n },\n [\n _vm.$slots.prefix\n ? _c(\"template\", { slot: \"prefix\" }, [_vm._t(\"prefix\")], 2)\n : _vm._e(),\n _c(\"template\", { slot: \"suffix\" }, [\n _c(\"i\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.showClose,\n expression: \"!showClose\"\n }\n ],\n class: [\n \"el-select__caret\",\n \"el-input__icon\",\n \"el-icon-\" + _vm.iconClass\n ]\n }),\n _vm.showClose\n ? _c(\"i\", {\n staticClass:\n \"el-select__caret el-input__icon el-icon-circle-close\",\n on: { click: _vm.handleClearClick }\n })\n : _vm._e()\n ])\n ],\n 2\n ),\n _c(\n \"transition\",\n {\n attrs: { name: \"el-zoom-in-top\" },\n on: {\n \"before-enter\": _vm.handleMenuEnter,\n \"after-leave\": _vm.doDestroy\n }\n },\n [\n _c(\n \"el-select-menu\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible && _vm.emptyText !== false,\n expression: \"visible && emptyText !== false\"\n }\n ],\n ref: \"popper\",\n attrs: { \"append-to-body\": _vm.popperAppendToBody }\n },\n [\n _c(\n \"el-scrollbar\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.options.length > 0 && !_vm.loading,\n expression: \"options.length > 0 && !loading\"\n }\n ],\n ref: \"scrollbar\",\n class: {\n \"is-empty\":\n !_vm.allowCreate &&\n _vm.query &&\n _vm.filteredOptionsCount === 0\n },\n attrs: {\n tag: \"ul\",\n \"wrap-class\": \"el-select-dropdown__wrap\",\n \"view-class\": \"el-select-dropdown__list\"\n }\n },\n [\n _vm.showNewOption\n ? _c(\"el-option\", {\n attrs: { value: _vm.query, created: \"\" }\n })\n : _vm._e(),\n _vm._t(\"default\")\n ],\n 2\n ),\n _vm.emptyText &&\n (!_vm.allowCreate ||\n _vm.loading ||\n (_vm.allowCreate && _vm.options.length === 0))\n ? [\n _vm.$slots.empty\n ? _vm._t(\"empty\")\n : _c(\"p\", { staticClass: \"el-select-dropdown__empty\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.emptyText) +\n \"\\n \"\n )\n ])\n ]\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(22);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\nvar select_dropdownvue_type_template_id_06828748_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-select-dropdown el-popper\",\n class: [{ \"is-multiple\": _vm.$parent.multiple }, _vm.popperClass],\n style: { minWidth: _vm.minWidth }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar select_dropdownvue_type_template_id_06828748_staticRenderFns = []\nselect_dropdownvue_type_template_id_06828748_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n mixins: [vue_popper_default.a],\n\n props: {\n placement: {\n default: 'bottom-start'\n },\n\n boundariesPadding: {\n default: 0\n },\n\n popperOptions: {\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n },\n\n visibleArrow: {\n default: true\n },\n\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n minWidth: ''\n };\n },\n\n\n computed: {\n popperClass: function popperClass() {\n return this.$parent.popperClass;\n }\n },\n\n watch: {\n '$parent.inputWidth': function $parentInputWidth() {\n this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n this.referenceElm = this.$parent.$refs.reference.$el;\n this.$parent.popperElm = this.popperElm = this.$el;\n this.$on('updatePopper', function () {\n if (_this.$parent.visible) _this.updatePopper();\n });\n this.$on('destroyPopper', this.destroyPopper);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_select_dropdownvue_type_script_lang_js_,\n select_dropdownvue_type_template_id_06828748_render,\n select_dropdownvue_type_template_id_06828748_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/select-dropdown.vue\"\n/* harmony default export */ var select_dropdown = (component.exports);\n// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules\nvar src_option = __webpack_require__(33);\n\n// EXTERNAL MODULE: external \"element-ui/lib/tag\"\nvar tag_ = __webpack_require__(37);\nvar tag_default = /*#__PURE__*/__webpack_require__.n(tag_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(15);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(19);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n/* harmony default export */ var navigation_mixin = ({\n data: function data() {\n return {\n hoverOption: -1\n };\n },\n\n\n computed: {\n optionsAllDisabled: function optionsAllDisabled() {\n return this.options.filter(function (option) {\n return option.visible;\n }).every(function (option) {\n return option.disabled;\n });\n }\n },\n\n watch: {\n hoverIndex: function hoverIndex(val) {\n var _this = this;\n\n if (typeof val === 'number' && val > -1) {\n this.hoverOption = this.options[val] || {};\n }\n this.options.forEach(function (option) {\n option.hover = _this.hoverOption === option;\n });\n }\n },\n\n methods: {\n navigateOptions: function navigateOptions(direction) {\n var _this2 = this;\n\n if (!this.visible) {\n this.visible = true;\n return;\n }\n if (this.options.length === 0 || this.filteredOptionsCount === 0) return;\n if (!this.optionsAllDisabled) {\n if (direction === 'next') {\n this.hoverIndex++;\n if (this.hoverIndex === this.options.length) {\n this.hoverIndex = 0;\n }\n } else if (direction === 'prev') {\n this.hoverIndex--;\n if (this.hoverIndex < 0) {\n this.hoverIndex = this.options.length - 1;\n }\n }\n var option = this.options[this.hoverIndex];\n if (option.disabled === true || option.groupDisabled === true || !option.visible) {\n this.navigateOptions(direction);\n }\n this.$nextTick(function () {\n return _this2.scrollToOption(_this2.hoverOption);\n });\n }\n }\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var selectvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],\n\n name: 'ElSelect',\n\n componentName: 'ElSelect',\n\n inject: {\n elForm: {\n default: ''\n },\n\n elFormItem: {\n default: ''\n }\n },\n\n provide: function provide() {\n return {\n 'select': this\n };\n },\n\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n readonly: function readonly() {\n return !this.filterable || this.multiple || !Object(util_[\"isIE\"])() && !Object(util_[\"isEdge\"])() && !this.visible;\n },\n showClose: function showClose() {\n var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';\n var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;\n return criteria;\n },\n iconClass: function iconClass() {\n return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';\n },\n debounce: function debounce() {\n return this.remote ? 300 : 0;\n },\n emptyText: function emptyText() {\n if (this.loading) {\n return this.loadingText || this.t('el.select.loading');\n } else {\n if (this.remote && this.query === '' && this.options.length === 0) return false;\n if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {\n return this.noMatchText || this.t('el.select.noMatch');\n }\n if (this.options.length === 0) {\n return this.noDataText || this.t('el.select.noData');\n }\n }\n return null;\n },\n showNewOption: function showNewOption() {\n var _this = this;\n\n var hasExistingOption = this.options.filter(function (option) {\n return !option.created;\n }).some(function (option) {\n return option.currentLabel === _this.query;\n });\n return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;\n },\n selectSize: function selectSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n selectDisabled: function selectDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n collapseTagSize: function collapseTagSize() {\n return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';\n },\n propPlaceholder: function propPlaceholder() {\n return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder');\n }\n },\n\n components: {\n ElInput: input_default.a,\n ElSelectMenu: select_dropdown,\n ElOption: src_option[\"a\" /* default */],\n ElTag: tag_default.a,\n ElScrollbar: scrollbar_default.a\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n props: {\n name: String,\n id: String,\n value: {\n required: true\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n automaticDropdown: Boolean,\n size: String,\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: String,\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0\n },\n placeholder: {\n type: String,\n required: false\n },\n defaultFirstOption: Boolean,\n reserveKeyword: Boolean,\n valueKey: {\n type: String,\n default: 'value'\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n options: [],\n cachedOptions: [],\n createdLabel: null,\n createdSelected: false,\n selected: this.multiple ? [] : {},\n inputLength: 20,\n inputWidth: 0,\n initialInputHeight: 0,\n cachedPlaceHolder: '',\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n currentPlaceholder: '',\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false\n };\n },\n\n\n watch: {\n selectDisabled: function selectDisabled() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.resetInputHeight();\n });\n },\n propPlaceholder: function propPlaceholder(val) {\n this.cachedPlaceHolder = this.currentPlaceholder = val;\n },\n value: function value(val, oldVal) {\n if (this.multiple) {\n this.resetInputHeight();\n if (val && val.length > 0 || this.$refs.input && this.query !== '') {\n this.currentPlaceholder = '';\n } else {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n if (this.filterable && !this.reserveKeyword) {\n this.query = '';\n this.handleQueryChange(this.query);\n }\n }\n this.setSelected();\n if (this.filterable && !this.multiple) {\n this.inputLength = 20;\n }\n if (!Object(util_[\"valueEquals\"])(val, oldVal)) {\n this.dispatch('ElFormItem', 'el.form.change', val);\n }\n },\n visible: function visible(val) {\n var _this3 = this;\n\n if (!val) {\n this.broadcast('ElSelectDropdown', 'destroyPopper');\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n this.query = '';\n this.previousQuery = null;\n this.selectedLabel = '';\n this.inputLength = 20;\n this.menuVisibleOnFocus = false;\n this.resetHoverIndex();\n this.$nextTick(function () {\n if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {\n _this3.currentPlaceholder = _this3.cachedPlaceHolder;\n }\n });\n if (!this.multiple) {\n if (this.selected) {\n if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {\n this.selectedLabel = this.createdLabel;\n } else {\n this.selectedLabel = this.selected.currentLabel;\n }\n if (this.filterable) this.query = this.selectedLabel;\n }\n\n if (this.filterable) {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n }\n } else {\n this.broadcast('ElSelectDropdown', 'updatePopper');\n if (this.filterable) {\n this.query = this.remote ? '' : this.selectedLabel;\n this.handleQueryChange(this.query);\n if (this.multiple) {\n this.$refs.input.focus();\n } else {\n if (!this.remote) {\n this.broadcast('ElOption', 'queryChange', '');\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n\n if (this.selectedLabel) {\n this.currentPlaceholder = this.selectedLabel;\n this.selectedLabel = '';\n }\n }\n }\n }\n this.$emit('visible-change', val);\n },\n options: function options() {\n var _this4 = this;\n\n if (this.$isServer) return;\n this.$nextTick(function () {\n _this4.broadcast('ElSelectDropdown', 'updatePopper');\n });\n if (this.multiple) {\n this.resetInputHeight();\n }\n var inputs = this.$el.querySelectorAll('input');\n if ([].indexOf.call(inputs, document.activeElement) === -1) {\n this.setSelected();\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n }\n },\n\n methods: {\n handleNavigate: function handleNavigate(direction) {\n if (this.isOnComposition) return;\n\n this.navigateOptions(direction);\n },\n handleComposition: function handleComposition(event) {\n var _this5 = this;\n\n var text = event.target.value;\n if (event.type === 'compositionend') {\n this.isOnComposition = false;\n this.$nextTick(function (_) {\n return _this5.handleQueryChange(text);\n });\n } else {\n var lastCharacter = text[text.length - 1] || '';\n this.isOnComposition = !Object(shared_[\"isKorean\"])(lastCharacter);\n }\n },\n handleQueryChange: function handleQueryChange(val) {\n var _this6 = this;\n\n if (this.previousQuery === val || this.isOnComposition) return;\n if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {\n this.previousQuery = val;\n return;\n }\n this.previousQuery = val;\n this.$nextTick(function () {\n if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');\n });\n this.hoverIndex = -1;\n if (this.multiple && this.filterable) {\n this.$nextTick(function () {\n var length = _this6.$refs.input.value.length * 15 + 20;\n _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;\n _this6.managePlaceholder();\n _this6.resetInputHeight();\n });\n }\n if (this.remote && typeof this.remoteMethod === 'function') {\n this.hoverIndex = -1;\n this.remoteMethod(val);\n } else if (typeof this.filterMethod === 'function') {\n this.filterMethod(val);\n this.broadcast('ElOptionGroup', 'queryChange');\n } else {\n this.filteredOptionsCount = this.optionsCount;\n this.broadcast('ElOption', 'queryChange', val);\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n },\n scrollToOption: function scrollToOption(option) {\n var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;\n if (this.$refs.popper && target) {\n var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n scroll_into_view_default()(menu, target);\n }\n this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();\n },\n handleMenuEnter: function handleMenuEnter() {\n var _this7 = this;\n\n this.$nextTick(function () {\n return _this7.scrollToOption(_this7.selected);\n });\n },\n emitChange: function emitChange(val) {\n if (!Object(util_[\"valueEquals\"])(this.value, val)) {\n this.$emit('change', val);\n }\n },\n getOption: function getOption(value) {\n var option = void 0;\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';\n var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';\n\n for (var i = this.cachedOptions.length - 1; i >= 0; i--) {\n var cachedOption = this.cachedOptions[i];\n var isEqual = isObject ? Object(util_[\"getValueByPath\"])(cachedOption.value, this.valueKey) === Object(util_[\"getValueByPath\"])(value, this.valueKey) : cachedOption.value === value;\n if (isEqual) {\n option = cachedOption;\n break;\n }\n }\n if (option) return option;\n var label = !isObject && !isNull && !isUndefined ? String(value) : '';\n var newOption = {\n value: value,\n currentLabel: label\n };\n if (this.multiple) {\n newOption.hitState = false;\n }\n return newOption;\n },\n setSelected: function setSelected() {\n var _this8 = this;\n\n if (!this.multiple) {\n var option = this.getOption(this.value);\n if (option.created) {\n this.createdLabel = option.currentLabel;\n this.createdSelected = true;\n } else {\n this.createdSelected = false;\n }\n this.selectedLabel = option.currentLabel;\n this.selected = option;\n if (this.filterable) this.query = this.selectedLabel;\n return;\n }\n var result = [];\n if (Array.isArray(this.value)) {\n this.value.forEach(function (value) {\n result.push(_this8.getOption(value));\n });\n }\n this.selected = result;\n this.$nextTick(function () {\n _this8.resetInputHeight();\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.softFocus) {\n if (this.automaticDropdown || this.filterable) {\n if (this.filterable && !this.visible) {\n this.menuVisibleOnFocus = true;\n }\n this.visible = true;\n }\n this.$emit('focus', event);\n } else {\n this.softFocus = false;\n }\n },\n blur: function blur() {\n this.visible = false;\n this.$refs.reference.blur();\n },\n handleBlur: function handleBlur(event) {\n var _this9 = this;\n\n setTimeout(function () {\n if (_this9.isSilentBlur) {\n _this9.isSilentBlur = false;\n } else {\n _this9.$emit('blur', event);\n }\n }, 50);\n this.softFocus = false;\n },\n handleClearClick: function handleClearClick(event) {\n this.deleteSelected(event);\n },\n doDestroy: function doDestroy() {\n this.$refs.popper && this.$refs.popper.doDestroy();\n },\n handleClose: function handleClose() {\n this.visible = false;\n },\n toggleLastOptionHitState: function toggleLastOptionHitState(hit) {\n if (!Array.isArray(this.selected)) return;\n var option = this.selected[this.selected.length - 1];\n if (!option) return;\n\n if (hit === true || hit === false) {\n option.hitState = hit;\n return hit;\n }\n\n option.hitState = !option.hitState;\n return option.hitState;\n },\n deletePrevTag: function deletePrevTag(e) {\n if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {\n var value = this.value.slice();\n value.pop();\n this.$emit('input', value);\n this.emitChange(value);\n }\n },\n managePlaceholder: function managePlaceholder() {\n if (this.currentPlaceholder !== '') {\n this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;\n }\n },\n resetInputState: function resetInputState(e) {\n if (e.keyCode !== 8) this.toggleLastOptionHitState(false);\n this.inputLength = this.$refs.input.value.length * 15 + 20;\n this.resetInputHeight();\n },\n resetInputHeight: function resetInputHeight() {\n var _this10 = this;\n\n if (this.collapseTags && !this.filterable) return;\n this.$nextTick(function () {\n if (!_this10.$refs.reference) return;\n var inputChildNodes = _this10.$refs.reference.$el.childNodes;\n var input = [].filter.call(inputChildNodes, function (item) {\n return item.tagName === 'INPUT';\n })[0];\n var tags = _this10.$refs.tags;\n var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0;\n var sizeInMap = _this10.initialInputHeight || 40;\n input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';\n if (_this10.visible && _this10.emptyText !== false) {\n _this10.broadcast('ElSelectDropdown', 'updatePopper');\n }\n });\n },\n resetHoverIndex: function resetHoverIndex() {\n var _this11 = this;\n\n setTimeout(function () {\n if (!_this11.multiple) {\n _this11.hoverIndex = _this11.options.indexOf(_this11.selected);\n } else {\n if (_this11.selected.length > 0) {\n _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {\n return _this11.options.indexOf(item);\n }));\n } else {\n _this11.hoverIndex = -1;\n }\n }\n }, 300);\n },\n handleOptionSelect: function handleOptionSelect(option, byClick) {\n var _this12 = this;\n\n if (this.multiple) {\n var value = (this.value || []).slice();\n var optionIndex = this.getValueIndex(value, option.value);\n if (optionIndex > -1) {\n value.splice(optionIndex, 1);\n } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\n value.push(option.value);\n }\n this.$emit('input', value);\n this.emitChange(value);\n if (option.created) {\n this.query = '';\n this.handleQueryChange('');\n this.inputLength = 20;\n }\n if (this.filterable) this.$refs.input.focus();\n } else {\n this.$emit('input', option.value);\n this.emitChange(option.value);\n this.visible = false;\n }\n this.isSilentBlur = byClick;\n this.setSoftFocus();\n if (this.visible) return;\n this.$nextTick(function () {\n _this12.scrollToOption(option);\n });\n },\n setSoftFocus: function setSoftFocus() {\n this.softFocus = true;\n var input = this.$refs.input || this.$refs.reference;\n if (input) {\n input.focus();\n }\n },\n getValueIndex: function getValueIndex() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = arguments[1];\n\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n if (!isObject) {\n return arr.indexOf(value);\n } else {\n var valueKey = this.valueKey;\n var index = -1;\n arr.some(function (item, i) {\n if (Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(value, valueKey)) {\n index = i;\n return true;\n }\n return false;\n });\n return index;\n }\n },\n toggleMenu: function toggleMenu() {\n if (!this.selectDisabled) {\n if (this.menuVisibleOnFocus) {\n this.menuVisibleOnFocus = false;\n } else {\n this.visible = !this.visible;\n }\n if (this.visible) {\n (this.$refs.input || this.$refs.reference).focus();\n }\n }\n },\n selectOption: function selectOption() {\n if (!this.visible) {\n this.toggleMenu();\n } else {\n if (this.options[this.hoverIndex]) {\n this.handleOptionSelect(this.options[this.hoverIndex]);\n }\n }\n },\n deleteSelected: function deleteSelected(event) {\n event.stopPropagation();\n var value = this.multiple ? [] : '';\n this.$emit('input', value);\n this.emitChange(value);\n this.visible = false;\n this.$emit('clear');\n },\n deleteTag: function deleteTag(event, tag) {\n var index = this.selected.indexOf(tag);\n if (index > -1 && !this.selectDisabled) {\n var value = this.value.slice();\n value.splice(index, 1);\n this.$emit('input', value);\n this.emitChange(value);\n this.$emit('remove-tag', tag.value);\n }\n event.stopPropagation();\n },\n onInputChange: function onInputChange() {\n if (this.filterable && this.query !== this.selectedLabel) {\n this.query = this.selectedLabel;\n this.handleQueryChange(this.query);\n }\n },\n onOptionDestroy: function onOptionDestroy(index) {\n if (index > -1) {\n this.optionsCount--;\n this.filteredOptionsCount--;\n this.options.splice(index, 1);\n }\n },\n resetInputWidth: function resetInputWidth() {\n this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;\n },\n handleResize: function handleResize() {\n this.resetInputWidth();\n if (this.multiple) this.resetInputHeight();\n },\n checkDefaultFirstOption: function checkDefaultFirstOption() {\n this.hoverIndex = -1;\n // highlight the created option\n var hasCreated = false;\n for (var i = this.options.length - 1; i >= 0; i--) {\n if (this.options[i].created) {\n hasCreated = true;\n this.hoverIndex = i;\n break;\n }\n }\n if (hasCreated) return;\n for (var _i = 0; _i !== this.options.length; ++_i) {\n var option = this.options[_i];\n if (this.query) {\n // highlight first options that passes the filter\n if (!option.disabled && !option.groupDisabled && option.visible) {\n this.hoverIndex = _i;\n break;\n }\n } else {\n // highlight currently selected option\n if (option.itemSelected) {\n this.hoverIndex = _i;\n break;\n }\n }\n }\n },\n getValueKey: function getValueKey(item) {\n if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {\n return item.value;\n } else {\n return Object(util_[\"getValueByPath\"])(item.value, this.valueKey);\n }\n }\n },\n\n created: function created() {\n var _this13 = this;\n\n this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder;\n if (this.multiple && !Array.isArray(this.value)) {\n this.$emit('input', []);\n }\n if (!this.multiple && Array.isArray(this.value)) {\n this.$emit('input', '');\n }\n\n this.debouncedOnInputChange = debounce_default()(this.debounce, function () {\n _this13.onInputChange();\n });\n\n this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {\n _this13.handleQueryChange(e.target.value);\n });\n\n this.$on('handleOptionClick', this.handleOptionSelect);\n this.$on('setSelected', this.setSelected);\n },\n mounted: function mounted() {\n var _this14 = this;\n\n if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {\n this.currentPlaceholder = '';\n }\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.handleResize);\n\n var reference = this.$refs.reference;\n if (reference && reference.$el) {\n var sizeMap = {\n medium: 36,\n small: 32,\n mini: 28\n };\n var input = reference.$el.querySelector('input');\n this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];\n }\n if (this.remote && this.multiple) {\n this.resetInputHeight();\n }\n this.$nextTick(function () {\n if (reference && reference.$el) {\n _this14.inputWidth = reference.$el.getBoundingClientRect().width;\n }\n });\n this.setSelected();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el && this.handleResize) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.handleResize);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/select/src/select.vue\n\n\n\n\n\n/* normalize component */\n\nvar select_component = Object(componentNormalizer[\"a\" /* default */])(\n src_selectvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var select_api; }\nselect_component.options.__file = \"packages/select/src/select.vue\"\n/* harmony default export */ var src_select = (select_component.exports);\n// CONCATENATED MODULE: ./packages/select/index.js\n\n\n/* istanbul ignore next */\nsrc_select.install = function (Vue) {\n Vue.component(src_select.name, src_select);\n};\n\n/* harmony default export */ var packages_select = __webpack_exports__[\"default\"] = (src_select);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = require('element-ui/lib/utils/merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = require('element-ui/lib/utils/popup/popup-manager');\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = require('../scrollbar-width');\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = require('../dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar idSeed = 1;\n\nvar scrollBarWidth = void 0;\n\nexports.default = {\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n\n beforeMount: function beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n _popupManager2.default.register(this._popupId, this);\n },\n beforeDestroy: function beforeDestroy() {\n _popupManager2.default.deregister(this._popupId);\n _popupManager2.default.closeModal(this._popupId);\n\n this.restoreBodyStyle();\n },\n data: function data() {\n return {\n opened: false,\n bodyPaddingRight: null,\n computedBodyPaddingRight: 0,\n withoutHiddenClass: true,\n rendered: false\n };\n },\n\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n if (this._opening) return;\n if (!this.rendered) {\n this.rendered = true;\n _vue2.default.nextTick(function () {\n _this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n\n methods: {\n open: function open(options) {\n var _this2 = this;\n\n if (!this.rendered) {\n this.rendered = true;\n }\n\n var props = (0, _merge2.default)({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n clearTimeout(this._openTimer);\n\n var openDelay = Number(props.openDelay);\n if (openDelay > 0) {\n this._openTimer = setTimeout(function () {\n _this2._openTimer = null;\n _this2.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n doOpen: function doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n\n this._opening = true;\n\n var dom = this.$el;\n\n var modal = props.modal;\n\n var zIndex = props.zIndex;\n if (zIndex) {\n _popupManager2.default.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n }\n _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n if (props.lockScroll) {\n this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n if (this.withoutHiddenClass) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n }\n scrollBarWidth = (0, _scrollbarWidth2.default)();\n var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n }\n (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = _popupManager2.default.nextZIndex();\n this.opened = true;\n\n this.onOpen && this.onOpen();\n\n this.doAfterOpen();\n },\n doAfterOpen: function doAfterOpen() {\n this._opening = false;\n },\n close: function close() {\n var _this3 = this;\n\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n clearTimeout(this._closeTimer);\n\n var closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(function () {\n _this3._closeTimer = null;\n _this3.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n doClose: function doClose() {\n this._closing = true;\n\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(this.restoreBodyStyle, 200);\n }\n\n this.opened = false;\n\n this.doAfterClose();\n },\n doAfterClose: function doAfterClose() {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n },\n restoreBodyStyle: function restoreBodyStyle() {\n if (this.modal && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.bodyPaddingRight;\n (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n }\n this.withoutHiddenClass = true;\n }\n }\n};\nexports.PopupManager = _popupManager2.default;","const THREE = require('zincjs').THREE;\n// Current model's associate data, data fields, external link, nerve map\n// informations,\n// these are proived in the organsFileMap array.\nconst OrgansSceneData = function() {\n this.currentName = \"\";\n this.currentSystem = \"\";\n this.currentPart = \"\";\n this.currentSpecies = \"\";\n this.metaURL = \"\";\n this.viewURL = \"\";\n this.geometries = [];\n this.lines = [];\n this.glyphsets = [];\n this.pointsets = [];\n this.currentTime = 0.0;\n this.timeVarying = false;\n}\n\n/**\n * Viewer of 3D-organs models. Users can toggle on/off different views. Data is\n * displayed instead if models are not available.\n * \n * @class\n * @param {PJP.ModelsLoader}\n * ModelsLoaderIn - defined in modelsLoade.js, providing locations of\n * files.\n * @param {String}\n * PanelName - Id of the target element to create the\n * {@link PJP.OrgansViewer} on.\n * @author Alan Wu\n * @returns {PJP.OrgansViewer}\n */\n const OrgansViewer = function(ModelsLoaderIn) {\n (require('./RendererModule').RendererModule).call(this);\n const _this = this;\n\tlet pickerScene = undefined;\n\tthis.sceneData = new OrgansSceneData();\n\tconst timeChangedCallbacks = new Array();\n\tconst sceneChangedCallbacks = new Array();\n const organPartAddedCallbacks = new Array();\n let finishDownloadCallback = undefined;\n\tconst modelsLoader = ModelsLoaderIn;\n this.NDCCameraControl = undefined;\n\t_this.typeName = \"Organ Viewer\";\n\t\n\tthis.getSceneData = function() {\n\t return _this.sceneData;\n\t}\n\n\t/**\n\t * Used to update internal timer in scene when time slider has changed.\n\t */\n\tthis.updateTime = function(value) {\n let duration = 6000;\n if (_this.scene)\n duration = _this.scene.getDuration();\n const actualTime = value / 100.0 * duration;\n\t\tif (!_this.sceneData.nerveMapIsActive) {\n\t\t\tif (pickerScene)\n\t\t\t\tpickerScene.setMorphsTime(actualTime);\n\t\t\tif (_this.scene)\n\t\t\t\t_this.scene.setMorphsTime(actualTime);\n\t\t}\n\t\t_this.sceneData.currentTime = value;\n\t}\n\t\n\t/**\n\t * Update the time slider and other renderers/scenes when time has changed.\n\t */\n const preRenderTimeUpdate = function() {\n let duration = 3000;\n if (_this.scene)\n duration = _this.scene.getDuration();\n const currentTime = _this.zincRenderer.getCurrentTime();\n\t\tfor (let i = 0; i < timeChangedCallbacks.length;i++) {\n\t\t\ttimeChangedCallbacks[i](currentTime);\n\t\t}\n\t\tif (!_this.sceneData.nerveMapIsActive && pickerScene)\n\t\t\tpickerScene.setMorphsTime(currentTime);\n\t\tif (_this.sceneData.nerveMap && _this.sceneData.nerveMap.additionalReader)\n _this.sceneData.nerveMap.additionalReader.setTime(currentTime / \n duration);\n\t\t_this.sceneData.currentTime = currentTime / duration * 100.0;\n }\n\n this.toggleSyncControl = (flag, rotateMode) => {\n let cameraControl = this.scene.getZincCameraControls();\n if (flag) {\n cameraControl.resetView();\n this.NDCCameraControl = cameraControl.enableSyncControl();\n cameraControl.setRotationMode(rotateMode);\n } else {\n cameraControl.disableSyncControl();\n this.NDCCameraControl = undefined;\n cameraControl.setRotationMode(\"free\");\n }\n }\n\n this.isSyncControl = () => {\n return this.NDCCameraControl !== undefined;\n }\n\n this.setSyncControlZoomToBox = (box) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.zoomToBox(box, 2);\n }\n }\n\n this.setSyncControlCallback = (callback) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.setEventCallback(callback);\n }\n }\n\n this.setSyncControlCenterZoom = (center, zoom) => {\n if (this.NDCCameraControl) {\n this.NDCCameraControl.setCenterZoom(center, zoom);\n }\n }\n \n const postRenderSelectedCoordinatesUpdate = function() {\n if (_this.selectedCenter) {\n const vector = new THREE.Vector3();\n vector.copy(_this.selectedCenter);\n const coord = _this.scene.vectorToScreenXY(vector);\n _this.selectedScreenCoordinates.x = coord.x;\n _this.selectedScreenCoordinates.y = coord.y;\n }\n }\n\t\n\tconst preRenderUpdateCallback = function() {\n\t\treturn function() {\n preRenderTimeUpdate();\n\t\t}\n }\n \n const postRenderUpdateCallback = function() {\n\t\treturn function() {\n postRenderSelectedCoordinatesUpdate();\n\t\t}\n\t}\n\t\n\t /**\n\t\t * Add a callback which will be called when time has changed\n\t\t */\n\tthis.addTimeChangedCallback = function(callback) {\n\t if (typeof(callback === \"function\"))\n\t timeChangedCallbacks.push(callback);\n\t}\n\t\n\tthis.setTexturePos = function(value) {\n\t\tif (_this.sceneData.nerveMap && _this.sceneData.nerveMap.additionalReader)\n\t\t\t_this.sceneData.nerveMap.additionalReader.setSliderPos(value);\n\t}\n\n\tthis.addSceneChangedCallback = function(callback) {\n\t if (typeof(callback === \"function\")) {\n\t sceneChangedCallbacks.push(callback);\n\t }\n\t}\n\t\n\tthis.addOrganPartAddedCallback = function(callback) {\n if (typeof(callback === \"function\"))\n organPartAddedCallbacks.push(callback);\n }\n\n this.setFinishDownloadCallback = function(callback) {\n if (typeof(callback === \"function\"))\n finishDownloadCallback = callback;\n }\n\n this.unsetFinishDownloadCallback = function() {\n finishDownloadCallback = undefined;\n }\n\n this.getNamedObjectsToScreenCoordinates = function(name, camera) {\n const vector = new THREE.Vector3();\n vector.setFromMatrixPosition( obj.matrixWorld );\n const widthHalf = (width/2);\n const heightHalf = (height/2);\n vector.project(camera);\n vector.x = ( vector.x * widthHalf ) + widthHalf;\n vector.y = - ( vector.y * heightHalf ) + heightHalf;\n return vector;\n }\n\n const getIdObjectFromIntersect = function(intersected) {\n let id = undefined;\n let intersectedObject = undefined;\n if (intersected !== undefined) {\n if (intersected.object.userData && \n intersected.object.userData.isMarker) {\n intersectedObject = intersected.object.userData.parent.morph;\n } else {\n intersectedObject = intersected.object;\n }\n if (intersectedObject) {\n if (intersectedObject.name) {\n id = intersectedObject.name;\n } else {\n const annotations = _this.getAnnotationsFromObjects(\n [intersectedObject]);\n if (annotations && annotations[0]) {\n id = annotations[0].data.group;\n }\n }\n }\n }\n return {\"id\":id, \"object\":intersectedObject};\n }\n\t \n\t/**\n\t * Callback function when a pickable object has been picked. It will then\n\t * call functions in tissueViewer and cellPanel to show corresponding\n\t * informations.\n\t * \n\t * @callback\n\t */\n const _pickingCallback = function() {\n\t\treturn function(intersects, window_x, window_y) {\n const intersected = _this.getIntersectedObject(intersects);\n const idObject = getIdObjectFromIntersect(intersected);\n const coords = { x: window_x, y: window_y };\n if (idObject.id) {\n if (idObject.object.userData.isGlyph) { \n if (idObject.object.name)\n _this.setSelectedByObjects([idObject.object], coords, true);\n else\n _this.setSelectedByZincObjects(idObject.object.userData.getGlyphset(),\n coords, true);\n } else {\n _this.setSelectedByObjects([idObject.object], coords, true);\n }\n return;\n } else {\n\t\t\t\t_this.setSelectedByObjects([], coords, true);\n\t\t\t}\n\t\t}\n\t};\n\t\n\t/**\n\t * Callback function when a pickable object has been hovered over.\n\t * \n\t * @callback\n\t */\n const _hoverCallback = function() {\n\t\treturn function(intersects, window_x, window_y) {\n const intersected = _this.getIntersectedObject(intersects);\n const idObject = getIdObjectFromIntersect(intersected);\n const coords = { x: window_x, y: window_y };\n if (idObject.id) {\n _this.displayArea.style.cursor = \"pointer\";\n _this.setHighlightedByObjects([idObject.object], coords, true);\n return;\n }\n else {\n\t\t\t\t_this.displayArea.style.cursor = \"auto\";\n\t\t\t\t_this.setHighlightedByObjects([], coords, true);\n }\n\t\t}\n\t};\n\n\tconst changeOrganPartsVisibilityForScene = function(scene, name, value, type) {\n\t\tif (type == \"all\" || type == \"geometries\") {\n\t\t\tconst geometries = scene.findGeometriesWithGroupName(name);\n\t\t\tfor (let i = 0; i < geometries.length; i ++ ) {\n\t\t\t\tgeometries[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"glyphsets\") {\n\t\t\tconst glyphsets = scene.findGlyphsetsWithGroupName(name);\n\t\t\tfor (let i = 0; i < glyphsets.length; i ++ ) {\n\t\t\t\tglyphsets[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"pointsets\") {\n\t\t\tconst pointsets = scene.findPointsetsWithGroupName(name);\n\t\t\tfor (let i = 0; i < pointsets.length; i ++ ) {\n\t\t\t\tpointsets[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t\tif (type == \"all\" || type == \"lines\") {\n\t\t\tconst lines = scene.findLinesWithGroupName(name);\n\t\t\tfor (let i = 0; i < lines.length; i ++ ) {\n\t\t\t\tlines[i].setVisibility(value);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeGeometriesVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'geometries');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'geometries');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeGlyphsetsVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'glyphsets');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'glyphsets');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeLinesVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'lines');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'lines');\n\t}\n\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changePointsetsVisibility = function(name, value) {\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, 'pointsets');\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, 'pointsets');\n }\n \t\t\t\n\t/**\n\t * Change visibility for parts of the current scene.\n\t */\n\tthis.changeOrganPartsVisibility = function(name, value, typeIn) {\n\t\tlet type = \"all\";\n\t\tif (typeIn !== undefined)\n\t\t\ttype = typeIn;\n\t\tchangeOrganPartsVisibilityForScene(_this.scene, name, value, type);\n\t\tif (pickerScene)\n\t\t\tchangeOrganPartsVisibilityForScene(pickerScene, name, value, type);\n\t}\n\t\n\tthis.changeOrganPartsVisibilityCallback = function(name) {\n\t\treturn function(value) {\n\t\t\t_this.changeOrganPartsVisibility(name, value);\n\t\t}\n\t}\n\t\t\t\n\tthis.changeBackgroundColour = function(backgroundColourString) {\n\t\tconst colour = new THREE.Color(backgroundColourString);\n\t\tif (_this.zincRenderer) {\n\t\t\tconst internalRenderer = _this.zincRenderer.getThreeJSRenderer();\n\t\t\tinternalRenderer.setClearColor( colour, 1 );\n\t\t}\n\t}\n\n\tconst addOrganPartToSceneData = function(zincObject) {\n if (zincObject.isGeometry) {\n _this.sceneData.geometries.push(zincObject);\n } else if (zincObject.isGlyphset) {\n _this.sceneData.glyphsets.push(zincObject);\n } else if (zincObject.isLines) {\n _this.sceneData.lines.push(zincObject);\n } else if (zincObject.isPointset) {\n _this.sceneData.pointsets.push(zincObject);\n }\n\t}\n\n\tconst addOrganPart = function(systemName, partName, useDefautColour, zincObject) {\n for (let i = 0; i < organPartAddedCallbacks.length;i++) {\n organPartAddedCallbacks[i](zincObject, _this.scene.isTimeVarying());\n }\n if (useDefautColour)\n modelsLoader.setGeometryColour(zincObject, systemName, partName);\n addOrganPartToSceneData(zincObject);\n\t\tconst annotation = new (require('./annotation').annotation)();\n const region = zincObject.region.getFullPath();\n\t\tannotation.data = {species:_this.sceneData.currentSpecies, system:systemName,\n part:partName, group:zincObject.groupName, region: region};\n\t\tzincObject.userData[\"annotation\"] = annotation;\n\t}\n\n\t /**\n\t\t * New organs geometry has been added to the scene, add UIs and make\n\t\t * sure the viewport is correct.\n\t\t */\n\t const _addOrganPartCallback = function(systemName, partName, useDefautColour) {\n\t return function(zincObject) {\n\t \taddOrganPart(systemName, partName, useDefautColour, zincObject);\n\t }\n\t }\n\t \n\t const downloadCompletedCallback = function() {\n\t\t return function() {\n\t\t\t _this.settingsChanged();\n\t\t\t _this.sceneData.timeVarying = _this.scene.isTimeVarying();\n if (finishDownloadCallback)\n finishDownloadCallback();\n\t\t }\n\t }\n\t \n\t const singleItemDownloadCompletedCallback = function(systemName, partName, useDefautColour) {\n return function(geometry) {\n addOrganPart(systemName, partName, useDefautColour, geometry);\n _this.settingsChanged();\n }\n\t }\n\t \n\t /**\n\t\t * Toggle data field displays. Data fields displays flow/pressure and <button @click=\"play\">Play</button>\n\t\t * other activities of the organs.\n\t\t */\n\t this.updateFieldvisibility = function(dataFields, value) {\n for ( let i = 0; i < dataFields.length; i ++ ) {\n if (value != i) {\n const geometryName = dataFields[i].PartName;\n _this.changeOrganPartsVisibility(geometryName, false);\n }\n }\n if (value > -1) {\n const partName = dataFields[value].PartName;\n if ((_this.scene.findGeometriesWithGroupName(partName).length > 0) ||\n (_this.scene.findGlyphsetsWithGroupName(partName).length > 0)) {\n _this.changeOrganPartsVisibility(partName, true);\n } else {\n const partDetails = getOrganDetails(dataFields[value].SystemName, partName);\n if (partDetails != undefined) {\n _this.scene.loadMetadataURL(modelsLoader.getOrgansDirectoryPrefix() + \"/\" + partDetails.meta);\n }\n }\n\t }\n\t }\n\t \n\t /**\n\t\t * Return an array containing name(s) of species that also contains the\n\t\t * currently displayed organs.\n\t\t * \n\t\t * @returns {Array} containing species name\n\t\t */\n\t this.getAvailableSpecies = function(currentSpecies, currentSystem, currentPart) {\n\t const availableSpecies = new Array();\n\t availableSpecies.push(\"none\");\n\t const keysArray = Object.keys(organsFileMap);\n\t for (index in keysArray) {\n\t const species = keysArray[index];\n\t if (species != currentSpecies) {\n\t if (organsFileMap[species].hasOwnProperty(currentSystem) &&\n\t organsFileMap[species][currentSystem].hasOwnProperty(currentPart)) {\n\t availableSpecies.push(species);\n\t }\n\t }\n\t }\n\t return availableSpecies;\n\t }\n\t \n\t const setSceneData = function(speciesName, systemName, partName, organsDetails) {\n _this.sceneData.nerveMapIsActive = false;\n _this.sceneData.nerveMap = undefined;\n _this.sceneData.metaURL = \"\";\n _this.sceneData.viewURL = \"\";\n _this.sceneData.currentSpecies = speciesName;\n _this.sceneData.currentSystem = systemName;\n\t\t\t_this.sceneData.currentPart = partName;\n\t\t\t_this.sceneData.currentTime = 0.0;\n\t\t\t_this.sceneData.geometries.splice(0);\n\t\t\t_this.sceneData.lines.splice(0);\n\t\t\t_this.sceneData.glyphsets.splice(0);\n\t\t\t_this.sceneData.pointsets.splice(0);\n\t\t\t_this.sceneData.timeVarying = false;\n // This is used as title\n let name = \"\";\n if (speciesName)\n name = speciesName + \"/\";\n if (systemName)\n name = systemName + \"/\";\n if (partName)\n name = partName;\n _this.sceneData.currentName = name;\n\t }\n\n\t this.loadOrgansFromURL = function(url, speciesName, systemName, partName, viewURL, clearFirst) {\n\t\t if (_this.zincRenderer) {\n\t\t\t if (partName && (_this.sceneData.metaURL !== url)) {\n\t\t\t setSceneData(speciesName, systemName, partName, undefined);\n\t\t\t const name = _this.sceneData.currentName;\n\t\t\t let organScene = _this.zincRenderer.getSceneByName(name);\n\t\t\t if (organScene) {\n if (clearFirst)\n\t\t\t \t organScene.clearAll();\n\t\t\t } else {\n\t\t\t \t organScene = _this.zincRenderer.createScene(name);\n\t\t\t }\n\t\t\t for (let i = 0; i < sceneChangedCallbacks.length;i++) {\n\t\t\t \t sceneChangedCallbacks[i](_this.sceneData);\n\t\t\t }\n\t\t\t if (viewURL && viewURL != \"\") {\n\t\t\t \t _this.sceneData.viewURL = viewURL;\n\t\t\t\t organScene.loadViewURL(_this.sceneData.viewURL);\n\t\t\t } else {\n\t\t\t \t _this.sceneData.viewURL = undefined;\n }\n\t\t\t _this.sceneData.metaURL = url;\n\t\t\t organScene.loadMetadataURL(url, _addOrganPartCallback(systemName, partName, false),\n\t\t\t \t downloadCompletedCallback());\t \n\t\t\t _this.scene = organScene;\n\t\t\t _this.zincRenderer.setCurrentScene(organScene);\n\t\t\t _this.graphicsHighlight.reset();\n\t\t\t const zincCameraControl = organScene.getZincCameraControls();\n\t\t\t zincCameraControl.enableRaycaster(organScene, _pickingCallback(), _hoverCallback());\n\t\t\t zincCameraControl.setMouseButtonAction(\"AUXILIARY\", \"ZOOM\");\n\t\t\t zincCameraControl.setMouseButtonAction(\"SECONDARY\", \"PAN\");\n\t\t\t }\n\t\t }\n\t }\n\n this.loadGLTFFromURL = function(url, partName, clearFirst) {\n\t\t if (_this.zincRenderer) {\n\t\t\t if (partName && (_this.sceneData.metaURL !== url)) {\n\t\t\t setSceneData(undefined, undefined, partName, undefined);\n\t\t\t const name = _this.sceneData.currentName;\n\t\t\t let organScene = _this.zincRenderer.getSceneByName(name);\n\t\t\t if (organScene) {\n if (clearFirst)\n\t\t\t \t organScene.clearAll();\n\t\t\t } else {\n\t\t\t \t organScene = _this.zincRenderer.createScene(name);\n\t\t\t }\n\t\t\t for (let i = 0; i < sceneChangedCallbacks.length;i++) {\n\t\t\t \t sceneChangedCallbacks[i](_this.sceneData);\n\t\t\t }\n \t \t _this.sceneData.viewURL = undefined;\n\t\t\t _this.sceneData.metaURL = url;\n\t\t\t organScene.loadGLTF(url, _addOrganPartCallback(undefined, partName, false),\n downloadCompletedCallback());\n\t\t\t _this.scene = organScene;\n\t\t\t _this.zincRenderer.setCurrentScene(organScene);\n\t\t\t _this.graphicsHighlight.reset();\n\t\t\t const zincCameraControl = organScene.getZincCameraControls();\n\t\t\t zincCameraControl.enableRaycaster(organScene, _pickingCallback(), _hoverCallback());\n\t\t\t zincCameraControl.setMouseButtonAction(\"AUXILIARY\", \"ZOOM\");\n\t\t\t zincCameraControl.setMouseButtonAction(\"SECONDARY\", \"PAN\");\n\t\t\t }\n\t\t }\n\t }\n\t \t \n\t this.alignCameraWithSelectedObject = function(transitionTime) {\n\t const objects = _this.graphicsHighlight.getSelected();\n\t if (objects && objects[0] && objects[0].userData) {\n\t _this.scene.alignObjectToCameraView(objects[0].userData, transitionTime);\n\t }\n\t }\n\t \n\t this.exportSettings = function() {\n\t\t const settings = {};\n\t\t settings.name = _this.instanceName;\n\t\t if (_this.sceneData.currentSystem)\n\t\t\t settings.system = _this.sceneData.currentSystem;\n\t\t if (_this.sceneData.currentSpecies)\n\t\t\t settings.species = _this.sceneData.currentSpecies;\n\t\t if (_this.sceneData.currentPart)\n\t\t\t settings.part = _this.sceneData.currentPart;\n\t\t settings.metaURL = _this.sceneData.metaURL;\n\t\t if (_this.sceneData.viewURL)\n\t\t\t settings.viewURL = _this.sceneData.viewURL;\n\t\t settings.dialog = \"Organ Viewer\";\n\t\t return settings;\n\t }\n\t \n\t this.importSettings = function(settings) {\n\t\t if (settings && (settings.dialog == this.typeName)) {\n\t\t\t _this.setName(settings.name);\n\t\t\t if (settings.metaURL !== undefined && settings.metaURL != \"\") {\n\t\t\t\t _this.loadOrgansFromURL(settings.metaURL, settings.species,\n\t\t\t\t\t settings.system, settings.part, settings.viewURL, true);\n\t\t\t } else {\n\t\t\t\t _this.loadOrgans(settings.species, settings.system, settings.part);\n\t\t\t }\n\t\t\t return true;\n\t\t }\n\t\t return false;\n\t }\n\t\t\n\t/**\n\t * initialise loading of the html layout for the organs panel, this is\n\t * called when the {@link PJP.OrgansViewer} is created.\n\t * \n\t * @async\n\t */\n\t const initialise = function() {\n\t _this.initialiseRenderer(undefined);\n\t if (_this.zincRenderer) {\n _this.zincRenderer.addPreRenderCallbackFunction(preRenderUpdateCallback());\n _this.zincRenderer.addPostRenderCallbackFunction(postRenderUpdateCallback());\n }\n }\n\t \n\tinitialise();\n\n}\n\nOrgansViewer.prototype = Object.create((require('./RendererModule').RendererModule).prototype);\nexports.OrgansViewer = OrgansViewer;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Transition = function () {\n function Transition() {\n _classCallCheck(this, Transition);\n }\n\n Transition.prototype.beforeEnter = function beforeEnter(el) {\n (0, _dom.addClass)(el, 'collapse-transition');\n if (!el.dataset) el.dataset = {};\n\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n };\n\n Transition.prototype.enter = function enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.height = '';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.afterEnter = function afterEnter(el) {\n // for safari: remove class then reset height is necessary\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n };\n\n Transition.prototype.beforeLeave = function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = el.scrollHeight + 'px';\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.leave = function leave(el) {\n if (el.scrollHeight !== 0) {\n // for safari: add class after set height, or it will jump to zero height suddenly, weired\n (0, _dom.addClass)(el, 'collapse-transition');\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n };\n\n Transition.prototype.afterLeave = function afterLeave(el) {\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n };\n\n return Transition;\n}();\n\nexports.default = {\n name: 'ElCollapseTransition',\n functional: true,\n render: function render(h, _ref) {\n var children = _ref.children;\n\n var data = {\n on: new Transition()\n };\n\n return h('transition', data, children);\n }\n};","'use strict';\n\nexports.__esModule = true;\nexports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* istanbul ignore next */\n\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.setStyle = setStyle;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\nvar ieVersion = isServer ? 0 : Number(document.documentMode);\n\n/* istanbul ignore next */\nvar trim = function trim(string) {\n return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\nvar camelCase = function camelCase(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n\n/* istanbul ignore next */\nvar on = exports.on = function () {\n if (!isServer && document.addEventListener) {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.attachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar off = exports.off = function () {\n if (!isServer && document.removeEventListener) {\n return function (element, event, handler) {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event) {\n element.detachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar once = exports.once = function once(el, event, fn) {\n var listener = function listener() {\n if (fn) {\n fn.apply(this, arguments);\n }\n off(el, event, listener);\n };\n on(el, event, listener);\n};\n\n/* istanbul ignore next */\nfunction hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n } else {\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n }\n};\n\n/* istanbul ignore next */\nfunction addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n if (!el.classList) {\n el.setAttribute('class', curClass);\n }\n};\n\n/* istanbul ignore next */\nfunction removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n if (!el.classList) {\n el.setAttribute('class', trim(curClass));\n }\n};\n\n/* istanbul ignore next */\nvar getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'styleFloat';\n }\n try {\n switch (styleName) {\n case 'opacity':\n try {\n return element.filters.item('alpha').opacity / 100;\n } catch (e) {\n return 1.0;\n }\n default:\n return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;\n }\n } catch (e) {\n return element.style[styleName];\n }\n} : function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n};\n\n/* istanbul ignore next */\nfunction setStyle(element, styleName, value) {\n if (!element || !styleName) return;\n\n if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {\n for (var prop in styleName) {\n if (styleName.hasOwnProperty(prop)) {\n setStyle(element, prop, styleName[prop]);\n }\n }\n } else {\n styleName = camelCase(styleName);\n if (styleName === 'opacity' && ieVersion < 9) {\n element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n } else {\n element.style[styleName] = value;\n }\n }\n};\n\nvar isScroll = exports.isScroll = function isScroll(el, vertical) {\n if (isServer) return;\n\n var determinedDirection = vertical !== null && vertical !== undefined;\n var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');\n\n return overflow.match(/(scroll|auto|overlay)/);\n};\n\nvar getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {\n if (isServer) return;\n\n var parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) {\n return window;\n }\n if (isScroll(parent, vertical)) {\n return parent;\n }\n parent = parent.parentNode;\n }\n\n return parent;\n};\n\nvar isInContainer = exports.isInContainer = function isInContainer(el, container) {\n if (isServer || !el || !container) return false;\n\n var elRect = el.getBoundingClientRect();\n var containerRect = void 0;\n\n if ([window, document, document.documentElement, null, undefined].includes(container)) {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0\n };\n } else {\n containerRect = container.getBoundingClientRect();\n }\n\n return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;\n};","module.exports = require(\"core-js/modules/es.regexp.test.js\");","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var THREE = require('zincjs').THREE;\n\n/**\n * This module manages highlighted and selected objects in 3D modules. \n * \n * @class\n * @returns {exports.GraphicsHighlight}\n */\nexports.GraphicsHighlight = function() {\n let currentHighlightedObjects = [];\n let currentSelectedObjects = [];\n this.highlightColour = [1, 0, 0];\n this.selectColour = [0, 1, 0];\n this.originalColour = [0, 0, 0];\n const _this = this;\n\n const isDifferent = function(array1, array2) {\n if ((array1.length == 0) && (array2.length == 0))\n return false; \n for (let i = 0; i < array1.length; i++) {\n let matched = false;\n for (let j = 0; j < array2.length; j++) {\n if (array1[i] === array2[j]) {\n matched = true;\n }\n }\n if (!matched)\n return true;\n }\n for (let i = 0; i < array2.length; i++) {\n let matched = false;\n for (let j = 0; j < array1.length; j++) {\n if (array2[i] === array1[j]) {\n matched = true;\n }\n }\n if (!matched)\n return true;\n }\n return false;\n }\n \n const getUnmatchingObjects = function(objectsArray1, objectsArray2) {\n const unmatchingObjects = [];\n if (objectsArray2.length == 0)\n return objectsArray1;\n for (let i = 0; i < objectsArray1.length; i++) {\n let matched = false;\n for (let j = 0; j < objectsArray2.length; j++) {\n if (objectsArray1[i] === objectsArray2[j]) {\n matched = true;\n }\n }\n if (!matched)\n unmatchingObjects.push(objectsArray1[i]);\n }\n return unmatchingObjects;\n }\n \n this.setHighlighted = function(objects) {\n const previousHighlightedObjects = currentHighlightedObjects;\n _this.resetHighlighted();\n // Selected object cannot be highlighted\n const array = getUnmatchingObjects(objects, currentSelectedObjects);\n const fullList = getFullListOfObjects(array);\n for (let i = 0; i < fullList.length; i++) {\n if (fullList[i] && fullList[i].material && fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.highlightColour);\n }\n currentHighlightedObjects = array;\n return isDifferent(currentHighlightedObjects, previousHighlightedObjects);\n }\n\n this.setSelected = function(objects) {\n // first find highlighted object that are not selected\n const previousHSelectedObjects = currentSelectedObjects;\n const array = getUnmatchingObjects(currentHighlightedObjects, objects);\n currentHighlightedObjects = array;\n _this.resetSelected();\n const fullList = getFullListOfObjects(objects);\n for (let i = 0; i < fullList.length; i++) {\n \tif (fullList[i] && fullList[i].material && fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.selectColour);\n }\n currentSelectedObjects = objects;\n return isDifferent(currentSelectedObjects, previousHSelectedObjects);\n }\n\n const getFullListOfObjects = function(objects) {\n let fullList = [];\n for (let i = 0; i < objects.length; i++) {\n if (objects[i].material)\n fullList.push(objects[i]);\n }\n return fullList;\n }\n \n this.resetHighlighted = function() {\n const fullList = getFullListOfObjects(currentHighlightedObjects);\n for (let i = 0; i < fullList.length; i++) {\n if (fullList[i] && fullList[i].material) {\n if (fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.originalColour);\n if (fullList[i].material.depthFunc)\n fullList[i].material.depthFunc = THREE.LessEqualDepth;\n }\n }\n currentHighlightedObjects = [];\n }\n \n this.resetSelected = function() {\n const fullList = getFullListOfObjects(currentSelectedObjects);\n for (let i = 0; i < fullList.length; i++) {\n \tif (fullList[i] && fullList[i].material) {\n \t\tif (fullList[i].material.emissive)\n fullList[i].material.emissive.setRGB(..._this.originalColour);\n \t\tif (fullList[i].material.depthFunc)\n fullList[i].material.depthFunc = THREE.LessEqualDepth;\n \t}\n }\n currentSelectedObjects = [];\n }\n \n this.getSelected = function() {\n return currentSelectedObjects;\n }\n \n this.reset = function() {\n _this.resetSelected();\n _this.resetHighlighted();\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=style&index=0&id=3340a547&scoped=true&lang=scss&\"","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version {{version}}\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n//\n// Cross module loader\n// Supported: Node, AMD, Browser globals\n//\n;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.Popper = factory();\n }\n})(undefined, function () {\n\n 'use strict';\n\n var root = window;\n\n // default options\n var DEFAULTS = {\n // placement of the popper\n placement: 'bottom',\n\n gpuAcceleration: true,\n\n // shift popper from its origin by the given amount of pixels (can be negative)\n offset: 0,\n\n // the element which will act as boundary of the popper\n boundariesElement: 'viewport',\n\n // amount of pixel used to define a minimum distance between the boundaries and the popper\n boundariesPadding: 5,\n\n // popper will try to prevent overflow following this order,\n // by default, then, it could overflow on the left and on top of the boundariesElement\n preventOverflowOrder: ['left', 'right', 'top', 'bottom'],\n\n // the behavior used by flip to change the placement of the popper\n flipBehavior: 'flip',\n\n arrowElement: '[x-arrow]',\n\n arrowOffset: 0,\n\n // list of functions used to modify the offsets before they are applied to the popper\n modifiers: ['shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],\n\n modifiersIgnored: [],\n\n forceAbsolute: false\n };\n\n /**\n * Create a new Popper.js instance\n * @constructor Popper\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement|Object} popper\n * The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [popper.tagName='div'] The tag name of the generated popper.\n * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper.\n * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it.\n * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string.\n * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`.\n * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is.\n * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element.\n * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element.\n * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element.\n * @param {Object} options\n * @param {String} [options.placement=bottom]\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right),\n * left(-start, -end)`\n *\n * @param {HTMLElement|String} [options.arrowElement='[x-arrow]']\n * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of\n * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its\n * reference element.\n * By default, it will look for a child node of the popper with the `x-arrow` attribute.\n *\n * @param {Boolean} [options.gpuAcceleration=true]\n * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the\n * browser to use the GPU to accelerate the rendering.\n * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU.\n *\n * @param {Number} [options.offset=0]\n * Amount of pixels the popper will be shifted (can be negative).\n *\n * @param {String|Element} [options.boundariesElement='viewport']\n * The element which will define the boundaries of the popper position, the popper will never be placed outside\n * of the defined boundaries (except if `keepTogether` is enabled)\n *\n * @param {Number} [options.boundariesPadding=5]\n * Additional padding for the boundaries\n *\n * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']]\n * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order,\n * this means that the last ones will never overflow\n *\n * @param {String|Array} [options.flipBehavior='flip']\n * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to\n * overlap its reference element. Defining `flip` as value, the placement will be flipped on\n * its axis (`right - left`, `top - bottom`).\n * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify\n * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left,\n * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top)\n *\n * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']]\n * List of functions used to modify the data before they are applied to the popper, add your custom functions\n * to this array to edit the offsets and placement.\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Array} [options.modifiersIgnored=[]]\n * Put here any built-in modifier name you want to exclude from the modifiers list\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Boolean} [options.removeOnDestroy=false]\n * Set to true if you want to automatically remove the popper when you call the `destroy` method.\n */\n function Popper(reference, popper, options) {\n this._reference = reference.jquery ? reference[0] : reference;\n this.state = {};\n\n // if the popper variable is a configuration object, parse it to generate an HTMLElement\n // generate a default popper if is not defined\n var isNotDefined = typeof popper === 'undefined' || popper === null;\n var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]';\n if (isNotDefined || isConfig) {\n this._popper = this.parse(isConfig ? popper : {});\n }\n // otherwise, use the given HTMLElement as popper\n else {\n this._popper = popper.jquery ? popper[0] : popper;\n }\n\n // with {} we create a new object with the options inside it\n this._options = Object.assign({}, DEFAULTS, options);\n\n // refactoring modifiers' list\n this._options.modifiers = this._options.modifiers.map(function (modifier) {\n // remove ignored modifiers\n if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return;\n\n // set the x-placement attribute before everything else because it could be used to add margins to the popper\n // margins needs to be calculated to get the correct popper offsets\n if (modifier === 'applyStyle') {\n this._popper.setAttribute('x-placement', this._options.placement);\n }\n\n // return predefined modifier identified by string or keep the custom one\n return this.modifiers[modifier] || modifier;\n }.bind(this));\n\n // make sure to apply the popper position before any computation\n this.state.position = this._getPosition(this._popper, this._reference);\n setStyle(this._popper, { position: this.state.position, top: 0 });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n // setup event listeners, they will take care of update the position in specific situations\n this._setupEventListeners();\n return this;\n }\n\n //\n // Methods\n //\n /**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\n Popper.prototype.destroy = function () {\n this._popper.removeAttribute('x-placement');\n this._popper.style.left = '';\n this._popper.style.position = '';\n this._popper.style.top = '';\n this._popper.style[getSupportedPropertyName('transform')] = '';\n this._removeEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n if (this._options.removeOnDestroy) {\n this._popper.remove();\n }\n return this;\n };\n\n /**\n * Updates the position of the popper, computing the new offsets and applying the new style\n * @method\n * @memberof Popper\n */\n Popper.prototype.update = function () {\n var data = { instance: this, styles: {} };\n\n // store placement inside the data object, modifiers will be able to edit `placement` if needed\n // and refer to _originalPlacement to know the original value\n data.placement = this._options.placement;\n data._originalPlacement = this._options.placement;\n\n // compute the popper and reference offsets and put them inside data.offsets\n data.offsets = this._getOffsets(this._popper, this._reference, data.placement);\n\n // get boundaries\n data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);\n\n data = this.runModifiers(data, this._options.modifiers);\n\n if (typeof this.state.updateCallback === 'function') {\n this.state.updateCallback(data);\n }\n };\n\n /**\n * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance.\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onCreate = function (callback) {\n // the createCallbacks return as first argument the popper instance\n callback(this);\n return this;\n };\n\n /**\n * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations\n * used to style popper and its arrow.\n * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor!\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onUpdate = function (callback) {\n this.state.updateCallback = callback;\n return this;\n };\n\n /**\n * Helper used to generate poppers from a configuration file\n * @method\n * @memberof Popper\n * @param config {Object} configuration\n * @returns {HTMLElement} popper\n */\n Popper.prototype.parse = function (config) {\n var defaultConfig = {\n tagName: 'div',\n classNames: ['popper'],\n attributes: [],\n parent: root.document.body,\n content: '',\n contentType: 'text',\n arrowTagName: 'div',\n arrowClassNames: ['popper__arrow'],\n arrowAttributes: ['x-arrow']\n };\n config = Object.assign({}, defaultConfig, config);\n\n var d = root.document;\n\n var popper = d.createElement(config.tagName);\n addClassNames(popper, config.classNames);\n addAttributes(popper, config.attributes);\n if (config.contentType === 'node') {\n popper.appendChild(config.content.jquery ? config.content[0] : config.content);\n } else if (config.contentType === 'html') {\n popper.innerHTML = config.content;\n } else {\n popper.textContent = config.content;\n }\n\n if (config.arrowTagName) {\n var arrow = d.createElement(config.arrowTagName);\n addClassNames(arrow, config.arrowClassNames);\n addAttributes(arrow, config.arrowAttributes);\n popper.appendChild(arrow);\n }\n\n var parent = config.parent.jquery ? config.parent[0] : config.parent;\n\n // if the given parent is a string, use it to match an element\n // if more than one element is matched, the first one will be used as parent\n // if no elements are matched, the script will throw an error\n if (typeof parent === 'string') {\n parent = d.querySelectorAll(config.parent);\n if (parent.length > 1) {\n console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used');\n }\n if (parent.length === 0) {\n throw 'ERROR: the given `parent` doesn\\'t exists!';\n }\n parent = parent[0];\n }\n // if the given parent is a DOM nodes list or an array of nodes with more than one element,\n // the first one will be used as parent\n if (parent.length > 1 && parent instanceof Element === false) {\n console.warn('WARNING: you have passed as parent a list of elements, the first one will be used');\n parent = parent[0];\n }\n\n // append the generated popper to its parent\n parent.appendChild(popper);\n\n return popper;\n\n /**\n * Adds class names to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} classes\n */\n function addClassNames(element, classNames) {\n classNames.forEach(function (className) {\n element.classList.add(className);\n });\n }\n\n /**\n * Adds attributes to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} attributes\n * @example\n * addAttributes(element, [ 'data-info:foobar' ]);\n */\n function addAttributes(element, attributes) {\n attributes.forEach(function (attribute) {\n element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || '');\n });\n }\n };\n\n /**\n * Helper used to get the position which will be applied to the popper\n * @method\n * @memberof Popper\n * @param config {HTMLElement} popper element\n * @param reference {HTMLElement} reference element\n * @returns {String} position\n */\n Popper.prototype._getPosition = function (popper, reference) {\n var container = getOffsetParent(reference);\n\n if (this._options.forceAbsolute) {\n return 'absolute';\n }\n\n // Decide if the popper will be fixed\n // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together\n var isParentFixed = isFixed(reference, container);\n return isParentFixed ? 'fixed' : 'absolute';\n };\n\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper\n * @access private\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n Popper.prototype._getOffsets = function (popper, reference, placement) {\n placement = placement.split('-')[0];\n var popperOffsets = {};\n\n popperOffsets.position = this.state.position;\n var isParentFixed = popperOffsets.position === 'fixed';\n\n //\n // Get reference element position\n //\n var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed);\n\n //\n // Get popper sizes\n //\n var popperRect = getOuterSizes(popper);\n\n //\n // Compute offsets of popper\n //\n\n // depending by the popper placement we have to compute its offsets slightly differently\n if (['right', 'left'].indexOf(placement) !== -1) {\n popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2;\n if (placement === 'left') {\n popperOffsets.left = referenceOffsets.left - popperRect.width;\n } else {\n popperOffsets.left = referenceOffsets.right;\n }\n } else {\n popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2;\n if (placement === 'top') {\n popperOffsets.top = referenceOffsets.top - popperRect.height;\n } else {\n popperOffsets.top = referenceOffsets.bottom;\n }\n }\n\n // Add width and height to our offsets object\n popperOffsets.width = popperRect.width;\n popperOffsets.height = popperRect.height;\n\n return {\n popper: popperOffsets,\n reference: referenceOffsets\n };\n };\n\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._setupEventListeners = function () {\n // NOTE: 1 DOM access here\n this.state.updateBound = this.update.bind(this);\n root.addEventListener('resize', this.state.updateBound);\n // if the boundariesElement is window we don't need to listen for the scroll event\n if (this._options.boundariesElement !== 'window') {\n var target = getScrollParent(this._reference);\n // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n if (target === root.document.body || target === root.document.documentElement) {\n target = root;\n }\n target.addEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = target;\n }\n };\n\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._removeEventListeners = function () {\n // NOTE: 1 DOM access here\n root.removeEventListener('resize', this.state.updateBound);\n if (this._options.boundariesElement !== 'window' && this.state.scrollTarget) {\n this.state.scrollTarget.removeEventListener('scroll', this.state.updateBound);\n this.state.scrollTarget = null;\n }\n this.state.updateBound = null;\n };\n\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper\n * @access private\n * @param {Object} data - Object containing the property \"offsets\" generated by `_getOffsets`\n * @param {Number} padding - Boundaries padding\n * @param {Element} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\n Popper.prototype._getBoundaries = function (data, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = {};\n var width, height;\n if (boundariesElement === 'window') {\n var body = root.document.body,\n html = root.document.documentElement;\n\n height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n\n boundaries = {\n top: 0,\n right: width,\n bottom: height,\n left: 0\n };\n } else if (boundariesElement === 'viewport') {\n var offsetParent = getOffsetParent(this._popper);\n var scrollParent = getScrollParent(this._popper);\n var offsetParentRect = getOffsetRect(offsetParent);\n\n // Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop`\n var getScrollTopValue = function getScrollTopValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop;\n };\n var getScrollLeftValue = function getScrollLeftValue(element) {\n return element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft;\n };\n\n // if the popper is fixed we don't have to substract scrolling from the boundaries\n var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent);\n var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent);\n\n boundaries = {\n top: 0 - (offsetParentRect.top - scrollTop),\n right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),\n bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),\n left: 0 - (offsetParentRect.left - scrollLeft)\n };\n } else {\n if (getOffsetParent(this._popper) === boundariesElement) {\n boundaries = {\n top: 0,\n left: 0,\n right: boundariesElement.clientWidth,\n bottom: boundariesElement.clientHeight\n };\n } else {\n boundaries = getOffsetRect(boundariesElement);\n }\n }\n boundaries.left += padding;\n boundaries.right -= padding;\n boundaries.top = boundaries.top + padding;\n boundaries.bottom = boundaries.bottom - padding;\n return boundaries;\n };\n\n /**\n * Loop trough the list of modifiers and run them in order, each of them will then edit the data object\n * @method\n * @memberof Popper\n * @access public\n * @param {Object} data\n * @param {Array} modifiers\n * @param {Function} ends\n */\n Popper.prototype.runModifiers = function (data, modifiers, ends) {\n var modifiersToRun = modifiers.slice();\n if (ends !== undefined) {\n modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends));\n }\n\n modifiersToRun.forEach(function (modifier) {\n if (isFunction(modifier)) {\n data = modifier.call(this, data);\n }\n }.bind(this));\n\n return data;\n };\n\n /**\n * Helper used to know if the given modifier depends from another one.\n * @method\n * @memberof Popper\n * @param {String} requesting - name of requesting modifier\n * @param {String} requested - name of requested modifier\n * @returns {Boolean}\n */\n Popper.prototype.isModifierRequired = function (requesting, requested) {\n var index = getArrayKeyIndex(this._options.modifiers, requesting);\n return !!this._options.modifiers.slice(0, index).filter(function (modifier) {\n return modifier === requested;\n }).length;\n };\n\n //\n // Modifiers\n //\n\n /**\n * Modifiers list\n * @namespace Popper.modifiers\n * @memberof Popper\n * @type {Object}\n */\n Popper.prototype.modifiers = {};\n\n /**\n * Apply the computed styles to the popper element\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The same data object\n */\n Popper.prototype.modifiers.applyStyle = function (data) {\n // apply the final offsets to the popper\n // NOTE: 1 DOM access here\n var styles = {\n position: data.offsets.popper.position\n };\n\n // round top and left to avoid blurry text\n var left = Math.round(data.offsets.popper.left);\n var top = Math.round(data.offsets.popper.top);\n\n // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper\n // we automatically use the supported prefixed version if needed\n var prefixedProperty;\n if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles.top = 0;\n styles.left = 0;\n }\n // othwerise, we use the standard `left` and `top` properties\n else {\n styles.left = left;\n styles.top = top;\n }\n\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n Object.assign(styles, data.styles);\n\n setStyle(this._popper, styles);\n\n // set an attribute which will be useful to style the tooltip (use it to properly position its arrow)\n // NOTE: 1 DOM access here\n this._popper.setAttribute('x-placement', data.placement);\n\n // if the arrow modifier is required and the arrow style has been computed, apply the arrow style\n if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) {\n setStyle(data.arrowElement, data.offsets.arrow);\n }\n\n return data;\n };\n\n /**\n * Modifier used to shift the popper on the start or end of its reference element side\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.shift = function (data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftVariation = placement.split('-')[1];\n\n // if shift shiftVariation is specified, run the modifier\n if (shiftVariation) {\n var reference = data.offsets.reference;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var shiftOffsets = {\n y: {\n start: { top: reference.top },\n end: { top: reference.top + reference.height - popper.height }\n },\n x: {\n start: { left: reference.left },\n end: { left: reference.left + reference.width - popper.width }\n }\n };\n\n var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y';\n\n data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);\n }\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper does not overflows from it's boundaries\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.preventOverflow = function (data) {\n var order = this._options.preventOverflowOrder;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var check = {\n left: function left() {\n var left = popper.left;\n if (popper.left < data.boundaries.left) {\n left = Math.max(popper.left, data.boundaries.left);\n }\n return { left: left };\n },\n right: function right() {\n var left = popper.left;\n if (popper.right > data.boundaries.right) {\n left = Math.min(popper.left, data.boundaries.right - popper.width);\n }\n return { left: left };\n },\n top: function top() {\n var top = popper.top;\n if (popper.top < data.boundaries.top) {\n top = Math.max(popper.top, data.boundaries.top);\n }\n return { top: top };\n },\n bottom: function bottom() {\n var top = popper.top;\n if (popper.bottom > data.boundaries.bottom) {\n top = Math.min(popper.top, data.boundaries.bottom - popper.height);\n }\n return { top: top };\n }\n };\n\n order.forEach(function (direction) {\n data.offsets.popper = Object.assign(popper, check[direction]());\n });\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper is always near its reference\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.keepTogether = function (data) {\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var f = Math.floor;\n\n if (popper.right < f(reference.left)) {\n data.offsets.popper.left = f(reference.left) - popper.width;\n }\n if (popper.left > f(reference.right)) {\n data.offsets.popper.left = f(reference.right);\n }\n if (popper.bottom < f(reference.top)) {\n data.offsets.popper.top = f(reference.top) - popper.height;\n }\n if (popper.top > f(reference.bottom)) {\n data.offsets.popper.top = f(reference.bottom);\n }\n\n return data;\n };\n\n /**\n * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element.\n * Requires the `preventOverflow` modifier before it in order to work.\n * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper!\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.flip = function (data) {\n // check if preventOverflow is in the list of modifiers before the flip modifier.\n // otherwise flip would not work as expected.\n if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {\n console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!');\n return data;\n }\n\n if (data.flipped && data.placement === data._originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n if (this._options.flipBehavior === 'flip') {\n flipOrder = [placement, placementOpposite];\n } else {\n flipOrder = this._options.flipBehavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = getPopperClientRect(data.offsets.popper);\n\n // this boolean is used to distinguish right and bottom from top and left\n // they need different computations to get flipped\n var a = ['right', 'bottom'].indexOf(placement) !== -1;\n\n // using Math.floor because the reference offsets may contain decimals we are not going to consider here\n if (a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) || !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])) {\n // we'll use this boolean to detect any flip loop\n data.flipped = true;\n data.placement = flipOrder[index + 1];\n if (variation) {\n data.placement += '-' + variation;\n }\n data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;\n\n data = this.runModifiers(data, this._options.modifiers, this._flip);\n }\n }.bind(this));\n return data;\n };\n\n /**\n * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper.\n * The offsets will shift the popper on the side of its reference element.\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.offset = function (data) {\n var offset = this._options.offset;\n var popper = data.offsets.popper;\n\n if (data.placement.indexOf('left') !== -1) {\n popper.top -= offset;\n } else if (data.placement.indexOf('right') !== -1) {\n popper.top += offset;\n } else if (data.placement.indexOf('top') !== -1) {\n popper.left -= offset;\n } else if (data.placement.indexOf('bottom') !== -1) {\n popper.left += offset;\n }\n return data;\n };\n\n /**\n * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element\n * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.arrow = function (data) {\n var arrow = this._options.arrowElement;\n var arrowOffset = this._options.arrowOffset;\n\n // if the arrowElement is a string, suppose it's a CSS selector\n if (typeof arrow === 'string') {\n arrow = this._popper.querySelector(arrow);\n }\n\n // if arrow element is not found, don't run the modifier\n if (!arrow) {\n return data;\n }\n\n // the arrow element must be child of its popper\n if (!this._popper.contains(arrow)) {\n console.warn('WARNING: `arrowElement` must be child of its popper element!');\n return data;\n }\n\n // arrow depends on keepTogether in order to work\n if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {\n console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!');\n return data;\n }\n\n var arrowStyle = {};\n var placement = data.placement.split('-')[0];\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var side = isVertical ? 'top' : 'left';\n var translate = isVertical ? 'translateY' : 'translateX';\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowSize = getOuterSizes(arrow)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);\n }\n // bottom/right side\n if (reference[side] + arrowSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + (arrowOffset || reference[len] / 2 - arrowSize / 2);\n\n var sideValue = center - popper[side];\n\n // prevent arrow from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowSize - 8, sideValue), 8);\n arrowStyle[side] = sideValue;\n arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow\n\n data.offsets.arrow = arrowStyle;\n data.arrowElement = arrow;\n\n return data;\n };\n\n //\n // Helpers\n //\n\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n function getOuterSizes(element) {\n // NOTE: 1 DOM access here\n var _display = element.style.display,\n _visibility = element.style.visibility;\n element.style.display = 'block';element.style.visibility = 'hidden';\n var calcWidthToForceRepaint = element.offsetWidth;\n\n // original method\n var styles = root.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = { width: element.offsetWidth + y, height: element.offsetHeight + x };\n\n // reset element styles\n element.style.display = _display;element.style.visibility = _visibility;\n return result;\n }\n\n /**\n * Get the opposite placement of the given one/\n * @function\n * @ignore\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n function getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n }\n\n /**\n * Given the popper offsets, generate an output similar to getBoundingClientRect\n * @function\n * @ignore\n * @argument {Object} popperOffsets\n * @returns {Object} ClientRect like output\n */\n function getPopperClientRect(popperOffsets) {\n var offsets = Object.assign({}, popperOffsets);\n offsets.right = offsets.left + offsets.width;\n offsets.bottom = offsets.top + offsets.height;\n return offsets;\n }\n\n /**\n * Given an array and the key to find, returns its index\n * @function\n * @ignore\n * @argument {Array} arr\n * @argument keyToFind\n * @returns index or null\n */\n function getArrayKeyIndex(arr, keyToFind) {\n var i = 0,\n key;\n for (key in arr) {\n if (arr[key] === keyToFind) {\n return i;\n }\n i++;\n }\n return null;\n }\n\n /**\n * Get CSS computed property of the given element\n * @function\n * @ignore\n * @argument {Eement} element\n * @argument {String} property\n */\n function getStyleComputedProperty(element, property) {\n // NOTE: 1 DOM access here\n var css = root.getComputedStyle(element, null);\n return css[property];\n }\n\n /**\n * Returns the offset parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent;\n }\n\n /**\n * Returns the scrolling parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getScrollParent(element) {\n var parent = element.parentNode;\n\n if (!parent) {\n return element;\n }\n\n if (parent === root.document) {\n // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is\n // greater than 0 and return the proper element\n if (root.document.body.scrollTop || root.document.body.scrollLeft) {\n return root.document.body;\n } else {\n return root.document.documentElement;\n }\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n if (['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 || ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1) {\n // If the detected scrollParent is body, we perform an additional check on its parentNode\n // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise\n // fixes issue #65\n return parent;\n }\n return getScrollParent(element.parentNode);\n }\n\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @function\n * @ignore\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n function isFixed(element) {\n if (element === root.document.body) {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return element.parentNode ? isFixed(element.parentNode) : element;\n }\n\n /**\n * Set the style to the given popper\n * @function\n * @ignore\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles - Object with a list of properties and values which will be applied to the element\n */\n function setStyle(element, styles) {\n function is_numeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n }\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n }\n\n /**\n * Check if the given variable is a function\n * @function\n * @ignore\n * @argument {*} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n\n /**\n * Get the position of the given element, relative to its offset parent\n * @function\n * @ignore\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\n function getOffsetRect(element) {\n var elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop\n };\n\n elementRect.right = elementRect.left + elementRect.width;\n elementRect.bottom = elementRect.top + elementRect.height;\n\n // position\n return elementRect;\n }\n\n /**\n * Get bounding client rect of given element\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n\n // whether the IE version is lower than 11\n var isIE = navigator.userAgent.indexOf(\"MSIE\") != -1;\n\n // fix ie document bounding top always 0 bug\n var rectTop = isIE && element.tagName === 'HTML' ? -element.scrollTop : rect.top;\n\n return {\n left: rect.left,\n top: rectTop,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.right - rect.left,\n height: rect.bottom - rectTop\n };\n }\n\n /**\n * Given an element and one of its parents, return the offset\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @param {HTMLElement} parent\n * @return {Object} rect\n */\n function getOffsetRectRelativeToCustomParent(element, parent, fixed) {\n var elementRect = getBoundingClientRect(element);\n var parentRect = getBoundingClientRect(parent);\n\n if (fixed) {\n var scrollParent = getScrollParent(parent);\n parentRect.top += scrollParent.scrollTop;\n parentRect.bottom += scrollParent.scrollTop;\n parentRect.left += scrollParent.scrollLeft;\n parentRect.right += scrollParent.scrollLeft;\n }\n\n var rect = {\n top: elementRect.top - parentRect.top,\n left: elementRect.left - parentRect.left,\n bottom: elementRect.top - parentRect.top + elementRect.height,\n right: elementRect.left - parentRect.left + elementRect.width,\n width: elementRect.width,\n height: elementRect.height\n };\n return rect;\n }\n\n /**\n * Get the prefixed supported property name\n * @function\n * @ignore\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase)\n */\n function getSupportedPropertyName(property) {\n var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];\n\n for (var i = 0; i < prefixes.length; i++) {\n var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;\n if (typeof root.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n }\n\n /**\n * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source\n * objects to a target object. It will return the target object.\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @function\n * @ignore\n */\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function value(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n nextSource = Object(nextSource);\n\n var keysArray = Object.keys(nextSource);\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n }\n });\n }\n\n return Popper;\n});","module.exports = require(\"core-js/modules/es.string.replace.js\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&\"","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 20:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/locale\");\n\n/***/ }),\n\n/***/ 28:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/transitions/collapse-transition\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=template&id=547575a6&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-tree\",\n class: {\n \"el-tree--highlight-current\": _vm.highlightCurrent,\n \"is-dragging\": !!_vm.dragState.draggingNode,\n \"is-drop-not-allow\": !_vm.dragState.allowDrop,\n \"is-drop-inner\": _vm.dragState.dropType === \"inner\"\n },\n attrs: { role: \"tree\" }\n },\n [\n _vm._l(_vm.root.childNodes, function(child) {\n return _c(\"el-tree-node\", {\n key: _vm.getNodeKey(child),\n attrs: {\n node: child,\n props: _vm.props,\n \"render-after-expand\": _vm.renderAfterExpand,\n \"show-checkbox\": _vm.showCheckbox,\n \"render-content\": _vm.renderContent\n },\n on: { \"node-expand\": _vm.handleNodeExpand }\n })\n }),\n _vm.isEmpty\n ? _c(\"div\", { staticClass: \"el-tree__empty-block\" }, [\n _c(\"span\", { staticClass: \"el-tree__empty-text\" }, [\n _vm._v(_vm._s(_vm.emptyText))\n ])\n ])\n : _vm._e(),\n _c(\"div\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.dragState.showDropIndicator,\n expression: \"dragState.showDropIndicator\"\n }\n ],\n ref: \"dropIndicator\",\n staticClass: \"el-tree__drop-indicator\"\n })\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=template&id=547575a6&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// CONCATENATED MODULE: ./packages/tree/src/model/util.js\nvar NODE_KEY = '$treeNodeId';\n\nvar markNodeData = function markNodeData(node, data) {\n if (!data || data[NODE_KEY]) return;\n Object.defineProperty(data, NODE_KEY, {\n value: node.id,\n enumerable: false,\n configurable: false,\n writable: false\n });\n};\n\nvar util_getNodeKey = function getNodeKey(key, data) {\n if (!key) return data[NODE_KEY];\n return data[key];\n};\n\nvar findNearestComponent = function findNearestComponent(element, componentName) {\n var target = element;\n while (target && target.tagName !== 'BODY') {\n if (target.__vue__ && target.__vue__.$options.name === componentName) {\n return target.__vue__;\n }\n target = target.parentNode;\n }\n return null;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/tree/src/model/node.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n\nvar getChildState = function getChildState(node) {\n var all = true;\n var none = true;\n var allWithoutDisable = true;\n for (var i = 0, j = node.length; i < j; i++) {\n var n = node[i];\n if (n.checked !== true || n.indeterminate) {\n all = false;\n if (!n.disabled) {\n allWithoutDisable = false;\n }\n }\n if (n.checked !== false || n.indeterminate) {\n none = false;\n }\n }\n\n return { all: all, none: none, allWithoutDisable: allWithoutDisable, half: !all && !none };\n};\n\nvar reInitChecked = function reInitChecked(node) {\n if (node.childNodes.length === 0) return;\n\n var _getChildState = getChildState(node.childNodes),\n all = _getChildState.all,\n none = _getChildState.none,\n half = _getChildState.half;\n\n if (all) {\n node.checked = true;\n node.indeterminate = false;\n } else if (half) {\n node.checked = false;\n node.indeterminate = true;\n } else if (none) {\n node.checked = false;\n node.indeterminate = false;\n }\n\n var parent = node.parent;\n if (!parent || parent.level === 0) return;\n\n if (!node.store.checkStrictly) {\n reInitChecked(parent);\n }\n};\n\nvar getPropertyFromData = function getPropertyFromData(node, prop) {\n var props = node.store.props;\n var data = node.data || {};\n var config = props[prop];\n\n if (typeof config === 'function') {\n return config(data, node);\n } else if (typeof config === 'string') {\n return data[config];\n } else if (typeof config === 'undefined') {\n var dataProp = data[prop];\n return dataProp === undefined ? '' : dataProp;\n }\n};\n\nvar nodeIdSeed = 0;\n\nvar node_Node = function () {\n function Node(options) {\n _classCallCheck(this, Node);\n\n this.id = nodeIdSeed++;\n this.text = null;\n this.checked = false;\n this.indeterminate = false;\n this.data = null;\n this.expanded = false;\n this.parent = null;\n this.visible = true;\n this.isCurrent = false;\n\n for (var name in options) {\n if (options.hasOwnProperty(name)) {\n this[name] = options[name];\n }\n }\n\n // internal\n this.level = 0;\n this.loaded = false;\n this.childNodes = [];\n this.loading = false;\n\n if (this.parent) {\n this.level = this.parent.level + 1;\n }\n\n var store = this.store;\n if (!store) {\n throw new Error('[Node]store is required!');\n }\n store.registerNode(this);\n\n var props = store.props;\n if (props && typeof props.isLeaf !== 'undefined') {\n var isLeaf = getPropertyFromData(this, 'isLeaf');\n if (typeof isLeaf === 'boolean') {\n this.isLeafByUser = isLeaf;\n }\n }\n\n if (store.lazy !== true && this.data) {\n this.setData(this.data);\n\n if (store.defaultExpandAll) {\n this.expanded = true;\n }\n } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {\n this.expand();\n }\n if (!Array.isArray(this.data)) {\n markNodeData(this, this.data);\n }\n if (!this.data) return;\n var defaultExpandedKeys = store.defaultExpandedKeys;\n var key = store.key;\n if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {\n this.expand(null, store.autoExpandParent);\n }\n\n if (key && store.currentNodeKey !== undefined && this.key === store.currentNodeKey) {\n store.currentNode = this;\n store.currentNode.isCurrent = true;\n }\n\n if (store.lazy) {\n store._initDefaultCheckedNode(this);\n }\n\n this.updateLeafState();\n }\n\n Node.prototype.setData = function setData(data) {\n if (!Array.isArray(data)) {\n markNodeData(this, data);\n }\n\n this.data = data;\n this.childNodes = [];\n\n var children = void 0;\n if (this.level === 0 && this.data instanceof Array) {\n children = this.data;\n } else {\n children = getPropertyFromData(this, 'children') || [];\n }\n\n for (var i = 0, j = children.length; i < j; i++) {\n this.insertChild({ data: children[i] });\n }\n };\n\n Node.prototype.contains = function contains(target) {\n var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var walk = function walk(parent) {\n var children = parent.childNodes || [];\n var result = false;\n for (var i = 0, j = children.length; i < j; i++) {\n var child = children[i];\n if (child === target || deep && walk(child)) {\n result = true;\n break;\n }\n }\n return result;\n };\n\n return walk(this);\n };\n\n Node.prototype.remove = function remove() {\n var parent = this.parent;\n if (parent) {\n parent.removeChild(this);\n }\n };\n\n Node.prototype.insertChild = function insertChild(child, index, batch) {\n if (!child) throw new Error('insertChild error: child is required.');\n\n if (!(child instanceof Node)) {\n if (!batch) {\n var children = this.getChildren(true) || [];\n if (children.indexOf(child.data) === -1) {\n if (typeof index === 'undefined' || index < 0) {\n children.push(child.data);\n } else {\n children.splice(index, 0, child.data);\n }\n }\n }\n merge_default()(child, {\n parent: this,\n store: this.store\n });\n child = new Node(child);\n }\n\n child.level = this.level + 1;\n\n if (typeof index === 'undefined' || index < 0) {\n this.childNodes.push(child);\n } else {\n this.childNodes.splice(index, 0, child);\n }\n\n this.updateLeafState();\n };\n\n Node.prototype.insertBefore = function insertBefore(child, ref) {\n var index = void 0;\n if (ref) {\n index = this.childNodes.indexOf(ref);\n }\n this.insertChild(child, index);\n };\n\n Node.prototype.insertAfter = function insertAfter(child, ref) {\n var index = void 0;\n if (ref) {\n index = this.childNodes.indexOf(ref);\n if (index !== -1) index += 1;\n }\n this.insertChild(child, index);\n };\n\n Node.prototype.removeChild = function removeChild(child) {\n var children = this.getChildren() || [];\n var dataIndex = children.indexOf(child.data);\n if (dataIndex > -1) {\n children.splice(dataIndex, 1);\n }\n\n var index = this.childNodes.indexOf(child);\n\n if (index > -1) {\n this.store && this.store.deregisterNode(child);\n child.parent = null;\n this.childNodes.splice(index, 1);\n }\n\n this.updateLeafState();\n };\n\n Node.prototype.removeChildByData = function removeChildByData(data) {\n var targetNode = null;\n\n for (var i = 0; i < this.childNodes.length; i++) {\n if (this.childNodes[i].data === data) {\n targetNode = this.childNodes[i];\n break;\n }\n }\n\n if (targetNode) {\n this.removeChild(targetNode);\n }\n };\n\n Node.prototype.expand = function expand(callback, expandParent) {\n var _this = this;\n\n var done = function done() {\n if (expandParent) {\n var parent = _this.parent;\n while (parent.level > 0) {\n parent.expanded = true;\n parent = parent.parent;\n }\n }\n _this.expanded = true;\n if (callback) callback();\n };\n\n if (this.shouldLoadData()) {\n this.loadData(function (data) {\n if (data instanceof Array) {\n if (_this.checked) {\n _this.setChecked(true, true);\n } else if (!_this.store.checkStrictly) {\n reInitChecked(_this);\n }\n done();\n }\n });\n } else {\n done();\n }\n };\n\n Node.prototype.doCreateChildren = function doCreateChildren(array) {\n var _this2 = this;\n\n var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n array.forEach(function (item) {\n _this2.insertChild(merge_default()({ data: item }, defaultProps), undefined, true);\n });\n };\n\n Node.prototype.collapse = function collapse() {\n this.expanded = false;\n };\n\n Node.prototype.shouldLoadData = function shouldLoadData() {\n return this.store.lazy === true && this.store.load && !this.loaded;\n };\n\n Node.prototype.updateLeafState = function updateLeafState() {\n if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {\n this.isLeaf = this.isLeafByUser;\n return;\n }\n var childNodes = this.childNodes;\n if (!this.store.lazy || this.store.lazy === true && this.loaded === true) {\n this.isLeaf = !childNodes || childNodes.length === 0;\n return;\n }\n this.isLeaf = false;\n };\n\n Node.prototype.setChecked = function setChecked(value, deep, recursion, passValue) {\n var _this3 = this;\n\n this.indeterminate = value === 'half';\n this.checked = value === true;\n\n if (this.store.checkStrictly) return;\n\n if (!(this.shouldLoadData() && !this.store.checkDescendants)) {\n var _getChildState2 = getChildState(this.childNodes),\n all = _getChildState2.all,\n allWithoutDisable = _getChildState2.allWithoutDisable;\n\n if (!this.isLeaf && !all && allWithoutDisable) {\n this.checked = false;\n value = false;\n }\n\n var handleDescendants = function handleDescendants() {\n if (deep) {\n var childNodes = _this3.childNodes;\n for (var i = 0, j = childNodes.length; i < j; i++) {\n var child = childNodes[i];\n passValue = passValue || value !== false;\n var isCheck = child.disabled ? child.checked : passValue;\n child.setChecked(isCheck, deep, true, passValue);\n }\n\n var _getChildState3 = getChildState(childNodes),\n half = _getChildState3.half,\n _all = _getChildState3.all;\n\n if (!_all) {\n _this3.checked = _all;\n _this3.indeterminate = half;\n }\n }\n };\n\n if (this.shouldLoadData()) {\n // Only work on lazy load data.\n this.loadData(function () {\n handleDescendants();\n reInitChecked(_this3);\n }, {\n checked: value !== false\n });\n return;\n } else {\n handleDescendants();\n }\n }\n\n var parent = this.parent;\n if (!parent || parent.level === 0) return;\n\n if (!recursion) {\n reInitChecked(parent);\n }\n };\n\n Node.prototype.getChildren = function getChildren() {\n var forceInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // this is data\n if (this.level === 0) return this.data;\n var data = this.data;\n if (!data) return null;\n\n var props = this.store.props;\n var children = 'children';\n if (props) {\n children = props.children || 'children';\n }\n\n if (data[children] === undefined) {\n data[children] = null;\n }\n\n if (forceInit && !data[children]) {\n data[children] = [];\n }\n\n return data[children];\n };\n\n Node.prototype.updateChildren = function updateChildren() {\n var _this4 = this;\n\n var newData = this.getChildren() || [];\n var oldData = this.childNodes.map(function (node) {\n return node.data;\n });\n\n var newDataMap = {};\n var newNodes = [];\n\n newData.forEach(function (item, index) {\n var key = item[NODE_KEY];\n var isNodeExists = !!key && Object(util_[\"arrayFindIndex\"])(oldData, function (data) {\n return data[NODE_KEY] === key;\n }) >= 0;\n if (isNodeExists) {\n newDataMap[key] = { index: index, data: item };\n } else {\n newNodes.push({ index: index, data: item });\n }\n });\n\n if (!this.store.lazy) {\n oldData.forEach(function (item) {\n if (!newDataMap[item[NODE_KEY]]) _this4.removeChildByData(item);\n });\n }\n\n newNodes.forEach(function (_ref) {\n var index = _ref.index,\n data = _ref.data;\n\n _this4.insertChild({ data: data }, index);\n });\n\n this.updateLeafState();\n };\n\n Node.prototype.loadData = function loadData(callback) {\n var _this5 = this;\n\n var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.store.lazy === true && this.store.load && !this.loaded && (!this.loading || Object.keys(defaultProps).length)) {\n this.loading = true;\n\n var resolve = function resolve(children) {\n _this5.loaded = true;\n _this5.loading = false;\n _this5.childNodes = [];\n\n _this5.doCreateChildren(children, defaultProps);\n\n _this5.updateLeafState();\n if (callback) {\n callback.call(_this5, children);\n }\n };\n\n this.store.load(this, resolve);\n } else {\n if (callback) {\n callback.call(this);\n }\n }\n };\n\n _createClass(Node, [{\n key: 'label',\n get: function get() {\n return getPropertyFromData(this, 'label');\n }\n }, {\n key: 'key',\n get: function get() {\n var nodeKey = this.store.key;\n if (this.data) return this.data[nodeKey];\n return null;\n }\n }, {\n key: 'disabled',\n get: function get() {\n return getPropertyFromData(this, 'disabled');\n }\n }, {\n key: 'nextSibling',\n get: function get() {\n var parent = this.parent;\n if (parent) {\n var index = parent.childNodes.indexOf(this);\n if (index > -1) {\n return parent.childNodes[index + 1];\n }\n }\n return null;\n }\n }, {\n key: 'previousSibling',\n get: function get() {\n var parent = this.parent;\n if (parent) {\n var index = parent.childNodes.indexOf(this);\n if (index > -1) {\n return index > 0 ? parent.childNodes[index - 1] : null;\n }\n }\n return null;\n }\n }]);\n\n return Node;\n}();\n\n/* harmony default export */ var model_node = (node_Node);\n// CONCATENATED MODULE: ./packages/tree/src/model/tree-store.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction tree_store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar tree_store_TreeStore = function () {\n function TreeStore(options) {\n var _this = this;\n\n tree_store_classCallCheck(this, TreeStore);\n\n this.currentNode = null;\n this.currentNodeKey = null;\n\n for (var option in options) {\n if (options.hasOwnProperty(option)) {\n this[option] = options[option];\n }\n }\n\n this.nodesMap = {};\n\n this.root = new model_node({\n data: this.data,\n store: this\n });\n\n if (this.lazy && this.load) {\n var loadFn = this.load;\n loadFn(this.root, function (data) {\n _this.root.doCreateChildren(data);\n _this._initDefaultCheckedNodes();\n });\n } else {\n this._initDefaultCheckedNodes();\n }\n }\n\n TreeStore.prototype.filter = function filter(value) {\n var filterNodeMethod = this.filterNodeMethod;\n var lazy = this.lazy;\n var traverse = function traverse(node) {\n var childNodes = node.root ? node.root.childNodes : node.childNodes;\n\n childNodes.forEach(function (child) {\n child.visible = filterNodeMethod.call(child, value, child.data, child);\n\n traverse(child);\n });\n\n if (!node.visible && childNodes.length) {\n var allHidden = true;\n allHidden = !childNodes.some(function (child) {\n return child.visible;\n });\n\n if (node.root) {\n node.root.visible = allHidden === false;\n } else {\n node.visible = allHidden === false;\n }\n }\n if (!value) return;\n\n if (node.visible && !node.isLeaf && !lazy) node.expand();\n };\n\n traverse(this);\n };\n\n TreeStore.prototype.setData = function setData(newVal) {\n var instanceChanged = newVal !== this.root.data;\n if (instanceChanged) {\n this.root.setData(newVal);\n this._initDefaultCheckedNodes();\n } else {\n this.root.updateChildren();\n }\n };\n\n TreeStore.prototype.getNode = function getNode(data) {\n if (data instanceof model_node) return data;\n var key = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' ? data : util_getNodeKey(this.key, data);\n return this.nodesMap[key] || null;\n };\n\n TreeStore.prototype.insertBefore = function insertBefore(data, refData) {\n var refNode = this.getNode(refData);\n refNode.parent.insertBefore({ data: data }, refNode);\n };\n\n TreeStore.prototype.insertAfter = function insertAfter(data, refData) {\n var refNode = this.getNode(refData);\n refNode.parent.insertAfter({ data: data }, refNode);\n };\n\n TreeStore.prototype.remove = function remove(data) {\n var node = this.getNode(data);\n\n if (node && node.parent) {\n if (node === this.currentNode) {\n this.currentNode = null;\n }\n node.parent.removeChild(node);\n }\n };\n\n TreeStore.prototype.append = function append(data, parentData) {\n var parentNode = parentData ? this.getNode(parentData) : this.root;\n\n if (parentNode) {\n parentNode.insertChild({ data: data });\n }\n };\n\n TreeStore.prototype._initDefaultCheckedNodes = function _initDefaultCheckedNodes() {\n var _this2 = this;\n\n var defaultCheckedKeys = this.defaultCheckedKeys || [];\n var nodesMap = this.nodesMap;\n\n defaultCheckedKeys.forEach(function (checkedKey) {\n var node = nodesMap[checkedKey];\n\n if (node) {\n node.setChecked(true, !_this2.checkStrictly);\n }\n });\n };\n\n TreeStore.prototype._initDefaultCheckedNode = function _initDefaultCheckedNode(node) {\n var defaultCheckedKeys = this.defaultCheckedKeys || [];\n\n if (defaultCheckedKeys.indexOf(node.key) !== -1) {\n node.setChecked(true, !this.checkStrictly);\n }\n };\n\n TreeStore.prototype.setDefaultCheckedKey = function setDefaultCheckedKey(newVal) {\n if (newVal !== this.defaultCheckedKeys) {\n this.defaultCheckedKeys = newVal;\n this._initDefaultCheckedNodes();\n }\n };\n\n TreeStore.prototype.registerNode = function registerNode(node) {\n var key = this.key;\n if (!key || !node || !node.data) return;\n\n var nodeKey = node.key;\n if (nodeKey !== undefined) this.nodesMap[node.key] = node;\n };\n\n TreeStore.prototype.deregisterNode = function deregisterNode(node) {\n var _this3 = this;\n\n var key = this.key;\n if (!key || !node || !node.data) return;\n\n node.childNodes.forEach(function (child) {\n _this3.deregisterNode(child);\n });\n\n delete this.nodesMap[node.key];\n };\n\n TreeStore.prototype.getCheckedNodes = function getCheckedNodes() {\n var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var includeHalfChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var checkedNodes = [];\n var traverse = function traverse(node) {\n var childNodes = node.root ? node.root.childNodes : node.childNodes;\n\n childNodes.forEach(function (child) {\n if ((child.checked || includeHalfChecked && child.indeterminate) && (!leafOnly || leafOnly && child.isLeaf)) {\n checkedNodes.push(child.data);\n }\n\n traverse(child);\n });\n };\n\n traverse(this);\n\n return checkedNodes;\n };\n\n TreeStore.prototype.getCheckedKeys = function getCheckedKeys() {\n var _this4 = this;\n\n var leafOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return this.getCheckedNodes(leafOnly).map(function (data) {\n return (data || {})[_this4.key];\n });\n };\n\n TreeStore.prototype.getHalfCheckedNodes = function getHalfCheckedNodes() {\n var nodes = [];\n var traverse = function traverse(node) {\n var childNodes = node.root ? node.root.childNodes : node.childNodes;\n\n childNodes.forEach(function (child) {\n if (child.indeterminate) {\n nodes.push(child.data);\n }\n\n traverse(child);\n });\n };\n\n traverse(this);\n\n return nodes;\n };\n\n TreeStore.prototype.getHalfCheckedKeys = function getHalfCheckedKeys() {\n var _this5 = this;\n\n return this.getHalfCheckedNodes().map(function (data) {\n return (data || {})[_this5.key];\n });\n };\n\n TreeStore.prototype._getAllNodes = function _getAllNodes() {\n var allNodes = [];\n var nodesMap = this.nodesMap;\n for (var nodeKey in nodesMap) {\n if (nodesMap.hasOwnProperty(nodeKey)) {\n allNodes.push(nodesMap[nodeKey]);\n }\n }\n\n return allNodes;\n };\n\n TreeStore.prototype.updateChildren = function updateChildren(key, data) {\n var node = this.nodesMap[key];\n if (!node) return;\n var childNodes = node.childNodes;\n for (var i = childNodes.length - 1; i >= 0; i--) {\n var child = childNodes[i];\n this.remove(child.data);\n }\n for (var _i = 0, j = data.length; _i < j; _i++) {\n var _child = data[_i];\n this.append(_child, node.data);\n }\n };\n\n TreeStore.prototype._setCheckedKeys = function _setCheckedKeys(key) {\n var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var checkedKeys = arguments[2];\n\n var allNodes = this._getAllNodes().sort(function (a, b) {\n return b.level - a.level;\n });\n var cache = Object.create(null);\n var keys = Object.keys(checkedKeys);\n allNodes.forEach(function (node) {\n return node.setChecked(false, false);\n });\n for (var i = 0, j = allNodes.length; i < j; i++) {\n var node = allNodes[i];\n var nodeKey = node.data[key].toString();\n var checked = keys.indexOf(nodeKey) > -1;\n if (!checked) {\n if (node.checked && !cache[nodeKey]) {\n node.setChecked(false, false);\n }\n continue;\n }\n\n var parent = node.parent;\n while (parent && parent.level > 0) {\n cache[parent.data[key]] = true;\n parent = parent.parent;\n }\n\n if (node.isLeaf || this.checkStrictly) {\n node.setChecked(true, false);\n continue;\n }\n node.setChecked(true, true);\n\n if (leafOnly) {\n (function () {\n node.setChecked(false, false);\n var traverse = function traverse(node) {\n var childNodes = node.childNodes;\n childNodes.forEach(function (child) {\n if (!child.isLeaf) {\n child.setChecked(false, false);\n }\n traverse(child);\n });\n };\n traverse(node);\n })();\n }\n }\n };\n\n TreeStore.prototype.setCheckedNodes = function setCheckedNodes(array) {\n var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var key = this.key;\n var checkedKeys = {};\n array.forEach(function (item) {\n checkedKeys[(item || {})[key]] = true;\n });\n\n this._setCheckedKeys(key, leafOnly, checkedKeys);\n };\n\n TreeStore.prototype.setCheckedKeys = function setCheckedKeys(keys) {\n var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n this.defaultCheckedKeys = keys;\n var key = this.key;\n var checkedKeys = {};\n keys.forEach(function (key) {\n checkedKeys[key] = true;\n });\n\n this._setCheckedKeys(key, leafOnly, checkedKeys);\n };\n\n TreeStore.prototype.setDefaultExpandedKeys = function setDefaultExpandedKeys(keys) {\n var _this6 = this;\n\n keys = keys || [];\n this.defaultExpandedKeys = keys;\n\n keys.forEach(function (key) {\n var node = _this6.getNode(key);\n if (node) node.expand(null, _this6.autoExpandParent);\n });\n };\n\n TreeStore.prototype.setChecked = function setChecked(data, checked, deep) {\n var node = this.getNode(data);\n\n if (node) {\n node.setChecked(!!checked, deep);\n }\n };\n\n TreeStore.prototype.getCurrentNode = function getCurrentNode() {\n return this.currentNode;\n };\n\n TreeStore.prototype.setCurrentNode = function setCurrentNode(currentNode) {\n var prevCurrentNode = this.currentNode;\n if (prevCurrentNode) {\n prevCurrentNode.isCurrent = false;\n }\n this.currentNode = currentNode;\n this.currentNode.isCurrent = true;\n };\n\n TreeStore.prototype.setUserCurrentNode = function setUserCurrentNode(node) {\n var key = node[this.key];\n var currNode = this.nodesMap[key];\n this.setCurrentNode(currNode);\n };\n\n TreeStore.prototype.setCurrentNodeKey = function setCurrentNodeKey(key) {\n if (key === null || key === undefined) {\n this.currentNode && (this.currentNode.isCurrent = false);\n this.currentNode = null;\n return;\n }\n var node = this.getNode(key);\n if (node) {\n this.setCurrentNode(node);\n }\n };\n\n return TreeStore;\n}();\n\n/* harmony default export */ var tree_store = (tree_store_TreeStore);\n;\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e&\nvar tree_nodevue_type_template_id_3ba3ef0e_render = function() {\n var this$1 = this\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.node.visible,\n expression: \"node.visible\"\n }\n ],\n ref: \"node\",\n staticClass: \"el-tree-node\",\n class: {\n \"is-expanded\": _vm.expanded,\n \"is-current\": _vm.node.isCurrent,\n \"is-hidden\": !_vm.node.visible,\n \"is-focusable\": !_vm.node.disabled,\n \"is-checked\": !_vm.node.disabled && _vm.node.checked\n },\n attrs: {\n role: \"treeitem\",\n tabindex: \"-1\",\n \"aria-expanded\": _vm.expanded,\n \"aria-disabled\": _vm.node.disabled,\n \"aria-checked\": _vm.node.checked,\n draggable: _vm.tree.draggable\n },\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.handleClick($event)\n },\n contextmenu: function($event) {\n return this$1.handleContextMenu($event)\n },\n dragstart: function($event) {\n $event.stopPropagation()\n return _vm.handleDragStart($event)\n },\n dragover: function($event) {\n $event.stopPropagation()\n return _vm.handleDragOver($event)\n },\n dragend: function($event) {\n $event.stopPropagation()\n return _vm.handleDragEnd($event)\n },\n drop: function($event) {\n $event.stopPropagation()\n return _vm.handleDrop($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"el-tree-node__content\",\n style: {\n \"padding-left\": (_vm.node.level - 1) * _vm.tree.indent + \"px\"\n }\n },\n [\n _c(\"span\", {\n class: [\n {\n \"is-leaf\": _vm.node.isLeaf,\n expanded: !_vm.node.isLeaf && _vm.expanded\n },\n \"el-tree-node__expand-icon\",\n _vm.tree.iconClass ? _vm.tree.iconClass : \"el-icon-caret-right\"\n ],\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.handleExpandIconClick($event)\n }\n }\n }),\n _vm.showCheckbox\n ? _c(\"el-checkbox\", {\n attrs: {\n indeterminate: _vm.node.indeterminate,\n disabled: !!_vm.node.disabled\n },\n on: { change: _vm.handleCheckChange },\n nativeOn: {\n click: function($event) {\n $event.stopPropagation()\n }\n },\n model: {\n value: _vm.node.checked,\n callback: function($$v) {\n _vm.$set(_vm.node, \"checked\", $$v)\n },\n expression: \"node.checked\"\n }\n })\n : _vm._e(),\n _vm.node.loading\n ? _c(\"span\", {\n staticClass: \"el-tree-node__loading-icon el-icon-loading\"\n })\n : _vm._e(),\n _c(\"node-content\", { attrs: { node: _vm.node } })\n ],\n 1\n ),\n _c(\"el-collapse-transition\", [\n !_vm.renderAfterExpand || _vm.childNodeRendered\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.expanded,\n expression: \"expanded\"\n }\n ],\n staticClass: \"el-tree-node__children\",\n attrs: { role: \"group\", \"aria-expanded\": _vm.expanded }\n },\n _vm._l(_vm.node.childNodes, function(child) {\n return _c(\"el-tree-node\", {\n key: _vm.getNodeKey(child),\n attrs: {\n \"render-content\": _vm.renderContent,\n \"render-after-expand\": _vm.renderAfterExpand,\n \"show-checkbox\": _vm.showCheckbox,\n node: child\n },\n on: { \"node-expand\": _vm.handleChildNodeExpand }\n })\n }),\n 1\n )\n : _vm._e()\n ])\n ],\n 1\n )\n}\nvar tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns = []\ntree_nodevue_type_template_id_3ba3ef0e_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=3ba3ef0e&\n\n// EXTERNAL MODULE: external \"element-ui/lib/transitions/collapse-transition\"\nvar collapse_transition_ = __webpack_require__(28);\nvar collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(18);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree-node.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ var tree_nodevue_type_script_lang_js_ = ({\n name: 'ElTreeNode',\n\n componentName: 'ElTreeNode',\n\n mixins: [emitter_default.a],\n\n props: {\n node: {\n default: function _default() {\n return {};\n }\n },\n props: {},\n renderContent: Function,\n renderAfterExpand: {\n type: Boolean,\n default: true\n },\n showCheckbox: {\n type: Boolean,\n default: false\n }\n },\n\n components: {\n ElCollapseTransition: collapse_transition_default.a,\n ElCheckbox: checkbox_default.a,\n NodeContent: {\n props: {\n node: {\n required: true\n }\n },\n render: function render(h) {\n var parent = this.$parent;\n var tree = parent.tree;\n var node = this.node;\n var data = node.data,\n store = node.store;\n\n return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: tree.$vnode.context, node: node, data: data, store: store }) : tree.$scopedSlots.default ? tree.$scopedSlots.default({ node: node, data: data }) : h(\n 'span',\n { 'class': 'el-tree-node__label' },\n [node.label]\n );\n }\n }\n },\n\n data: function data() {\n return {\n tree: null,\n expanded: false,\n childNodeRendered: false,\n oldChecked: null,\n oldIndeterminate: null\n };\n },\n\n\n watch: {\n 'node.indeterminate': function nodeIndeterminate(val) {\n this.handleSelectChange(this.node.checked, val);\n },\n 'node.checked': function nodeChecked(val) {\n this.handleSelectChange(val, this.node.indeterminate);\n },\n 'node.expanded': function nodeExpanded(val) {\n var _this = this;\n\n this.$nextTick(function () {\n return _this.expanded = val;\n });\n if (val) {\n this.childNodeRendered = true;\n }\n }\n },\n\n methods: {\n getNodeKey: function getNodeKey(node) {\n return util_getNodeKey(this.tree.nodeKey, node.data);\n },\n handleSelectChange: function handleSelectChange(checked, indeterminate) {\n if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {\n this.tree.$emit('check-change', this.node.data, checked, indeterminate);\n }\n this.oldChecked = checked;\n this.indeterminate = indeterminate;\n },\n handleClick: function handleClick() {\n var store = this.tree.store;\n store.setCurrentNode(this.node);\n this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);\n this.tree.currentNode = this;\n if (this.tree.expandOnClickNode) {\n this.handleExpandIconClick();\n }\n if (this.tree.checkOnClickNode && !this.node.disabled) {\n this.handleCheckChange(null, {\n target: { checked: !this.node.checked }\n });\n }\n this.tree.$emit('node-click', this.node.data, this.node, this);\n },\n handleContextMenu: function handleContextMenu(event) {\n if (this.tree._events['node-contextmenu'] && this.tree._events['node-contextmenu'].length > 0) {\n event.stopPropagation();\n event.preventDefault();\n }\n this.tree.$emit('node-contextmenu', event, this.node.data, this.node, this);\n },\n handleExpandIconClick: function handleExpandIconClick() {\n if (this.node.isLeaf) return;\n if (this.expanded) {\n this.tree.$emit('node-collapse', this.node.data, this.node, this);\n this.node.collapse();\n } else {\n this.node.expand();\n this.$emit('node-expand', this.node.data, this.node, this);\n }\n },\n handleCheckChange: function handleCheckChange(value, ev) {\n var _this2 = this;\n\n this.node.setChecked(ev.target.checked, !this.tree.checkStrictly);\n this.$nextTick(function () {\n var store = _this2.tree.store;\n _this2.tree.$emit('check', _this2.node.data, {\n checkedNodes: store.getCheckedNodes(),\n checkedKeys: store.getCheckedKeys(),\n halfCheckedNodes: store.getHalfCheckedNodes(),\n halfCheckedKeys: store.getHalfCheckedKeys()\n });\n });\n },\n handleChildNodeExpand: function handleChildNodeExpand(nodeData, node, instance) {\n this.broadcast('ElTreeNode', 'tree-node-expand', node);\n this.tree.$emit('node-expand', nodeData, node, instance);\n },\n handleDragStart: function handleDragStart(event) {\n if (!this.tree.draggable) return;\n this.tree.$emit('tree-node-drag-start', event, this);\n },\n handleDragOver: function handleDragOver(event) {\n if (!this.tree.draggable) return;\n this.tree.$emit('tree-node-drag-over', event, this);\n event.preventDefault();\n },\n handleDrop: function handleDrop(event) {\n event.preventDefault();\n },\n handleDragEnd: function handleDragEnd(event) {\n if (!this.tree.draggable) return;\n this.tree.$emit('tree-node-drag-end', event, this);\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n var parent = this.$parent;\n\n if (parent.isTree) {\n this.tree = parent;\n } else {\n this.tree = parent.tree;\n }\n\n var tree = this.tree;\n if (!tree) {\n console.warn('Can not find node\\'s tree.');\n }\n\n var props = tree.props || {};\n var childrenKey = props['children'] || 'children';\n\n this.$watch('node.data.' + childrenKey, function () {\n _this3.node.updateChildren();\n });\n\n if (this.node.expanded) {\n this.expanded = true;\n this.childNodeRendered = true;\n }\n\n if (this.tree.accordion) {\n this.$on('tree-node-expand', function (node) {\n if (_this3.node !== node) {\n _this3.node.collapse();\n }\n });\n }\n }\n});\n// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tree_nodevue_type_script_lang_js_ = (tree_nodevue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tree_nodevue_type_script_lang_js_,\n tree_nodevue_type_template_id_3ba3ef0e_render,\n tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tree/src/tree-node.vue\"\n/* harmony default export */ var tree_node = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/locale\"\nvar locale_ = __webpack_require__(20);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree/src/tree.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ var treevue_type_script_lang_js_ = ({\n name: 'ElTree',\n\n mixins: [emitter_default.a],\n\n components: {\n ElTreeNode: tree_node\n },\n\n data: function data() {\n return {\n store: null,\n root: null,\n currentNode: null,\n treeItems: null,\n checkboxItems: [],\n dragState: {\n showDropIndicator: false,\n draggingNode: null,\n dropNode: null,\n allowDrop: true\n }\n };\n },\n\n\n props: {\n data: {\n type: Array\n },\n emptyText: {\n type: String,\n default: function _default() {\n return Object(locale_[\"t\"])('el.tree.emptyText');\n }\n },\n renderAfterExpand: {\n type: Boolean,\n default: true\n },\n nodeKey: String,\n checkStrictly: Boolean,\n defaultExpandAll: Boolean,\n expandOnClickNode: {\n type: Boolean,\n default: true\n },\n checkOnClickNode: Boolean,\n checkDescendants: {\n type: Boolean,\n default: false\n },\n autoExpandParent: {\n type: Boolean,\n default: true\n },\n defaultCheckedKeys: Array,\n defaultExpandedKeys: Array,\n currentNodeKey: [String, Number],\n renderContent: Function,\n showCheckbox: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n allowDrag: Function,\n allowDrop: Function,\n props: {\n default: function _default() {\n return {\n children: 'children',\n label: 'label',\n disabled: 'disabled'\n };\n }\n },\n lazy: {\n type: Boolean,\n default: false\n },\n highlightCurrent: Boolean,\n load: Function,\n filterNodeMethod: Function,\n accordion: Boolean,\n indent: {\n type: Number,\n default: 18\n },\n iconClass: String\n },\n\n computed: {\n children: {\n set: function set(value) {\n this.data = value;\n },\n get: function get() {\n return this.data;\n }\n },\n\n treeItemArray: function treeItemArray() {\n return Array.prototype.slice.call(this.treeItems);\n },\n isEmpty: function isEmpty() {\n var childNodes = this.root.childNodes;\n\n return !childNodes || childNodes.length === 0 || childNodes.every(function (_ref) {\n var visible = _ref.visible;\n return !visible;\n });\n }\n },\n\n watch: {\n defaultCheckedKeys: function defaultCheckedKeys(newVal) {\n this.store.setDefaultCheckedKey(newVal);\n },\n defaultExpandedKeys: function defaultExpandedKeys(newVal) {\n this.store.defaultExpandedKeys = newVal;\n this.store.setDefaultExpandedKeys(newVal);\n },\n data: function data(newVal) {\n this.store.setData(newVal);\n },\n checkboxItems: function checkboxItems(val) {\n Array.prototype.forEach.call(val, function (checkbox) {\n checkbox.setAttribute('tabindex', -1);\n });\n },\n checkStrictly: function checkStrictly(newVal) {\n this.store.checkStrictly = newVal;\n }\n },\n\n methods: {\n filter: function filter(value) {\n if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');\n this.store.filter(value);\n },\n getNodeKey: function getNodeKey(node) {\n return util_getNodeKey(this.nodeKey, node.data);\n },\n getNodePath: function getNodePath(data) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getNodePath');\n var node = this.store.getNode(data);\n if (!node) return [];\n var path = [node.data];\n var parent = node.parent;\n while (parent && parent !== this.root) {\n path.push(parent.data);\n parent = parent.parent;\n }\n return path.reverse();\n },\n getCheckedNodes: function getCheckedNodes(leafOnly, includeHalfChecked) {\n return this.store.getCheckedNodes(leafOnly, includeHalfChecked);\n },\n getCheckedKeys: function getCheckedKeys(leafOnly) {\n return this.store.getCheckedKeys(leafOnly);\n },\n getCurrentNode: function getCurrentNode() {\n var currentNode = this.store.getCurrentNode();\n return currentNode ? currentNode.data : null;\n },\n getCurrentKey: function getCurrentKey() {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in getCurrentKey');\n var currentNode = this.getCurrentNode();\n return currentNode ? currentNode[this.nodeKey] : null;\n },\n setCheckedNodes: function setCheckedNodes(nodes, leafOnly) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');\n this.store.setCheckedNodes(nodes, leafOnly);\n },\n setCheckedKeys: function setCheckedKeys(keys, leafOnly) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedKeys');\n this.store.setCheckedKeys(keys, leafOnly);\n },\n setChecked: function setChecked(data, checked, deep) {\n this.store.setChecked(data, checked, deep);\n },\n getHalfCheckedNodes: function getHalfCheckedNodes() {\n return this.store.getHalfCheckedNodes();\n },\n getHalfCheckedKeys: function getHalfCheckedKeys() {\n return this.store.getHalfCheckedKeys();\n },\n setCurrentNode: function setCurrentNode(node) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentNode');\n this.store.setUserCurrentNode(node);\n },\n setCurrentKey: function setCurrentKey(key) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCurrentKey');\n this.store.setCurrentNodeKey(key);\n },\n getNode: function getNode(data) {\n return this.store.getNode(data);\n },\n remove: function remove(data) {\n this.store.remove(data);\n },\n append: function append(data, parentNode) {\n this.store.append(data, parentNode);\n },\n insertBefore: function insertBefore(data, refNode) {\n this.store.insertBefore(data, refNode);\n },\n insertAfter: function insertAfter(data, refNode) {\n this.store.insertAfter(data, refNode);\n },\n handleNodeExpand: function handleNodeExpand(nodeData, node, instance) {\n this.broadcast('ElTreeNode', 'tree-node-expand', node);\n this.$emit('node-expand', nodeData, node, instance);\n },\n updateKeyChildren: function updateKeyChildren(key, data) {\n if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in updateKeyChild');\n this.store.updateChildren(key, data);\n },\n initTabIndex: function initTabIndex() {\n this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\n this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\n var checkedItem = this.$el.querySelectorAll('.is-checked[role=treeitem]');\n if (checkedItem.length) {\n checkedItem[0].setAttribute('tabindex', 0);\n return;\n }\n this.treeItems[0] && this.treeItems[0].setAttribute('tabindex', 0);\n },\n handleKeydown: function handleKeydown(ev) {\n var currentItem = ev.target;\n if (currentItem.className.indexOf('el-tree-node') === -1) return;\n var keyCode = ev.keyCode;\n this.treeItems = this.$el.querySelectorAll('.is-focusable[role=treeitem]');\n var currentIndex = this.treeItemArray.indexOf(currentItem);\n var nextIndex = void 0;\n if ([38, 40].indexOf(keyCode) > -1) {\n // up、down\n ev.preventDefault();\n if (keyCode === 38) {\n // up\n nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;\n } else {\n nextIndex = currentIndex < this.treeItemArray.length - 1 ? currentIndex + 1 : 0;\n }\n this.treeItemArray[nextIndex].focus(); // 选中\n }\n if ([37, 39].indexOf(keyCode) > -1) {\n // left、right 展开\n ev.preventDefault();\n currentItem.click(); // 选中\n }\n var hasInput = currentItem.querySelector('[type=\"checkbox\"]');\n if ([13, 32].indexOf(keyCode) > -1 && hasInput) {\n // space enter选中checkbox\n ev.preventDefault();\n hasInput.click();\n }\n }\n },\n\n created: function created() {\n var _this = this;\n\n this.isTree = true;\n\n this.store = new tree_store({\n key: this.nodeKey,\n data: this.data,\n lazy: this.lazy,\n props: this.props,\n load: this.load,\n currentNodeKey: this.currentNodeKey,\n checkStrictly: this.checkStrictly,\n checkDescendants: this.checkDescendants,\n defaultCheckedKeys: this.defaultCheckedKeys,\n defaultExpandedKeys: this.defaultExpandedKeys,\n autoExpandParent: this.autoExpandParent,\n defaultExpandAll: this.defaultExpandAll,\n filterNodeMethod: this.filterNodeMethod\n });\n\n this.root = this.store.root;\n\n var dragState = this.dragState;\n this.$on('tree-node-drag-start', function (event, treeNode) {\n if (typeof _this.allowDrag === 'function' && !_this.allowDrag(treeNode.node)) {\n event.preventDefault();\n return false;\n }\n event.dataTransfer.effectAllowed = 'move';\n\n // wrap in try catch to address IE's error when first param is 'text/plain'\n try {\n // setData is required for draggable to work in FireFox\n // the content has to be '' so dragging a node out of the tree won't open a new tab in FireFox\n event.dataTransfer.setData('text/plain', '');\n } catch (e) {}\n dragState.draggingNode = treeNode;\n _this.$emit('node-drag-start', treeNode.node, event);\n });\n\n this.$on('tree-node-drag-over', function (event, treeNode) {\n var dropNode = findNearestComponent(event.target, 'ElTreeNode');\n var oldDropNode = dragState.dropNode;\n if (oldDropNode && oldDropNode !== dropNode) {\n Object(dom_[\"removeClass\"])(oldDropNode.$el, 'is-drop-inner');\n }\n var draggingNode = dragState.draggingNode;\n if (!draggingNode || !dropNode) return;\n\n var dropPrev = true;\n var dropInner = true;\n var dropNext = true;\n var userAllowDropInner = true;\n if (typeof _this.allowDrop === 'function') {\n dropPrev = _this.allowDrop(draggingNode.node, dropNode.node, 'prev');\n userAllowDropInner = dropInner = _this.allowDrop(draggingNode.node, dropNode.node, 'inner');\n dropNext = _this.allowDrop(draggingNode.node, dropNode.node, 'next');\n }\n event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';\n if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {\n if (oldDropNode) {\n _this.$emit('node-drag-leave', draggingNode.node, oldDropNode.node, event);\n }\n _this.$emit('node-drag-enter', draggingNode.node, dropNode.node, event);\n }\n\n if (dropPrev || dropInner || dropNext) {\n dragState.dropNode = dropNode;\n }\n\n if (dropNode.node.nextSibling === draggingNode.node) {\n dropNext = false;\n }\n if (dropNode.node.previousSibling === draggingNode.node) {\n dropPrev = false;\n }\n if (dropNode.node.contains(draggingNode.node, false)) {\n dropInner = false;\n }\n if (draggingNode.node === dropNode.node || draggingNode.node.contains(dropNode.node)) {\n dropPrev = false;\n dropInner = false;\n dropNext = false;\n }\n\n var targetPosition = dropNode.$el.getBoundingClientRect();\n var treePosition = _this.$el.getBoundingClientRect();\n\n var dropType = void 0;\n var prevPercent = dropPrev ? dropInner ? 0.25 : dropNext ? 0.45 : 1 : -1;\n var nextPercent = dropNext ? dropInner ? 0.75 : dropPrev ? 0.55 : 0 : 1;\n\n var indicatorTop = -9999;\n var distance = event.clientY - targetPosition.top;\n if (distance < targetPosition.height * prevPercent) {\n dropType = 'before';\n } else if (distance > targetPosition.height * nextPercent) {\n dropType = 'after';\n } else if (dropInner) {\n dropType = 'inner';\n } else {\n dropType = 'none';\n }\n\n var iconPosition = dropNode.$el.querySelector('.el-tree-node__expand-icon').getBoundingClientRect();\n var dropIndicator = _this.$refs.dropIndicator;\n if (dropType === 'before') {\n indicatorTop = iconPosition.top - treePosition.top;\n } else if (dropType === 'after') {\n indicatorTop = iconPosition.bottom - treePosition.top;\n }\n dropIndicator.style.top = indicatorTop + 'px';\n dropIndicator.style.left = iconPosition.right - treePosition.left + 'px';\n\n if (dropType === 'inner') {\n Object(dom_[\"addClass\"])(dropNode.$el, 'is-drop-inner');\n } else {\n Object(dom_[\"removeClass\"])(dropNode.$el, 'is-drop-inner');\n }\n\n dragState.showDropIndicator = dropType === 'before' || dropType === 'after';\n dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;\n dragState.dropType = dropType;\n _this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);\n });\n\n this.$on('tree-node-drag-end', function (event) {\n var draggingNode = dragState.draggingNode,\n dropType = dragState.dropType,\n dropNode = dragState.dropNode;\n\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n\n if (draggingNode && dropNode) {\n var draggingNodeCopy = { data: draggingNode.node.data };\n if (dropType !== 'none') {\n draggingNode.node.remove();\n }\n if (dropType === 'before') {\n dropNode.node.parent.insertBefore(draggingNodeCopy, dropNode.node);\n } else if (dropType === 'after') {\n dropNode.node.parent.insertAfter(draggingNodeCopy, dropNode.node);\n } else if (dropType === 'inner') {\n dropNode.node.insertChild(draggingNodeCopy);\n }\n if (dropType !== 'none') {\n _this.store.registerNode(draggingNodeCopy);\n }\n\n Object(dom_[\"removeClass\"])(dropNode.$el, 'is-drop-inner');\n\n _this.$emit('node-drag-end', draggingNode.node, dropNode.node, dropType, event);\n if (dropType !== 'none') {\n _this.$emit('node-drop', draggingNode.node, dropNode.node, dropType, event);\n }\n }\n if (draggingNode && !dropNode) {\n _this.$emit('node-drag-end', draggingNode.node, null, dropType, event);\n }\n\n dragState.showDropIndicator = false;\n dragState.draggingNode = null;\n dragState.dropNode = null;\n dragState.allowDrop = true;\n });\n },\n mounted: function mounted() {\n this.initTabIndex();\n this.$el.addEventListener('keydown', this.handleKeydown);\n },\n updated: function updated() {\n this.treeItems = this.$el.querySelectorAll('[role=treeitem]');\n this.checkboxItems = this.$el.querySelectorAll('input[type=checkbox]');\n }\n});\n// CONCATENATED MODULE: ./packages/tree/src/tree.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_treevue_type_script_lang_js_ = (treevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/tree/src/tree.vue\n\n\n\n\n\n/* normalize component */\n\nvar tree_component = Object(componentNormalizer[\"a\" /* default */])(\n src_treevue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var tree_api; }\ntree_component.options.__file = \"packages/tree/src/tree.vue\"\n/* harmony default export */ var tree = (tree_component.exports);\n// CONCATENATED MODULE: ./packages/tree/index.js\n\n\n/* istanbul ignore next */\ntree.install = function (Vue) {\n Vue.component(tree.name, tree);\n};\n\n/* harmony default export */ var packages_tree = __webpack_exports__[\"default\"] = (tree);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });","module.exports = require(\"lodash/orderBy\");","const MODULE_CHANGE = { ALL: 0, DESTROYED: 1, NAME_CHANGED: 2, SETTINGS_CHANGED: 3 };\n\nconst BaseModule = function() {\n this.typeName = \"Base Module\";\n this.instanceName = \"default\";\n this.onChangedCallbacks = [];\n /** Notifier handle for informing other modules of any changes **/\n this.eventNotifiers = [];\n}\n\nBaseModule.prototype.setName = function(name) {\n if (name && this.instanceName !== name) {\n this.instanceName = name;\n const callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.NAME_CHANGED );\n }\n }\n}\n\nBaseModule.prototype.settingsChanged = function() {\n\tconst callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.SETTINGS_CHANGED );\n }\n}\n\nBaseModule.prototype.exportSettings = function() {\n const settings = {};\n settings.dialog = this.typeName;\n settings.name = this.instanceName;\n return settings;\n}\n\nBaseModule.prototype.importSettings = function(settings) {\n\tif (settings.dialog == this.typeName) {\n\t\tthis.setName(settings.name);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nBaseModule.prototype.publishChanges = function(annotations, eventType) {\n for (let i = 0; i < this.eventNotifiers.length; i++) {\n this.eventNotifiers[i].publish(this, eventType, annotations);\n }\n}\n\nBaseModule.prototype.getName = function() {\n return this.instanceName;\n}\n\nBaseModule.prototype.destroy = function() {\n //Make a temorary copy as the array may be altered during the loop\n const callbackArray = this.onChangedCallbacks.slice();\n for (let i = 0; i < callbackArray.length; i++) {\n callbackArray[i]( this, MODULE_CHANGE.DESTROYED );\n }\n\n delete this;\n} \n\nBaseModule.prototype.addChangedCallback = function(callback) {\n if (this.onChangedCallbacks.includes(callback) == false)\n this.onChangedCallbacks.push(callback);\n}\n\nBaseModule.prototype.removeChangedCallback = function(callback) {\n const index = this.onChangedCallbacks.indexOf(callback);\n if (index > -1) {\n this.onChangedCallbacks.splice(index, 1);\n }\n} \n\nBaseModule.prototype.addNotifier = function(eventNotifier) {\n this.eventNotifiers.push(eventNotifier);\n}\n\nexports.BaseModule = BaseModule;\nexports.MODULE_CHANGE = MODULE_CHANGE;\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 77);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n\n/***/ 77:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=template&id=52060272&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"span\",\n [\n _c(\n \"transition\",\n {\n attrs: { name: _vm.transition },\n on: {\n \"after-enter\": _vm.handleAfterEnter,\n \"after-leave\": _vm.handleAfterLeave\n }\n },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.disabled && _vm.showPopper,\n expression: \"!disabled && showPopper\"\n }\n ],\n ref: \"popper\",\n staticClass: \"el-popover el-popper\",\n class: [_vm.popperClass, _vm.content && \"el-popover--plain\"],\n style: { width: _vm.width + \"px\" },\n attrs: {\n role: \"tooltip\",\n id: _vm.tooltipId,\n \"aria-hidden\":\n _vm.disabled || !_vm.showPopper ? \"true\" : \"false\"\n }\n },\n [\n _vm.title\n ? _c(\"div\", {\n staticClass: \"el-popover__title\",\n domProps: { textContent: _vm._s(_vm.title) }\n })\n : _vm._e(),\n _vm._t(\"default\", [_vm._v(_vm._s(_vm.content))])\n ],\n 2\n )\n ]\n ),\n _c(\n \"span\",\n { ref: \"wrapper\", staticClass: \"el-popover__reference-wrapper\" },\n [_vm._t(\"reference\")],\n 2\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=template&id=52060272&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/popover/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElPopover',\n\n mixins: [vue_popper_default.a],\n\n props: {\n trigger: {\n type: String,\n default: 'click',\n validator: function validator(value) {\n return ['click', 'focus', 'hover', 'manual'].indexOf(value) > -1;\n }\n },\n openDelay: {\n type: Number,\n default: 0\n },\n closeDelay: {\n type: Number,\n default: 200\n },\n title: String,\n disabled: Boolean,\n content: String,\n reference: {},\n popperClass: String,\n width: {},\n visibleArrow: {\n default: true\n },\n arrowOffset: {\n type: Number,\n default: 0\n },\n transition: {\n type: String,\n default: 'fade-in-linear'\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n computed: {\n tooltipId: function tooltipId() {\n return 'el-popover-' + Object(util_[\"generateId\"])();\n }\n },\n watch: {\n showPopper: function showPopper(val) {\n if (this.disabled) {\n return;\n }\n val ? this.$emit('show') : this.$emit('hide');\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var reference = this.referenceElm = this.reference || this.$refs.reference;\n var popper = this.popper || this.$refs.popper;\n\n if (!reference && this.$refs.wrapper.children) {\n reference = this.referenceElm = this.$refs.wrapper.children[0];\n }\n // 可访问性\n if (reference) {\n Object(dom_[\"addClass\"])(reference, 'el-popover__reference');\n reference.setAttribute('aria-describedby', this.tooltipId);\n reference.setAttribute('tabindex', this.tabindex); // tab序列\n popper.setAttribute('tabindex', 0);\n\n if (this.trigger !== 'click') {\n Object(dom_[\"on\"])(reference, 'focusin', function () {\n _this.handleFocus();\n var instance = reference.__vue__;\n if (instance && typeof instance.focus === 'function') {\n instance.focus();\n }\n });\n Object(dom_[\"on\"])(popper, 'focusin', this.handleFocus);\n Object(dom_[\"on\"])(reference, 'focusout', this.handleBlur);\n Object(dom_[\"on\"])(popper, 'focusout', this.handleBlur);\n }\n Object(dom_[\"on\"])(reference, 'keydown', this.handleKeydown);\n Object(dom_[\"on\"])(reference, 'click', this.handleClick);\n }\n if (this.trigger === 'click') {\n Object(dom_[\"on\"])(reference, 'click', this.doToggle);\n Object(dom_[\"on\"])(document, 'click', this.handleDocumentClick);\n } else if (this.trigger === 'hover') {\n Object(dom_[\"on\"])(reference, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"on\"])(popper, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"on\"])(reference, 'mouseleave', this.handleMouseLeave);\n Object(dom_[\"on\"])(popper, 'mouseleave', this.handleMouseLeave);\n } else if (this.trigger === 'focus') {\n if (this.tabindex < 0) {\n console.warn('[Element Warn][Popover]a negative taindex means that the element cannot be focused by tab key');\n }\n if (reference.querySelector('input, textarea')) {\n Object(dom_[\"on\"])(reference, 'focusin', this.doShow);\n Object(dom_[\"on\"])(reference, 'focusout', this.doClose);\n } else {\n Object(dom_[\"on\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"on\"])(reference, 'mouseup', this.doClose);\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.cleanup();\n },\n deactivated: function deactivated() {\n this.cleanup();\n },\n\n\n methods: {\n doToggle: function doToggle() {\n this.showPopper = !this.showPopper;\n },\n doShow: function doShow() {\n this.showPopper = true;\n },\n doClose: function doClose() {\n this.showPopper = false;\n },\n handleFocus: function handleFocus() {\n Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = true;\n },\n handleClick: function handleClick() {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n },\n handleBlur: function handleBlur() {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n if (this.trigger === 'click' || this.trigger === 'focus') this.showPopper = false;\n },\n handleMouseEnter: function handleMouseEnter() {\n var _this2 = this;\n\n clearTimeout(this._timer);\n if (this.openDelay) {\n this._timer = setTimeout(function () {\n _this2.showPopper = true;\n }, this.openDelay);\n } else {\n this.showPopper = true;\n }\n },\n handleKeydown: function handleKeydown(ev) {\n if (ev.keyCode === 27 && this.trigger !== 'manual') {\n // esc\n this.doClose();\n }\n },\n handleMouseLeave: function handleMouseLeave() {\n var _this3 = this;\n\n clearTimeout(this._timer);\n if (this.closeDelay) {\n this._timer = setTimeout(function () {\n _this3.showPopper = false;\n }, this.closeDelay);\n } else {\n this.showPopper = false;\n }\n },\n handleDocumentClick: function handleDocumentClick(e) {\n var reference = this.reference || this.$refs.reference;\n var popper = this.popper || this.$refs.popper;\n\n if (!reference && this.$refs.wrapper.children) {\n reference = this.referenceElm = this.$refs.wrapper.children[0];\n }\n if (!this.$el || !reference || this.$el.contains(e.target) || reference.contains(e.target) || !popper || popper.contains(e.target)) return;\n this.showPopper = false;\n },\n handleAfterEnter: function handleAfterEnter() {\n this.$emit('after-enter');\n },\n handleAfterLeave: function handleAfterLeave() {\n this.$emit('after-leave');\n this.doDestroy();\n },\n cleanup: function cleanup() {\n if (this.openDelay || this.closeDelay) {\n clearTimeout(this._timer);\n }\n }\n },\n\n destroyed: function destroyed() {\n var reference = this.reference;\n\n Object(dom_[\"off\"])(reference, 'click', this.doToggle);\n Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"off\"])(reference, 'focusin', this.doShow);\n Object(dom_[\"off\"])(reference, 'focusout', this.doClose);\n Object(dom_[\"off\"])(reference, 'mousedown', this.doShow);\n Object(dom_[\"off\"])(reference, 'mouseup', this.doClose);\n Object(dom_[\"off\"])(reference, 'mouseleave', this.handleMouseLeave);\n Object(dom_[\"off\"])(reference, 'mouseenter', this.handleMouseEnter);\n Object(dom_[\"off\"])(document, 'click', this.handleDocumentClick);\n }\n});\n// CONCATENATED MODULE: ./packages/popover/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/popover/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/popover/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/popover/src/directive.js\nvar getReference = function getReference(el, binding, vnode) {\n var _ref = binding.expression ? binding.value : binding.arg;\n var popper = vnode.context.$refs[_ref];\n if (popper) {\n if (Array.isArray(popper)) {\n popper[0].$refs.reference = el;\n } else {\n popper.$refs.reference = el;\n }\n }\n};\n\n/* harmony default export */ var directive = ({\n bind: function bind(el, binding, vnode) {\n getReference(el, binding, vnode);\n },\n inserted: function inserted(el, binding, vnode) {\n getReference(el, binding, vnode);\n }\n});\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/popover/index.js\n\n\n\n\nexternal_vue_default.a.directive('popover', directive);\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.directive('popover', directive);\n Vue.component(main.name, main);\n};\nmain.directive = directive;\n\n/* harmony default export */ var popover = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nvar _locale = require('element-ui/lib/locale');\n\nexports.default = {\n methods: {\n t: function t() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _locale.t.apply(this, args);\n }\n }\n};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"core-js/modules/web.url-search-params.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 62);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", {\n staticClass: \"el-tabs__active-bar\",\n class: \"is-\" + _vm.rootTabs.tabPosition,\n style: _vm.barStyle\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=template&id=2031f33a&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js&\n//\n//\n//\n\n\n/* harmony default export */ var tab_barvue_type_script_lang_js_ = ({\n name: 'TabBar',\n\n props: {\n tabs: Array\n },\n\n inject: ['rootTabs'],\n\n computed: {\n barStyle: {\n get: function get() {\n var _this = this;\n\n var style = {};\n var offset = 0;\n var tabSize = 0;\n var sizeName = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height';\n var sizeDir = sizeName === 'width' ? 'x' : 'y';\n var firstUpperCase = function firstUpperCase(str) {\n return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) {\n return L.toUpperCase();\n });\n };\n this.tabs.every(function (tab, index) {\n var $el = Object(util_[\"arrayFind\"])(_this.$parent.$refs.tabs || [], function (t) {\n return t.id.replace('tab-', '') === tab.paneName;\n });\n if (!$el) {\n return false;\n }\n\n if (!tab.active) {\n offset += $el['client' + firstUpperCase(sizeName)];\n return true;\n } else {\n tabSize = $el['client' + firstUpperCase(sizeName)];\n var tabStyles = window.getComputedStyle($el);\n if (sizeName === 'width' && _this.tabs.length > 1) {\n tabSize -= parseFloat(tabStyles.paddingLeft) + parseFloat(tabStyles.paddingRight);\n }\n if (sizeName === 'width') {\n offset += parseFloat(tabStyles.paddingLeft);\n }\n return false;\n }\n });\n\n var transform = 'translate' + firstUpperCase(sizeDir) + '(' + offset + 'px)';\n style[sizeName] = tabSize + 'px';\n style.transform = transform;\n style.msTransform = transform;\n style.webkitTransform = transform;\n\n return style;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tab_barvue_type_script_lang_js_ = (tab_barvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tabs/src/tab-bar.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tab_barvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tabs/src/tab-bar.vue\"\n/* harmony default export */ var tab_bar = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js&\n\n\n\n\nfunction noop() {}\nvar tab_navvue_type_script_lang_js_firstUpperCase = function firstUpperCase(str) {\n return str.toLowerCase().replace(/( |^)[a-z]/g, function (L) {\n return L.toUpperCase();\n });\n};\n\n/* harmony default export */ var tab_navvue_type_script_lang_js_ = ({\n name: 'TabNav',\n\n components: {\n TabBar: tab_bar\n },\n\n inject: ['rootTabs'],\n\n props: {\n panes: Array,\n currentName: String,\n editable: Boolean,\n onTabClick: {\n type: Function,\n default: noop\n },\n onTabRemove: {\n type: Function,\n default: noop\n },\n type: String,\n stretch: Boolean\n },\n\n data: function data() {\n return {\n scrollable: false,\n navOffset: 0,\n isFocus: false,\n focusable: true\n };\n },\n\n\n computed: {\n navStyle: function navStyle() {\n var dir = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'X' : 'Y';\n return {\n transform: 'translate' + dir + '(-' + this.navOffset + 'px)'\n };\n },\n sizeName: function sizeName() {\n return ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'width' : 'height';\n }\n },\n\n methods: {\n scrollPrev: function scrollPrev() {\n var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];\n var currentOffset = this.navOffset;\n\n if (!currentOffset) return;\n\n var newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0;\n\n this.navOffset = newOffset;\n },\n scrollNext: function scrollNext() {\n var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];\n var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(this.sizeName)];\n var currentOffset = this.navOffset;\n\n if (navSize - currentOffset <= containerSize) return;\n\n var newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize;\n\n this.navOffset = newOffset;\n },\n scrollToActiveTab: function scrollToActiveTab() {\n if (!this.scrollable) return;\n var nav = this.$refs.nav;\n var activeTab = this.$el.querySelector('.is-active');\n if (!activeTab) return;\n var navScroll = this.$refs.navScroll;\n var isHorizontal = ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1;\n var activeTabBounding = activeTab.getBoundingClientRect();\n var navScrollBounding = navScroll.getBoundingClientRect();\n var maxOffset = isHorizontal ? nav.offsetWidth - navScrollBounding.width : nav.offsetHeight - navScrollBounding.height;\n var currentOffset = this.navOffset;\n var newOffset = currentOffset;\n\n if (isHorizontal) {\n if (activeTabBounding.left < navScrollBounding.left) {\n newOffset = currentOffset - (navScrollBounding.left - activeTabBounding.left);\n }\n if (activeTabBounding.right > navScrollBounding.right) {\n newOffset = currentOffset + activeTabBounding.right - navScrollBounding.right;\n }\n } else {\n if (activeTabBounding.top < navScrollBounding.top) {\n newOffset = currentOffset - (navScrollBounding.top - activeTabBounding.top);\n }\n if (activeTabBounding.bottom > navScrollBounding.bottom) {\n newOffset = currentOffset + (activeTabBounding.bottom - navScrollBounding.bottom);\n }\n }\n newOffset = Math.max(newOffset, 0);\n this.navOffset = Math.min(newOffset, maxOffset);\n },\n update: function update() {\n if (!this.$refs.nav) return;\n var sizeName = this.sizeName;\n var navSize = this.$refs.nav['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)];\n var containerSize = this.$refs.navScroll['offset' + tab_navvue_type_script_lang_js_firstUpperCase(sizeName)];\n var currentOffset = this.navOffset;\n\n if (containerSize < navSize) {\n var _currentOffset = this.navOffset;\n this.scrollable = this.scrollable || {};\n this.scrollable.prev = _currentOffset;\n this.scrollable.next = _currentOffset + containerSize < navSize;\n if (navSize - _currentOffset < containerSize) {\n this.navOffset = navSize - containerSize;\n }\n } else {\n this.scrollable = false;\n if (currentOffset > 0) {\n this.navOffset = 0;\n }\n }\n },\n changeTab: function changeTab(e) {\n var keyCode = e.keyCode;\n var nextIndex = void 0;\n var currentIndex = void 0,\n tabList = void 0;\n if ([37, 38, 39, 40].indexOf(keyCode) !== -1) {\n // 左右上下键更换tab\n tabList = e.currentTarget.querySelectorAll('[role=tab]');\n currentIndex = Array.prototype.indexOf.call(tabList, e.target);\n } else {\n return;\n }\n if (keyCode === 37 || keyCode === 38) {\n // left\n if (currentIndex === 0) {\n // first\n nextIndex = tabList.length - 1;\n } else {\n nextIndex = currentIndex - 1;\n }\n } else {\n // right\n if (currentIndex < tabList.length - 1) {\n // not last\n nextIndex = currentIndex + 1;\n } else {\n nextIndex = 0;\n }\n }\n tabList[nextIndex].focus(); // 改变焦点元素\n tabList[nextIndex].click(); // 选中下一个tab\n this.setFocus();\n },\n setFocus: function setFocus() {\n if (this.focusable) {\n this.isFocus = true;\n }\n },\n removeFocus: function removeFocus() {\n this.isFocus = false;\n },\n visibilityChangeHandler: function visibilityChangeHandler() {\n var _this = this;\n\n var visibility = document.visibilityState;\n if (visibility === 'hidden') {\n this.focusable = false;\n } else if (visibility === 'visible') {\n setTimeout(function () {\n _this.focusable = true;\n }, 50);\n }\n },\n windowBlurHandler: function windowBlurHandler() {\n this.focusable = false;\n },\n windowFocusHandler: function windowFocusHandler() {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.focusable = true;\n }, 50);\n }\n },\n\n updated: function updated() {\n this.update();\n },\n render: function render(h) {\n var _this3 = this;\n\n var type = this.type,\n panes = this.panes,\n editable = this.editable,\n stretch = this.stretch,\n onTabClick = this.onTabClick,\n onTabRemove = this.onTabRemove,\n navStyle = this.navStyle,\n scrollable = this.scrollable,\n scrollNext = this.scrollNext,\n scrollPrev = this.scrollPrev,\n changeTab = this.changeTab,\n setFocus = this.setFocus,\n removeFocus = this.removeFocus;\n\n var scrollBtn = scrollable ? [h(\n 'span',\n { 'class': ['el-tabs__nav-prev', scrollable.prev ? '' : 'is-disabled'], on: {\n 'click': scrollPrev\n }\n },\n [h('i', { 'class': 'el-icon-arrow-left' })]\n ), h(\n 'span',\n { 'class': ['el-tabs__nav-next', scrollable.next ? '' : 'is-disabled'], on: {\n 'click': scrollNext\n }\n },\n [h('i', { 'class': 'el-icon-arrow-right' })]\n )] : null;\n\n var tabs = this._l(panes, function (pane, index) {\n var _ref;\n\n var tabName = pane.name || pane.index || index;\n var closable = pane.isClosable || editable;\n\n pane.index = '' + index;\n\n var btnClose = closable ? h('span', { 'class': 'el-icon-close', on: {\n 'click': function click(ev) {\n onTabRemove(pane, ev);\n }\n }\n }) : null;\n\n var tabLabelContent = pane.$slots.label || pane.label;\n var tabindex = pane.active ? 0 : -1;\n return h(\n 'div',\n {\n 'class': (_ref = {\n 'el-tabs__item': true\n }, _ref['is-' + _this3.rootTabs.tabPosition] = true, _ref['is-active'] = pane.active, _ref['is-disabled'] = pane.disabled, _ref['is-closable'] = closable, _ref['is-focus'] = _this3.isFocus, _ref),\n attrs: { id: 'tab-' + tabName,\n\n 'aria-controls': 'pane-' + tabName,\n role: 'tab',\n 'aria-selected': pane.active,\n\n tabindex: tabindex\n },\n key: 'tab-' + tabName, ref: 'tabs', refInFor: true,\n on: {\n 'focus': function focus() {\n setFocus();\n },\n 'blur': function blur() {\n removeFocus();\n },\n 'click': function click(ev) {\n removeFocus();onTabClick(pane, tabName, ev);\n },\n 'keydown': function keydown(ev) {\n if (closable && (ev.keyCode === 46 || ev.keyCode === 8)) {\n onTabRemove(pane, ev);\n }\n }\n }\n },\n [tabLabelContent, btnClose]\n );\n });\n return h(\n 'div',\n { 'class': ['el-tabs__nav-wrap', scrollable ? 'is-scrollable' : '', 'is-' + this.rootTabs.tabPosition] },\n [scrollBtn, h(\n 'div',\n { 'class': ['el-tabs__nav-scroll'], ref: 'navScroll' },\n [h(\n 'div',\n {\n 'class': ['el-tabs__nav', 'is-' + this.rootTabs.tabPosition, stretch && ['top', 'bottom'].indexOf(this.rootTabs.tabPosition) !== -1 ? 'is-stretch' : ''],\n ref: 'nav',\n style: navStyle,\n attrs: { role: 'tablist'\n },\n on: {\n 'keydown': changeTab\n }\n },\n [!type ? h('tab-bar', {\n attrs: { tabs: panes }\n }) : null, tabs]\n )]\n )]\n );\n },\n mounted: function mounted() {\n var _this4 = this;\n\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.update);\n document.addEventListener('visibilitychange', this.visibilityChangeHandler);\n window.addEventListener('blur', this.windowBlurHandler);\n window.addEventListener('focus', this.windowFocusHandler);\n setTimeout(function () {\n _this4.scrollToActiveTab();\n }, 0);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el && this.update) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.update);\n document.removeEventListener('visibilitychange', this.visibilityChangeHandler);\n window.removeEventListener('blur', this.windowBlurHandler);\n window.removeEventListener('focus', this.windowFocusHandler);\n }\n});\n// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tab_navvue_type_script_lang_js_ = (tab_navvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/tabs/src/tab-nav.vue\nvar tab_nav_render, tab_nav_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar tab_nav_component = Object(componentNormalizer[\"a\" /* default */])(\n src_tab_navvue_type_script_lang_js_,\n tab_nav_render,\n tab_nav_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var tab_nav_api; }\ntab_nav_component.options.__file = \"packages/tabs/src/tab-nav.vue\"\n/* harmony default export */ var tab_nav = (tab_nav_component.exports);\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tabs.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ var tabsvue_type_script_lang_js_ = ({\n name: 'ElTabs',\n\n components: {\n TabNav: tab_nav\n },\n\n props: {\n type: String,\n activeName: String,\n closable: Boolean,\n addable: Boolean,\n value: {},\n editable: Boolean,\n tabPosition: {\n type: String,\n default: 'top'\n },\n beforeLeave: Function,\n stretch: Boolean\n },\n\n provide: function provide() {\n return {\n rootTabs: this\n };\n },\n data: function data() {\n return {\n currentName: this.value || this.activeName,\n panes: []\n };\n },\n\n\n watch: {\n activeName: function activeName(value) {\n this.setCurrentName(value);\n },\n value: function value(_value) {\n this.setCurrentName(_value);\n },\n currentName: function currentName(value) {\n var _this = this;\n\n if (this.$refs.nav) {\n this.$nextTick(function () {\n _this.$refs.nav.$nextTick(function (_) {\n _this.$refs.nav.scrollToActiveTab();\n });\n });\n }\n }\n },\n\n methods: {\n calcPaneInstances: function calcPaneInstances() {\n var _this2 = this;\n\n var isForceUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.$slots.default) {\n var paneSlots = this.$slots.default.filter(function (vnode) {\n return vnode.tag && vnode.componentOptions && vnode.componentOptions.Ctor.options.name === 'ElTabPane';\n });\n // update indeed\n var panes = paneSlots.map(function (_ref) {\n var componentInstance = _ref.componentInstance;\n return componentInstance;\n });\n var panesChanged = !(panes.length === this.panes.length && panes.every(function (pane, index) {\n return pane === _this2.panes[index];\n }));\n if (isForceUpdate || panesChanged) {\n this.panes = panes;\n }\n } else if (this.panes.length !== 0) {\n this.panes = [];\n }\n },\n handleTabClick: function handleTabClick(tab, tabName, event) {\n if (tab.disabled) return;\n this.setCurrentName(tabName);\n this.$emit('tab-click', tab, event);\n },\n handleTabRemove: function handleTabRemove(pane, ev) {\n if (pane.disabled) return;\n ev.stopPropagation();\n this.$emit('edit', pane.name, 'remove');\n this.$emit('tab-remove', pane.name);\n },\n handleTabAdd: function handleTabAdd() {\n this.$emit('edit', null, 'add');\n this.$emit('tab-add');\n },\n setCurrentName: function setCurrentName(value) {\n var _this3 = this;\n\n var changeCurrentName = function changeCurrentName() {\n _this3.currentName = value;\n _this3.$emit('input', value);\n };\n if (this.currentName !== value && this.beforeLeave) {\n var before = this.beforeLeave(value, this.currentName);\n if (before && before.then) {\n before.then(function () {\n changeCurrentName();\n _this3.$refs.nav && _this3.$refs.nav.removeFocus();\n }, function () {\n // https://github.com/ElemeFE/element/pull/14816\n // ignore promise rejection in `before-leave` hook\n });\n } else if (before !== false) {\n changeCurrentName();\n }\n } else {\n changeCurrentName();\n }\n }\n },\n\n render: function render(h) {\n var _ref2;\n\n var type = this.type,\n handleTabClick = this.handleTabClick,\n handleTabRemove = this.handleTabRemove,\n handleTabAdd = this.handleTabAdd,\n currentName = this.currentName,\n panes = this.panes,\n editable = this.editable,\n addable = this.addable,\n tabPosition = this.tabPosition,\n stretch = this.stretch;\n\n\n var newButton = editable || addable ? h(\n 'span',\n {\n 'class': 'el-tabs__new-tab',\n on: {\n 'click': handleTabAdd,\n 'keydown': function keydown(ev) {\n if (ev.keyCode === 13) {\n handleTabAdd();\n }\n }\n },\n attrs: {\n tabindex: '0'\n }\n },\n [h('i', { 'class': 'el-icon-plus' })]\n ) : null;\n\n var navData = {\n props: {\n currentName: currentName,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n editable: editable,\n type: type,\n panes: panes,\n stretch: stretch\n },\n ref: 'nav'\n };\n var header = h(\n 'div',\n { 'class': ['el-tabs__header', 'is-' + tabPosition] },\n [newButton, h('tab-nav', navData)]\n );\n var panels = h(\n 'div',\n { 'class': 'el-tabs__content' },\n [this.$slots.default]\n );\n\n return h(\n 'div',\n { 'class': (_ref2 = {\n 'el-tabs': true,\n 'el-tabs--card': type === 'card'\n }, _ref2['el-tabs--' + tabPosition] = true, _ref2['el-tabs--border-card'] = type === 'border-card', _ref2) },\n [tabPosition !== 'bottom' ? [header, panels] : [panels, header]]\n );\n },\n created: function created() {\n if (!this.currentName) {\n this.setCurrentName('0');\n }\n\n this.$on('tab-nav-update', this.calcPaneInstances.bind(null, true));\n },\n mounted: function mounted() {\n this.calcPaneInstances();\n },\n updated: function updated() {\n this.calcPaneInstances();\n }\n});\n// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tabsvue_type_script_lang_js_ = (tabsvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/tabs/src/tabs.vue\nvar tabs_render, tabs_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar tabs_component = Object(componentNormalizer[\"a\" /* default */])(\n src_tabsvue_type_script_lang_js_,\n tabs_render,\n tabs_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var tabs_api; }\ntabs_component.options.__file = \"packages/tabs/src/tabs.vue\"\n/* harmony default export */ var tabs = (tabs_component.exports);\n// CONCATENATED MODULE: ./packages/tabs/index.js\n\n\n/* istanbul ignore next */\ntabs.install = function (Vue) {\n Vue.component(tabs.name, tabs);\n};\n\n/* harmony default export */ var packages_tabs = __webpack_exports__[\"default\"] = (tabs);\n\n/***/ })\n\n/******/ });","module.exports = require(\"throttle-debounce/debounce\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 54);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/button\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 54:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.hide,\n expression: \"hide\"\n }\n ],\n class: [\n \"el-color-picker\",\n _vm.colorDisabled ? \"is-disabled\" : \"\",\n _vm.colorSize ? \"el-color-picker--\" + _vm.colorSize : \"\"\n ]\n },\n [\n _vm.colorDisabled\n ? _c(\"div\", { staticClass: \"el-color-picker__mask\" })\n : _vm._e(),\n _c(\n \"div\",\n {\n staticClass: \"el-color-picker__trigger\",\n on: { click: _vm.handleTrigger }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"el-color-picker__color\",\n class: { \"is-alpha\": _vm.showAlpha }\n },\n [\n _c(\"span\", {\n staticClass: \"el-color-picker__color-inner\",\n style: {\n backgroundColor: _vm.displayedColor\n }\n }),\n !_vm.value && !_vm.showPanelColor\n ? _c(\"span\", {\n staticClass: \"el-color-picker__empty el-icon-close\"\n })\n : _vm._e()\n ]\n ),\n _c(\"span\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.value || _vm.showPanelColor,\n expression: \"value || showPanelColor\"\n }\n ],\n staticClass: \"el-color-picker__icon el-icon-arrow-down\"\n })\n ]\n ),\n _c(\"picker-dropdown\", {\n ref: \"dropdown\",\n class: [\"el-color-picker__panel\", _vm.popperClass || \"\"],\n attrs: {\n color: _vm.color,\n \"show-alpha\": _vm.showAlpha,\n predefine: _vm.predefine\n },\n on: { pick: _vm.confirmValue, clear: _vm.clearValue },\n model: {\n value: _vm.showPicker,\n callback: function($$v) {\n _vm.showPicker = $$v\n },\n expression: \"showPicker\"\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=template&id=55c8ade7&\n\n// CONCATENATED MODULE: ./packages/color-picker/src/color.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar hsv2hsl = function hsv2hsl(hue, sat, val) {\n return [hue, sat * val / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0, hue / 2];\n};\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nvar isOnePointZero = function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n};\n\nvar isPercentage = function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n};\n\n// Take input from [0, n] and return it as [0, 1]\nvar bound01 = function bound01(value, max) {\n if (isOnePointZero(value)) value = '100%';\n\n var processPercent = isPercentage(value);\n value = Math.min(max, Math.max(0, parseFloat(value)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n value = parseInt(value * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(value - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return value % max / parseFloat(max);\n};\n\nvar INT_HEX_MAP = { 10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F' };\n\nvar toHex = function toHex(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n\n var hexOne = function hexOne(value) {\n value = Math.min(Math.round(value), 255);\n var high = Math.floor(value / 16);\n var low = value % 16;\n return '' + (INT_HEX_MAP[high] || high) + (INT_HEX_MAP[low] || low);\n };\n\n if (isNaN(r) || isNaN(g) || isNaN(b)) return '';\n\n return '#' + hexOne(r) + hexOne(g) + hexOne(b);\n};\n\nvar HEX_INT_MAP = { A: 10, B: 11, C: 12, D: 13, E: 14, F: 15 };\n\nvar parseHexChannel = function parseHexChannel(hex) {\n if (hex.length === 2) {\n return (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 + (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]);\n }\n\n return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1];\n};\n\nvar hsl2hsv = function hsl2hsv(hue, sat, light) {\n sat = sat / 100;\n light = light / 100;\n var smin = sat;\n var lmin = Math.max(light, 0.01);\n var sv = void 0;\n var v = void 0;\n\n light *= 2;\n sat *= light <= 1 ? light : 2 - light;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n v = (light + sat) / 2;\n sv = light === 0 ? 2 * smin / (lmin + smin) : 2 * sat / (light + sat);\n\n return {\n h: hue,\n s: sv * 100,\n v: v * 100\n };\n};\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nvar rgb2hsv = function rgb2hsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = void 0,\n s = void 0;\n var v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return { h: h * 360, s: s * 100, v: v * 100 };\n};\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nvar hsv2rgb = function hsv2rgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n };\n};\n\nvar Color = function () {\n function Color(options) {\n _classCallCheck(this, Color);\n\n this._hue = 0;\n this._saturation = 100;\n this._value = 100;\n this._alpha = 100;\n\n this.enableAlpha = false;\n this.format = 'hex';\n this.value = '';\n\n options = options || {};\n\n for (var option in options) {\n if (options.hasOwnProperty(option)) {\n this[option] = options[option];\n }\n }\n\n this.doOnChange();\n }\n\n Color.prototype.set = function set(prop, value) {\n if (arguments.length === 1 && (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object') {\n for (var p in prop) {\n if (prop.hasOwnProperty(p)) {\n this.set(p, prop[p]);\n }\n }\n\n return;\n }\n\n this['_' + prop] = value;\n this.doOnChange();\n };\n\n Color.prototype.get = function get(prop) {\n return this['_' + prop];\n };\n\n Color.prototype.toRgb = function toRgb() {\n return hsv2rgb(this._hue, this._saturation, this._value);\n };\n\n Color.prototype.fromString = function fromString(value) {\n var _this = this;\n\n if (!value) {\n this._hue = 0;\n this._saturation = 100;\n this._value = 100;\n\n this.doOnChange();\n return;\n }\n\n var fromHSV = function fromHSV(h, s, v) {\n _this._hue = Math.max(0, Math.min(360, h));\n _this._saturation = Math.max(0, Math.min(100, s));\n _this._value = Math.max(0, Math.min(100, v));\n\n _this.doOnChange();\n };\n\n if (value.indexOf('hsl') !== -1) {\n var parts = value.replace(/hsla|hsl|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (parts.length === 4) {\n this._alpha = Math.floor(parseFloat(parts[3]) * 100);\n } else if (parts.length === 3) {\n this._alpha = 100;\n }\n if (parts.length >= 3) {\n var _hsl2hsv = hsl2hsv(parts[0], parts[1], parts[2]),\n h = _hsl2hsv.h,\n s = _hsl2hsv.s,\n v = _hsl2hsv.v;\n\n fromHSV(h, s, v);\n }\n } else if (value.indexOf('hsv') !== -1) {\n var _parts = value.replace(/hsva|hsv|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (_parts.length === 4) {\n this._alpha = Math.floor(parseFloat(_parts[3]) * 100);\n } else if (_parts.length === 3) {\n this._alpha = 100;\n }\n if (_parts.length >= 3) {\n fromHSV(_parts[0], _parts[1], _parts[2]);\n }\n } else if (value.indexOf('rgb') !== -1) {\n var _parts2 = value.replace(/rgba|rgb|\\(|\\)/gm, '').split(/\\s|,/g).filter(function (val) {\n return val !== '';\n }).map(function (val, index) {\n return index > 2 ? parseFloat(val) : parseInt(val, 10);\n });\n\n if (_parts2.length === 4) {\n this._alpha = Math.floor(parseFloat(_parts2[3]) * 100);\n } else if (_parts2.length === 3) {\n this._alpha = 100;\n }\n if (_parts2.length >= 3) {\n var _rgb2hsv = rgb2hsv(_parts2[0], _parts2[1], _parts2[2]),\n _h = _rgb2hsv.h,\n _s = _rgb2hsv.s,\n _v = _rgb2hsv.v;\n\n fromHSV(_h, _s, _v);\n }\n } else if (value.indexOf('#') !== -1) {\n var hex = value.replace('#', '').trim();\n if (!/^(?:[0-9a-fA-F]{3}){1,2}|[0-9a-fA-F]{8}$/.test(hex)) return;\n var r = void 0,\n g = void 0,\n b = void 0;\n\n if (hex.length === 3) {\n r = parseHexChannel(hex[0] + hex[0]);\n g = parseHexChannel(hex[1] + hex[1]);\n b = parseHexChannel(hex[2] + hex[2]);\n } else if (hex.length === 6 || hex.length === 8) {\n r = parseHexChannel(hex.substring(0, 2));\n g = parseHexChannel(hex.substring(2, 4));\n b = parseHexChannel(hex.substring(4, 6));\n }\n\n if (hex.length === 8) {\n this._alpha = Math.floor(parseHexChannel(hex.substring(6)) / 255 * 100);\n } else if (hex.length === 3 || hex.length === 6) {\n this._alpha = 100;\n }\n\n var _rgb2hsv2 = rgb2hsv(r, g, b),\n _h2 = _rgb2hsv2.h,\n _s2 = _rgb2hsv2.s,\n _v2 = _rgb2hsv2.v;\n\n fromHSV(_h2, _s2, _v2);\n }\n };\n\n Color.prototype.compare = function compare(color) {\n return Math.abs(color._hue - this._hue) < 2 && Math.abs(color._saturation - this._saturation) < 1 && Math.abs(color._value - this._value) < 1 && Math.abs(color._alpha - this._alpha) < 1;\n };\n\n Color.prototype.doOnChange = function doOnChange() {\n var _hue = this._hue,\n _saturation = this._saturation,\n _value = this._value,\n _alpha = this._alpha,\n format = this.format;\n\n\n if (this.enableAlpha) {\n switch (format) {\n case 'hsl':\n var hsl = hsv2hsl(_hue, _saturation / 100, _value / 100);\n this.value = 'hsla(' + _hue + ', ' + Math.round(hsl[1] * 100) + '%, ' + Math.round(hsl[2] * 100) + '%, ' + _alpha / 100 + ')';\n break;\n case 'hsv':\n this.value = 'hsva(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%, ' + _alpha / 100 + ')';\n break;\n default:\n var _hsv2rgb = hsv2rgb(_hue, _saturation, _value),\n r = _hsv2rgb.r,\n g = _hsv2rgb.g,\n b = _hsv2rgb.b;\n\n this.value = 'rgba(' + r + ', ' + g + ', ' + b + ', ' + _alpha / 100 + ')';\n }\n } else {\n switch (format) {\n case 'hsl':\n var _hsl = hsv2hsl(_hue, _saturation / 100, _value / 100);\n this.value = 'hsl(' + _hue + ', ' + Math.round(_hsl[1] * 100) + '%, ' + Math.round(_hsl[2] * 100) + '%)';\n break;\n case 'hsv':\n this.value = 'hsv(' + _hue + ', ' + Math.round(_saturation) + '%, ' + Math.round(_value) + '%)';\n break;\n case 'rgb':\n var _hsv2rgb2 = hsv2rgb(_hue, _saturation, _value),\n _r = _hsv2rgb2.r,\n _g = _hsv2rgb2.g,\n _b = _hsv2rgb2.b;\n\n this.value = 'rgb(' + _r + ', ' + _g + ', ' + _b + ')';\n break;\n default:\n this.value = toHex(hsv2rgb(_hue, _saturation, _value));\n }\n }\n };\n\n return Color;\n}();\n\n/* harmony default export */ var src_color = (Color);\n;\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\nvar picker_dropdownvue_type_template_id_06601625_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n { attrs: { name: \"el-zoom-in-top\" }, on: { \"after-leave\": _vm.doDestroy } },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-color-dropdown\"\n },\n [\n _c(\n \"div\",\n { staticClass: \"el-color-dropdown__main-wrapper\" },\n [\n _c(\"hue-slider\", {\n ref: \"hue\",\n staticStyle: { float: \"right\" },\n attrs: { color: _vm.color, vertical: \"\" }\n }),\n _c(\"sv-panel\", { ref: \"sl\", attrs: { color: _vm.color } })\n ],\n 1\n ),\n _vm.showAlpha\n ? _c(\"alpha-slider\", { ref: \"alpha\", attrs: { color: _vm.color } })\n : _vm._e(),\n _vm.predefine\n ? _c(\"predefine\", {\n attrs: { color: _vm.color, colors: _vm.predefine }\n })\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"el-color-dropdown__btns\" },\n [\n _c(\n \"span\",\n { staticClass: \"el-color-dropdown__value\" },\n [\n _c(\"el-input\", {\n attrs: { \"validate-event\": false, size: \"mini\" },\n on: { blur: _vm.handleConfirm },\n nativeOn: {\n keyup: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n return _vm.handleConfirm($event)\n }\n },\n model: {\n value: _vm.customInput,\n callback: function($$v) {\n _vm.customInput = $$v\n },\n expression: \"customInput\"\n }\n })\n ],\n 1\n ),\n _c(\n \"el-button\",\n {\n staticClass: \"el-color-dropdown__link-btn\",\n attrs: { size: \"mini\", type: \"text\" },\n on: {\n click: function($event) {\n _vm.$emit(\"clear\")\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.t(\"el.colorpicker.clear\")) +\n \"\\n \"\n )\n ]\n ),\n _c(\n \"el-button\",\n {\n staticClass: \"el-color-dropdown__btn\",\n attrs: { plain: \"\", size: \"mini\" },\n on: { click: _vm.confirmValue }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.t(\"el.colorpicker.confirm\")) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ]\n )\n}\nvar picker_dropdownvue_type_template_id_06601625_staticRenderFns = []\npicker_dropdownvue_type_template_id_06601625_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=template&id=06601625&\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\nvar sv_panelvue_type_template_id_d8583596_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-svpanel\",\n style: {\n backgroundColor: _vm.background\n }\n },\n [\n _c(\"div\", { staticClass: \"el-color-svpanel__white\" }),\n _c(\"div\", { staticClass: \"el-color-svpanel__black\" }),\n _c(\n \"div\",\n {\n staticClass: \"el-color-svpanel__cursor\",\n style: {\n top: _vm.cursorTop + \"px\",\n left: _vm.cursorLeft + \"px\"\n }\n },\n [_c(\"div\")]\n )\n ]\n )\n}\nvar sv_panelvue_type_template_id_d8583596_staticRenderFns = []\nsv_panelvue_type_template_id_d8583596_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=template&id=d8583596&\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/color-picker/src/draggable.js\n\nvar isDragging = false;\n\n/* harmony default export */ var draggable = (function (element, options) {\n if (external_vue_default.a.prototype.$isServer) return;\n var moveFn = function moveFn(event) {\n if (options.drag) {\n options.drag(event);\n }\n };\n var upFn = function upFn(event) {\n document.removeEventListener('mousemove', moveFn);\n document.removeEventListener('mouseup', upFn);\n document.onselectstart = null;\n document.ondragstart = null;\n\n isDragging = false;\n\n if (options.end) {\n options.end(event);\n }\n };\n element.addEventListener('mousedown', function (event) {\n if (isDragging) return;\n document.onselectstart = function () {\n return false;\n };\n document.ondragstart = function () {\n return false;\n };\n\n document.addEventListener('mousemove', moveFn);\n document.addEventListener('mouseup', upFn);\n isDragging = true;\n\n if (options.start) {\n options.start(event);\n }\n });\n});\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var sv_panelvue_type_script_lang_js_ = ({\n name: 'el-sl-panel',\n\n props: {\n color: {\n required: true\n }\n },\n\n computed: {\n colorValue: function colorValue() {\n var hue = this.color.get('hue');\n var value = this.color.get('value');\n return { hue: hue, value: value };\n }\n },\n\n watch: {\n colorValue: function colorValue() {\n this.update();\n }\n },\n\n methods: {\n update: function update() {\n var saturation = this.color.get('saturation');\n var value = this.color.get('value');\n\n var el = this.$el;\n var width = el.clientWidth,\n height = el.clientHeight;\n\n\n this.cursorLeft = saturation * width / 100;\n this.cursorTop = (100 - value) * height / 100;\n\n this.background = 'hsl(' + this.color.get('hue') + ', 100%, 50%)';\n },\n handleDrag: function handleDrag(event) {\n var el = this.$el;\n var rect = el.getBoundingClientRect();\n\n var left = event.clientX - rect.left;\n var top = event.clientY - rect.top;\n left = Math.max(0, left);\n left = Math.min(left, rect.width);\n\n top = Math.max(0, top);\n top = Math.min(top, rect.height);\n\n this.cursorLeft = left;\n this.cursorTop = top;\n this.color.set({\n saturation: left / rect.width * 100,\n value: 100 - top / rect.height * 100\n });\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n draggable(this.$el, {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n });\n\n this.update();\n },\n data: function data() {\n return {\n cursorTop: 0,\n cursorLeft: 0,\n background: 'hsl(0, 100%, 50%)'\n };\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_sv_panelvue_type_script_lang_js_ = (sv_panelvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/sv-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n components_sv_panelvue_type_script_lang_js_,\n sv_panelvue_type_template_id_d8583596_render,\n sv_panelvue_type_template_id_d8583596_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/color-picker/src/components/sv-panel.vue\"\n/* harmony default export */ var sv_panel = (component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\nvar hue_slidervue_type_template_id_5cdc43b1_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-hue-slider\",\n class: { \"is-vertical\": _vm.vertical }\n },\n [\n _c(\"div\", {\n ref: \"bar\",\n staticClass: \"el-color-hue-slider__bar\",\n on: { click: _vm.handleClick }\n }),\n _c(\"div\", {\n ref: \"thumb\",\n staticClass: \"el-color-hue-slider__thumb\",\n style: {\n left: _vm.thumbLeft + \"px\",\n top: _vm.thumbTop + \"px\"\n }\n })\n ]\n )\n}\nvar hue_slidervue_type_template_id_5cdc43b1_staticRenderFns = []\nhue_slidervue_type_template_id_5cdc43b1_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=template&id=5cdc43b1&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var hue_slidervue_type_script_lang_js_ = ({\n name: 'el-color-hue-slider',\n\n props: {\n color: {\n required: true\n },\n\n vertical: Boolean\n },\n\n data: function data() {\n return {\n thumbLeft: 0,\n thumbTop: 0\n };\n },\n\n\n computed: {\n hueValue: function hueValue() {\n var hue = this.color.get('hue');\n return hue;\n }\n },\n\n watch: {\n hueValue: function hueValue() {\n this.update();\n }\n },\n\n methods: {\n handleClick: function handleClick(event) {\n var thumb = this.$refs.thumb;\n var target = event.target;\n\n if (target !== thumb) {\n this.handleDrag(event);\n }\n },\n handleDrag: function handleDrag(event) {\n var rect = this.$el.getBoundingClientRect();\n var thumb = this.$refs.thumb;\n\n var hue = void 0;\n\n if (!this.vertical) {\n var left = event.clientX - rect.left;\n left = Math.min(left, rect.width - thumb.offsetWidth / 2);\n left = Math.max(thumb.offsetWidth / 2, left);\n\n hue = Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 360);\n } else {\n var top = event.clientY - rect.top;\n top = Math.min(top, rect.height - thumb.offsetHeight / 2);\n top = Math.max(thumb.offsetHeight / 2, top);\n\n hue = Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 360);\n }\n\n this.color.set('hue', hue);\n },\n getThumbLeft: function getThumbLeft() {\n if (this.vertical) return 0;\n var el = this.$el;\n var hue = this.color.get('hue');\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(hue * (el.offsetWidth - thumb.offsetWidth / 2) / 360);\n },\n getThumbTop: function getThumbTop() {\n if (!this.vertical) return 0;\n var el = this.$el;\n var hue = this.color.get('hue');\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(hue * (el.offsetHeight - thumb.offsetHeight / 2) / 360);\n },\n update: function update() {\n this.thumbLeft = this.getThumbLeft();\n this.thumbTop = this.getThumbTop();\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var _$refs = this.$refs,\n bar = _$refs.bar,\n thumb = _$refs.thumb;\n\n\n var dragConfig = {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n };\n\n draggable(bar, dragConfig);\n draggable(thumb, dragConfig);\n this.update();\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_hue_slidervue_type_script_lang_js_ = (hue_slidervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/hue-slider.vue\n\n\n\n\n\n/* normalize component */\n\nvar hue_slider_component = Object(componentNormalizer[\"a\" /* default */])(\n components_hue_slidervue_type_script_lang_js_,\n hue_slidervue_type_template_id_5cdc43b1_render,\n hue_slidervue_type_template_id_5cdc43b1_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var hue_slider_api; }\nhue_slider_component.options.__file = \"packages/color-picker/src/components/hue-slider.vue\"\n/* harmony default export */ var hue_slider = (hue_slider_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\nvar alpha_slidervue_type_template_id_068c66cb_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-color-alpha-slider\",\n class: { \"is-vertical\": _vm.vertical }\n },\n [\n _c(\"div\", {\n ref: \"bar\",\n staticClass: \"el-color-alpha-slider__bar\",\n style: {\n background: _vm.background\n },\n on: { click: _vm.handleClick }\n }),\n _c(\"div\", {\n ref: \"thumb\",\n staticClass: \"el-color-alpha-slider__thumb\",\n style: {\n left: _vm.thumbLeft + \"px\",\n top: _vm.thumbTop + \"px\"\n }\n })\n ]\n )\n}\nvar alpha_slidervue_type_template_id_068c66cb_staticRenderFns = []\nalpha_slidervue_type_template_id_068c66cb_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=template&id=068c66cb&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var alpha_slidervue_type_script_lang_js_ = ({\n name: 'el-color-alpha-slider',\n\n props: {\n color: {\n required: true\n },\n vertical: Boolean\n },\n\n watch: {\n 'color._alpha': function color_alpha() {\n this.update();\n },\n 'color.value': function colorValue() {\n this.update();\n }\n },\n\n methods: {\n handleClick: function handleClick(event) {\n var thumb = this.$refs.thumb;\n var target = event.target;\n\n if (target !== thumb) {\n this.handleDrag(event);\n }\n },\n handleDrag: function handleDrag(event) {\n var rect = this.$el.getBoundingClientRect();\n var thumb = this.$refs.thumb;\n\n\n if (!this.vertical) {\n var left = event.clientX - rect.left;\n left = Math.max(thumb.offsetWidth / 2, left);\n left = Math.min(left, rect.width - thumb.offsetWidth / 2);\n\n this.color.set('alpha', Math.round((left - thumb.offsetWidth / 2) / (rect.width - thumb.offsetWidth) * 100));\n } else {\n var top = event.clientY - rect.top;\n top = Math.max(thumb.offsetHeight / 2, top);\n top = Math.min(top, rect.height - thumb.offsetHeight / 2);\n\n this.color.set('alpha', Math.round((top - thumb.offsetHeight / 2) / (rect.height - thumb.offsetHeight) * 100));\n }\n },\n getThumbLeft: function getThumbLeft() {\n if (this.vertical) return 0;\n var el = this.$el;\n var alpha = this.color._alpha;\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(alpha * (el.offsetWidth - thumb.offsetWidth / 2) / 100);\n },\n getThumbTop: function getThumbTop() {\n if (!this.vertical) return 0;\n var el = this.$el;\n var alpha = this.color._alpha;\n\n if (!el) return 0;\n var thumb = this.$refs.thumb;\n return Math.round(alpha * (el.offsetHeight - thumb.offsetHeight / 2) / 100);\n },\n getBackground: function getBackground() {\n if (this.color && this.color.value) {\n var _color$toRgb = this.color.toRgb(),\n r = _color$toRgb.r,\n g = _color$toRgb.g,\n b = _color$toRgb.b;\n\n return 'linear-gradient(to right, rgba(' + r + ', ' + g + ', ' + b + ', 0) 0%, rgba(' + r + ', ' + g + ', ' + b + ', 1) 100%)';\n }\n return null;\n },\n update: function update() {\n this.thumbLeft = this.getThumbLeft();\n this.thumbTop = this.getThumbTop();\n this.background = this.getBackground();\n }\n },\n\n data: function data() {\n return {\n thumbLeft: 0,\n thumbTop: 0,\n background: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var _$refs = this.$refs,\n bar = _$refs.bar,\n thumb = _$refs.thumb;\n\n\n var dragConfig = {\n drag: function drag(event) {\n _this.handleDrag(event);\n },\n end: function end(event) {\n _this.handleDrag(event);\n }\n };\n\n draggable(bar, dragConfig);\n draggable(thumb, dragConfig);\n this.update();\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_alpha_slidervue_type_script_lang_js_ = (alpha_slidervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/alpha-slider.vue\n\n\n\n\n\n/* normalize component */\n\nvar alpha_slider_component = Object(componentNormalizer[\"a\" /* default */])(\n components_alpha_slidervue_type_script_lang_js_,\n alpha_slidervue_type_template_id_068c66cb_render,\n alpha_slidervue_type_template_id_068c66cb_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var alpha_slider_api; }\nalpha_slider_component.options.__file = \"packages/color-picker/src/components/alpha-slider.vue\"\n/* harmony default export */ var alpha_slider = (alpha_slider_component.exports);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\nvar predefinevue_type_template_id_06e03093_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"el-color-predefine\" }, [\n _c(\n \"div\",\n { staticClass: \"el-color-predefine__colors\" },\n _vm._l(_vm.rgbaColors, function(item, index) {\n return _c(\n \"div\",\n {\n key: _vm.colors[index],\n staticClass: \"el-color-predefine__color-selector\",\n class: { selected: item.selected, \"is-alpha\": item._alpha < 100 },\n on: {\n click: function($event) {\n _vm.handleSelect(index)\n }\n }\n },\n [_c(\"div\", { style: { \"background-color\": item.value } })]\n )\n }),\n 0\n )\n ])\n}\nvar predefinevue_type_template_id_06e03093_staticRenderFns = []\npredefinevue_type_template_id_06e03093_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=template&id=06e03093&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var predefinevue_type_script_lang_js_ = ({\n props: {\n colors: { type: Array, required: true },\n color: { required: true }\n },\n data: function data() {\n return {\n rgbaColors: this.parseColors(this.colors, this.color)\n };\n },\n\n methods: {\n handleSelect: function handleSelect(index) {\n this.color.fromString(this.colors[index]);\n },\n parseColors: function parseColors(colors, color) {\n return colors.map(function (value) {\n var c = new src_color();\n c.enableAlpha = true;\n c.format = 'rgba';\n c.fromString(value);\n c.selected = c.value === color.value;\n return c;\n });\n }\n },\n watch: {\n '$parent.currentColor': function $parentCurrentColor(val) {\n var color = new src_color();\n color.fromString(val);\n\n this.rgbaColors.forEach(function (item) {\n item.selected = color.compare(item);\n });\n },\n colors: function colors(newVal) {\n this.rgbaColors = this.parseColors(newVal, this.color);\n },\n color: function color(newVal) {\n this.rgbaColors = this.parseColors(this.colors, newVal);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_predefinevue_type_script_lang_js_ = (predefinevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/predefine.vue\n\n\n\n\n\n/* normalize component */\n\nvar predefine_component = Object(componentNormalizer[\"a\" /* default */])(\n components_predefinevue_type_script_lang_js_,\n predefinevue_type_template_id_06e03093_render,\n predefinevue_type_template_id_06e03093_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var predefine_api; }\npredefine_component.options.__file = \"packages/color-picker/src/components/predefine.vue\"\n/* harmony default export */ var predefine = (predefine_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/button\"\nvar button_ = __webpack_require__(14);\nvar button_default = /*#__PURE__*/__webpack_require__.n(button_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var picker_dropdownvue_type_script_lang_js_ = ({\n name: 'el-color-picker-dropdown',\n\n mixins: [vue_popper_default.a, locale_default.a],\n\n components: {\n SvPanel: sv_panel,\n HueSlider: hue_slider,\n AlphaSlider: alpha_slider,\n ElInput: input_default.a,\n ElButton: button_default.a,\n Predefine: predefine\n },\n\n props: {\n color: {\n required: true\n },\n showAlpha: Boolean,\n predefine: Array\n },\n\n data: function data() {\n return {\n customInput: ''\n };\n },\n\n\n computed: {\n currentColor: function currentColor() {\n var parent = this.$parent;\n return !parent.value && !parent.showPanelColor ? '' : parent.color.value;\n }\n },\n\n methods: {\n confirmValue: function confirmValue() {\n this.$emit('pick');\n },\n handleConfirm: function handleConfirm() {\n this.color.fromString(this.customInput);\n }\n },\n\n mounted: function mounted() {\n this.$parent.popperElm = this.popperElm = this.$el;\n this.referenceElm = this.$parent.$el;\n },\n\n\n watch: {\n showPopper: function showPopper(val) {\n var _this = this;\n\n if (val === true) {\n this.$nextTick(function () {\n var _$refs = _this.$refs,\n sl = _$refs.sl,\n hue = _$refs.hue,\n alpha = _$refs.alpha;\n\n sl && sl.update();\n hue && hue.update();\n alpha && alpha.update();\n });\n }\n },\n\n\n currentColor: {\n immediate: true,\n handler: function handler(val) {\n this.customInput = val;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var components_picker_dropdownvue_type_script_lang_js_ = (picker_dropdownvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/components/picker-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar picker_dropdown_component = Object(componentNormalizer[\"a\" /* default */])(\n components_picker_dropdownvue_type_script_lang_js_,\n picker_dropdownvue_type_template_id_06601625_render,\n picker_dropdownvue_type_template_id_06601625_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var picker_dropdown_api; }\npicker_dropdown_component.options.__file = \"packages/color-picker/src/components/picker-dropdown.vue\"\n/* harmony default export */ var picker_dropdown = (picker_dropdown_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElColorPicker',\n\n mixins: [emitter_default.a],\n\n props: {\n value: String,\n showAlpha: Boolean,\n colorFormat: String,\n disabled: Boolean,\n size: String,\n popperClass: String,\n predefine: Array\n },\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n computed: {\n displayedColor: function displayedColor() {\n if (!this.value && !this.showPanelColor) {\n return 'transparent';\n }\n\n return this.displayedRgb(this.color, this.showAlpha);\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n colorSize: function colorSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n colorDisabled: function colorDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n }\n },\n\n watch: {\n value: function value(val) {\n if (!val) {\n this.showPanelColor = false;\n } else if (val && val !== this.color.value) {\n this.color.fromString(val);\n }\n },\n\n color: {\n deep: true,\n handler: function handler() {\n this.showPanelColor = true;\n }\n },\n displayedColor: function displayedColor(val) {\n if (!this.showPicker) return;\n var currentValueColor = new src_color({\n enableAlpha: this.showAlpha,\n format: this.colorFormat\n });\n currentValueColor.fromString(this.value);\n\n var currentValueColorRgb = this.displayedRgb(currentValueColor, this.showAlpha);\n if (val !== currentValueColorRgb) {\n this.$emit('active-change', val);\n }\n }\n },\n\n methods: {\n handleTrigger: function handleTrigger() {\n if (this.colorDisabled) return;\n this.showPicker = !this.showPicker;\n },\n confirmValue: function confirmValue() {\n var value = this.color.value;\n this.$emit('input', value);\n this.$emit('change', value);\n this.dispatch('ElFormItem', 'el.form.change', value);\n this.showPicker = false;\n },\n clearValue: function clearValue() {\n this.$emit('input', null);\n this.$emit('change', null);\n if (this.value !== null) {\n this.dispatch('ElFormItem', 'el.form.change', null);\n }\n this.showPanelColor = false;\n this.showPicker = false;\n this.resetColor();\n },\n hide: function hide() {\n this.showPicker = false;\n this.resetColor();\n },\n resetColor: function resetColor() {\n var _this = this;\n\n this.$nextTick(function (_) {\n if (_this.value) {\n _this.color.fromString(_this.value);\n } else {\n _this.showPanelColor = false;\n }\n });\n },\n displayedRgb: function displayedRgb(color, showAlpha) {\n if (!(color instanceof src_color)) {\n throw Error('color should be instance of Color Class');\n }\n\n var _color$toRgb = color.toRgb(),\n r = _color$toRgb.r,\n g = _color$toRgb.g,\n b = _color$toRgb.b;\n\n return showAlpha ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + color.get('alpha') / 100 + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')';\n }\n },\n\n mounted: function mounted() {\n var value = this.value;\n if (value) {\n this.color.fromString(value);\n }\n this.popperElm = this.$refs.dropdown.$el;\n },\n data: function data() {\n var color = new src_color({\n enableAlpha: this.showAlpha,\n format: this.colorFormat\n });\n\n return {\n color: color,\n showPicker: false,\n showPanelColor: false\n };\n },\n\n\n components: {\n PickerDropdown: picker_dropdown\n }\n});\n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/color-picker/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar main_component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var main_api; }\nmain_component.options.__file = \"packages/color-picker/src/main.vue\"\n/* harmony default export */ var main = (main_component.exports);\n// CONCATENATED MODULE: ./packages/color-picker/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var color_picker = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 116);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 116:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=template&id=2b296ab2&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"header\",\n { staticClass: \"el-header\", style: { height: _vm.height } },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=template&id=2b296ab2&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/header/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElHeader',\n\n componentName: 'ElHeader',\n\n props: {\n height: {\n type: String,\n default: '60px'\n }\n }\n});\n// CONCATENATED MODULE: ./packages/header/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/header/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/header/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/header/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var header = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (target) {\n for (var i = 1, j = arguments.length; i < j; i++) {\n var source = arguments[i] || {};\n for (var prop in source) {\n if (source.hasOwnProperty(prop)) {\n var value = source[prop];\n if (value !== undefined) {\n target[prop] = value;\n }\n }\n }\n }\n\n return target;\n};\n\n;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 92);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-checkbox-group\",\n attrs: { role: \"group\", \"aria-label\": \"checkbox-group\" }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=template&id=7289a290&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n\n\n\n/* harmony default export */ var checkbox_groupvue_type_script_lang_js_ = ({\n name: 'ElCheckboxGroup',\n\n componentName: 'ElCheckboxGroup',\n\n mixins: [emitter_default.a],\n\n inject: {\n elFormItem: {\n default: ''\n }\n },\n\n props: {\n value: {},\n disabled: Boolean,\n min: Number,\n max: Number,\n size: String,\n fill: String,\n textColor: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxGroupSize: function checkboxGroupSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n }\n },\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', [_value]);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkbox_groupvue_type_script_lang_js_ = (checkbox_groupvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox-group.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkbox_groupvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox-group.vue\"\n/* harmony default export */ var checkbox_group = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox-group/index.js\n\n\n/* istanbul ignore next */\ncheckbox_group.install = function (Vue) {\n Vue.component(checkbox_group.name, checkbox_group);\n};\n\n/* harmony default export */ var packages_checkbox_group = __webpack_exports__[\"default\"] = (checkbox_group);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.isEmpty = exports.isEqual = exports.arrayEquals = exports.looseEqual = exports.capitalize = exports.kebabCase = exports.autoprefixer = exports.isFirefox = exports.isEdge = exports.isIE = exports.coerceTruthyValueToArray = exports.arrayFind = exports.arrayFindIndex = exports.escapeRegexpString = exports.valueEquals = exports.generateId = exports.getValueByPath = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.noop = noop;\nexports.hasOwn = hasOwn;\nexports.toObject = toObject;\nexports.getPropByPath = getPropByPath;\nexports.rafThrottle = rafThrottle;\nexports.objToArray = objToArray;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _types = require('element-ui/lib/utils/types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction noop() {};\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n};\n\nfunction extend(to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to;\n};\n\nfunction toObject(arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n};\n\nvar getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {\n prop = prop || '';\n var paths = prop.split('.');\n var current = object;\n var result = null;\n for (var i = 0, j = paths.length; i < j; i++) {\n var path = paths[i];\n if (!current) break;\n\n if (i === j - 1) {\n result = current[path];\n break;\n }\n current = current[path];\n }\n return result;\n};\n\nfunction getPropByPath(obj, path, strict) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n var keyArr = path.split('.');\n var i = 0;\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid prop path to form item!');\n }\n break;\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null\n };\n};\n\nvar generateId = exports.generateId = function generateId() {\n return Math.floor(Math.random() * 10000);\n};\n\nvar valueEquals = exports.valueEquals = function valueEquals(a, b) {\n // see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript\n if (a === b) return true;\n if (!(a instanceof Array)) return false;\n if (!(b instanceof Array)) return false;\n if (a.length !== b.length) return false;\n for (var i = 0; i !== a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n};\n\nvar escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(value).replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\n// TODO: use native Array.find, Array.findIndex when IE support is dropped\nvar arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {\n for (var i = 0; i !== arr.length; ++i) {\n if (pred(arr[i])) {\n return i;\n }\n }\n return -1;\n};\n\nvar arrayFind = exports.arrayFind = function arrayFind(arr, pred) {\n var idx = arrayFindIndex(arr, pred);\n return idx !== -1 ? arr[idx] : undefined;\n};\n\n// coerce truthy value to array\nvar coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {\n if (Array.isArray(val)) {\n return val;\n } else if (val) {\n return [val];\n } else {\n return [];\n }\n};\n\nvar isIE = exports.isIE = function isIE() {\n return !_vue2.default.prototype.$isServer && !isNaN(Number(document.documentMode));\n};\n\nvar isEdge = exports.isEdge = function isEdge() {\n return !_vue2.default.prototype.$isServer && navigator.userAgent.indexOf('Edge') > -1;\n};\n\nvar isFirefox = exports.isFirefox = function isFirefox() {\n return !_vue2.default.prototype.$isServer && !!window.navigator.userAgent.match(/firefox/i);\n};\n\nvar autoprefixer = exports.autoprefixer = function autoprefixer(style) {\n if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') return style;\n var rules = ['transform', 'transition', 'animation'];\n var prefixes = ['ms-', 'webkit-'];\n rules.forEach(function (rule) {\n var value = style[rule];\n if (rule && value) {\n prefixes.forEach(function (prefix) {\n style[prefix + rule] = value;\n });\n }\n });\n return style;\n};\n\nvar kebabCase = exports.kebabCase = function kebabCase(str) {\n var hyphenateRE = /([^-])([A-Z])/g;\n return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();\n};\n\nvar capitalize = exports.capitalize = function capitalize(str) {\n if (!(0, _types.isString)(str)) return str;\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nvar looseEqual = exports.looseEqual = function looseEqual(a, b) {\n var isObjectA = (0, _types.isObject)(a);\n var isObjectB = (0, _types.isObject)(b);\n if (isObjectA && isObjectB) {\n return JSON.stringify(a) === JSON.stringify(b);\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b);\n } else {\n return false;\n }\n};\n\nvar arrayEquals = exports.arrayEquals = function arrayEquals(arrayA, arrayB) {\n arrayA = arrayA || [];\n arrayB = arrayB || [];\n\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n\n for (var i = 0; i < arrayA.length; i++) {\n if (!looseEqual(arrayA[i], arrayB[i])) {\n return false;\n }\n }\n\n return true;\n};\n\nvar isEqual = exports.isEqual = function isEqual(value1, value2) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayEquals(value1, value2);\n }\n return looseEqual(value1, value2);\n};\n\nvar isEmpty = exports.isEmpty = function isEmpty(val) {\n // null or undefined\n if (val == null) return true;\n\n if (typeof val === 'boolean') return false;\n\n if (typeof val === 'number') return !val;\n\n if (val instanceof Error) return val.message === '';\n\n switch (Object.prototype.toString.call(val)) {\n // String or Array\n case '[object String]':\n case '[object Array]':\n return !val.length;\n\n // Map or Set or File\n case '[object File]':\n case '[object Map]':\n case '[object Set]':\n {\n return !val.size;\n }\n // Plain Object\n case '[object Object]':\n {\n return !Object.keys(val).length;\n }\n }\n\n return false;\n};\n\nfunction rafThrottle(fn) {\n var locked = false;\n return function () {\n var _this = this;\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (locked) return;\n locked = true;\n window.requestAnimationFrame(function (_) {\n fn.apply(_this, args);\n locked = false;\n });\n };\n}\n\nfunction objToArray(obj) {\n if (Array.isArray(obj)) {\n return obj;\n }\n return isEmpty(obj) ? [] : [obj];\n}","const THREE = require('zincjs').THREE;\n\n/**\n * Create a {@link Zinc.Renderer} on the dom element with corresponding elementID.\n * @param {String} elementID - id of the target dom element.\n * @returns {Zinc.Renderer}\n */\nconst createRenderer = function () {\n const WEBGL = require('./WebGL').WEBGL;\n const localContainer = document.createElement( 'div' );\n let localRenderer = undefined;;\n localContainer.style.height = \"100%\";\n if (WEBGL.isWebGLAvailable()) {\n const Zinc = require('zincjs');\n localRenderer = new Zinc.Renderer(localContainer, window);\n Zinc.defaultMaterialColor = 0xFFFF9C;\n localRenderer.initialiseVisualisation();\n localRenderer.playAnimation = false;\n } else {\n const warning = WEBGL.getWebGLErrorMessage();\n localContainer.appendChild(warning);\n }\n return {\"renderer\":localRenderer, \"container\":localContainer};\n}\n\nconst RendererModule = function() {\n (require('./BaseModule').BaseModule).call(this);\n this.scene = undefined;\n this.rendererContainer = undefined;\n this.displayArea = undefined;\n this.graphicsHighlight = new (require(\"./graphicsHighlight\").GraphicsHighlight)();\n this.zincRenderer = null;\n this.selectedScreenCoordinates = new THREE.Vector3();\n this.selectedCenter = undefined;\n}\n\nRendererModule.prototype = Object.create((require('./BaseModule').BaseModule).prototype);\n\n/**\n * This function will get the the first intersected object with name or\n * the first glyph object with name.\n */\nRendererModule.prototype.getIntersectedObject = function(intersects) {\n\tif (intersects) {\n\t\tfor (let i = 0; i < intersects.length; i++) {\n\t\t\tif (intersects[i] !== undefined) {\n\t\t\t\tif (intersects[i].object &&\n intersects[i].object.userData && \n intersects[i].object.userData.isZincObject && \n ((intersects[i].object.name && \n intersects[i].object.name !== \"_Unnamed\") ||\n intersects[i].object.userData.isMarker))\n\t\t\t\t\treturn intersects[i];\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n}\n\nRendererModule.prototype.getAnnotationsFromObjects = function(objects) {\n const annotations = [];\n for (var i = 0; i < objects.length; i++) {\n const zincObject = objects[i].userData;\n let annotation = undefined;\n if (zincObject) {\n if (zincObject.isGlyph || zincObject.isGlyphset) {\n const glyphset = zincObject;\n if (zincObject.isGlyph)\n glyphset = zincObject.getGlyphset();\n annotation = glyphset.userData ? glyphset.userData.annotation : undefined;\n if (annotation && annotation.data) {\n if (objects[i].name && objects[i].name != \"\")\n annotation.data.id = objects[i].name;\n else\n annotation.data.id = glyphset.groupName;\n }\n } else {\n annotation = zincObject.userData ? zincObject.userData.annotation : undefined;\n if (annotation && annotation.data){\n annotation.data.id = objects[i].name;\n }\n }\n }\n if (annotation)\n annotations.push(annotation);\n }\n\treturn annotations;\n}\n\nRendererModule.prototype.setHighlightedByObjects = function(\n objects, coords, propagateChanges) {\n const changed = this.graphicsHighlight.setHighlighted(objects);\n if (propagateChanges) {\n eventType = require(\"./eventNotifier\").EVENT_TYPE.MOVE;\n if (changed)\n eventType = require(\"./eventNotifier\").EVENT_TYPE.HIGHLIGHTED;\n const annotations = this.getAnnotationsFromObjects(objects);\n if (annotations.length > 0)\n annotations[0].coords = coords;\n this.publishChanges(annotations, eventType);\n }\n return changed;\n}\n\n\nRendererModule.prototype.setHighlightedByZincObjects = function(\n zincObjects, coords, propagateChanges) {\n let morphs = [];\n if (zincObjects) {\n zincObjects.forEach(zincObject => {\n if (zincObject && zincObject.morph)\n morphs.push(zincObject.morph);\n });\n }\n\n return this.setHighlightedByObjects(morphs, coords,propagateChanges);\n}\n\nRendererModule.prototype.setupLiveCoordinates = function(zincObjects) {\n if (zincObjects && (zincObjects.length > 0)) {\n const boundingBox = this.scene.getBoundingBoxOfZincObjects(zincObjects);\n let newSelectedCenter = new THREE.Vector3();\n boundingBox.getCenter(newSelectedCenter);\n if (this.selectedCenter == undefined)\n this.selectedCenter = newSelectedCenter;\n else {\n this.selectedCenter.x = newSelectedCenter.x;\n this.selectedCenter.y = newSelectedCenter.y;\n }\n } else {\n this.selectedCenter = undefined;\n }\n}\n\nRendererModule.prototype.objectsToZincObjects = function(objects) {\n const zincObjects = [];\n for (let i = 0; i < objects.length; i++) {\n let zincObject = objects[i].userData;\n if (zincObject) {\n if (zincObject.isGlyph || zincObject.isGlyphset) {\n let glyphset = zincObject;\n if (zincObject.isGlyph)\n glyphset = zincObject.getGlyphset();\n zincObjects. push(glyphset);\n } else {\n zincObjects. push(zincObject);\n }\n }\n }\n return zincObjects;\n}\n\n\nRendererModule.prototype.setSelectedByObjects = function(\n objects, coords, propagateChanges) {\n const changed = this.graphicsHighlight.setSelected(objects);\n if (changed) {\n const zincObjects = this.objectsToZincObjects(objects);\n this.setupLiveCoordinates(zincObjects);\n if (propagateChanges) {\n const eventType = require(\"./eventNotifier\").EVENT_TYPE.SELECTED;\n const annotations = this.getAnnotationsFromObjects(objects);\n if (annotations.length > 0)\n annotations[0].coords = coords;\n this.publishChanges(annotations, eventType);\n }\n }\n return changed;\n}\n\nRendererModule.prototype.setSelectedByZincObjects = function(\n zincObjects, coords, propagateChanges) {\n let morphs = [];\n if (zincObjects) {\n zincObjects.forEach(zincObject => {\n if (zincObject && zincObject.morph)\n morphs.push(zincObject.morph);\n });\n }\n\n return this.setSelectedByObjects(morphs, coords, propagateChanges);\n}\n\nconst addGlyphToArray = function(objects) {\n return function(glyph) {\n objects.push(glyph.getMesh());\n }\n}\n\nRendererModule.prototype.findObjectsByGroupName = function(groupName) {\n const geometries = this.scene.findGeometriesWithGroupName(groupName);\n const objects = [];\n for (let i = 0; i < geometries.length; i ++ ) {\n objects.push(geometries[i].morph);\n }\n const glyphsets = this.scene.findGlyphsetsWithGroupName(groupName);\n for (let i = 0; i < glyphsets.length; i ++ ) {\n glyphsets[i].forEachGlyph(addGlyphToArray(objects));\n }\n \n return objects;\n}\n\nRendererModule.prototype.setHighlightedByGroupName = function(groupName, propagateChanges) {\n const objects = this.findObjectsByGroupName(groupName);\n return this.setHighlightedByObjects(objects, undefined, propagateChanges);\n}\n\nRendererModule.prototype.setSelectedByGroupName = function(groupName, propagateChanges) {\n const objects = this.findObjectsByGroupName(groupName);\n return this.setSelectedByObjects(objects, undefined, propagateChanges);\n}\n\nRendererModule.prototype.changeBackgroundColour = function(backgroundColourString) {\n const colour = new THREE.Color(backgroundColourString);\n if (this.zincRenderer) {\n let internalRenderer = this.zincRenderer.getThreeJSRenderer();\n internalRenderer.setClearColor( colour, 1 );\n }\n}\n\nRendererModule.prototype.resetView = function() {\n if (this.zincRenderer)\n this.zincRenderer.resetView();\n}\n \nRendererModule.prototype.viewAll = function() {\n if (this.zincRenderer)\n this.zincRenderer.viewAll();\n}\n\n/**\n * Start the animation and let the renderer to processs with\n * time progression\n */\nRendererModule.prototype.playAnimation = function(flag) {\n if (this.zincRenderer)\n this.zincRenderer.playAnimation = flag;\n}\n\n/**\n* Set the speed of playback\n*/\nRendererModule.prototype.setPlayRate = function(value) {\n if (this.zincRenderer)\n this.zincRenderer.setPlayRate(value);\n}\n\n/**\n* Get the speed of playback\n*/\nRendererModule.prototype.getPlayRate = function(value) {\n if (this.zincRenderer)\n return this.zincRenderer.getPlayRate();\n else\n return 0.0;\n}\n \n /** Initialise everything in the renderer, including the 3D renderer,\n * and picker for the 3D renderer.\n * \n */\nRendererModule.prototype.initialiseRenderer = function(displayAreaIn) {\n if (this.zincRenderer === undefined || this.rendererContainer === undefined) {\n let returnedValue = createRenderer();\n this.zincRenderer = returnedValue[\"renderer\"];\n this.rendererContainer = returnedValue[\"container\"];\n }\n if (displayAreaIn) {\n this.displayArea = displayAreaIn;\n this.displayArea.appendChild( this.rendererContainer );\n if (this.zincRenderer)\n this.zincRenderer.animate();\n }\n}\n\nRendererModule.prototype.destroy = function() {\n if (this.zincRenderer) {\n this.zincRenderer.dispose();\n this.zincRenderer.getThreeJSRenderer().dispose();\n this.zincRenderer = undefined;\n }\n (require('./BaseModule').BaseModule).prototype.destroy.call( this );\n}\n\nexports.RendererModule = RendererModule;","module.exports = require(\"throttle-debounce\");","module.exports = require(\"core-js/modules/es.array.includes.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 72);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/popup\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 41:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/after-leave\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n\n/***/ 72:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { name: \"el-loading-fade\" },\n on: { \"after-leave\": _vm.handleAfterLeave }\n },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-loading-mask\",\n class: [_vm.customClass, { \"is-fullscreen\": _vm.fullscreen }],\n style: { backgroundColor: _vm.background || \"\" }\n },\n [\n _c(\"div\", { staticClass: \"el-loading-spinner\" }, [\n !_vm.spinner\n ? _c(\n \"svg\",\n {\n staticClass: \"circular\",\n attrs: { viewBox: \"25 25 50 50\" }\n },\n [\n _c(\"circle\", {\n staticClass: \"path\",\n attrs: { cx: \"50\", cy: \"50\", r: \"20\", fill: \"none\" }\n })\n ]\n )\n : _c(\"i\", { class: _vm.spinner }),\n _vm.text\n ? _c(\"p\", { staticClass: \"el-loading-text\" }, [\n _vm._v(_vm._s(_vm.text))\n ])\n : _vm._e()\n ])\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=template&id=eee0a7ac&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/loading/src/loading.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var loadingvue_type_script_lang_js_ = ({\n data: function data() {\n return {\n text: null,\n spinner: null,\n background: null,\n fullscreen: true,\n visible: false,\n customClass: ''\n };\n },\n\n\n methods: {\n handleAfterLeave: function handleAfterLeave() {\n this.$emit('after-leave');\n },\n setText: function setText(text) {\n this.text = text;\n }\n }\n});\n// CONCATENATED MODULE: ./packages/loading/src/loading.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_loadingvue_type_script_lang_js_ = (loadingvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/loading/src/loading.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_loadingvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/loading/src/loading.vue\"\n/* harmony default export */ var loading = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/popup\"\nvar popup_ = __webpack_require__(13);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/after-leave\"\nvar after_leave_ = __webpack_require__(41);\nvar after_leave_default = /*#__PURE__*/__webpack_require__.n(after_leave_);\n\n// CONCATENATED MODULE: ./packages/loading/src/directive.js\n\n\n\n\n\nvar Mask = external_vue_default.a.extend(loading);\n\nvar loadingDirective = {};\nloadingDirective.install = function (Vue) {\n if (Vue.prototype.$isServer) return;\n var toggleLoading = function toggleLoading(el, binding) {\n if (binding.value) {\n Vue.nextTick(function () {\n if (binding.modifiers.fullscreen) {\n el.originalPosition = Object(dom_[\"getStyle\"])(document.body, 'position');\n el.originalOverflow = Object(dom_[\"getStyle\"])(document.body, 'overflow');\n el.maskStyle.zIndex = popup_[\"PopupManager\"].nextZIndex();\n\n Object(dom_[\"addClass\"])(el.mask, 'is-fullscreen');\n insertDom(document.body, el, binding);\n } else {\n Object(dom_[\"removeClass\"])(el.mask, 'is-fullscreen');\n\n if (binding.modifiers.body) {\n el.originalPosition = Object(dom_[\"getStyle\"])(document.body, 'position');\n\n ['top', 'left'].forEach(function (property) {\n var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';\n el.maskStyle[property] = el.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] - parseInt(Object(dom_[\"getStyle\"])(document.body, 'margin-' + property), 10) + 'px';\n });\n ['height', 'width'].forEach(function (property) {\n el.maskStyle[property] = el.getBoundingClientRect()[property] + 'px';\n });\n\n insertDom(document.body, el, binding);\n } else {\n el.originalPosition = Object(dom_[\"getStyle\"])(el, 'position');\n insertDom(el, el, binding);\n }\n }\n });\n } else {\n after_leave_default()(el.instance, function (_) {\n if (!el.instance.hiding) return;\n el.domVisible = false;\n var target = binding.modifiers.fullscreen || binding.modifiers.body ? document.body : el;\n Object(dom_[\"removeClass\"])(target, 'el-loading-parent--relative');\n Object(dom_[\"removeClass\"])(target, 'el-loading-parent--hidden');\n el.instance.hiding = false;\n }, 300, true);\n el.instance.visible = false;\n el.instance.hiding = true;\n }\n };\n var insertDom = function insertDom(parent, el, binding) {\n if (!el.domVisible && Object(dom_[\"getStyle\"])(el, 'display') !== 'none' && Object(dom_[\"getStyle\"])(el, 'visibility') !== 'hidden') {\n Object.keys(el.maskStyle).forEach(function (property) {\n el.mask.style[property] = el.maskStyle[property];\n });\n\n if (el.originalPosition !== 'absolute' && el.originalPosition !== 'fixed') {\n Object(dom_[\"addClass\"])(parent, 'el-loading-parent--relative');\n }\n if (binding.modifiers.fullscreen && binding.modifiers.lock) {\n Object(dom_[\"addClass\"])(parent, 'el-loading-parent--hidden');\n }\n el.domVisible = true;\n\n parent.appendChild(el.mask);\n Vue.nextTick(function () {\n if (el.instance.hiding) {\n el.instance.$emit('after-leave');\n } else {\n el.instance.visible = true;\n }\n });\n el.domInserted = true;\n } else if (el.domVisible && el.instance.hiding === true) {\n el.instance.visible = true;\n el.instance.hiding = false;\n }\n };\n\n Vue.directive('loading', {\n bind: function bind(el, binding, vnode) {\n var textExr = el.getAttribute('element-loading-text');\n var spinnerExr = el.getAttribute('element-loading-spinner');\n var backgroundExr = el.getAttribute('element-loading-background');\n var customClassExr = el.getAttribute('element-loading-custom-class');\n var vm = vnode.context;\n var mask = new Mask({\n el: document.createElement('div'),\n data: {\n text: vm && vm[textExr] || textExr,\n spinner: vm && vm[spinnerExr] || spinnerExr,\n background: vm && vm[backgroundExr] || backgroundExr,\n customClass: vm && vm[customClassExr] || customClassExr,\n fullscreen: !!binding.modifiers.fullscreen\n }\n });\n el.instance = mask;\n el.mask = mask.$el;\n el.maskStyle = {};\n\n binding.value && toggleLoading(el, binding);\n },\n\n update: function update(el, binding) {\n el.instance.setText(el.getAttribute('element-loading-text'));\n if (binding.oldValue !== binding.value) {\n toggleLoading(el, binding);\n }\n },\n\n unbind: function unbind(el, binding) {\n if (el.domInserted) {\n el.mask && el.mask.parentNode && el.mask.parentNode.removeChild(el.mask);\n toggleLoading(el, { value: false, modifiers: binding.modifiers });\n }\n el.instance && el.instance.$destroy();\n }\n });\n};\n\n/* harmony default export */ var directive = (loadingDirective);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// CONCATENATED MODULE: ./packages/loading/src/index.js\n\n\n\n\n\n\n\nvar LoadingConstructor = external_vue_default.a.extend(loading);\n\nvar defaults = {\n text: null,\n fullscreen: true,\n body: false,\n lock: false,\n customClass: ''\n};\n\nvar fullscreenLoading = void 0;\n\nLoadingConstructor.prototype.originalPosition = '';\nLoadingConstructor.prototype.originalOverflow = '';\n\nLoadingConstructor.prototype.close = function () {\n var _this = this;\n\n if (this.fullscreen) {\n fullscreenLoading = undefined;\n }\n after_leave_default()(this, function (_) {\n var target = _this.fullscreen || _this.body ? document.body : _this.target;\n Object(dom_[\"removeClass\"])(target, 'el-loading-parent--relative');\n Object(dom_[\"removeClass\"])(target, 'el-loading-parent--hidden');\n if (_this.$el && _this.$el.parentNode) {\n _this.$el.parentNode.removeChild(_this.$el);\n }\n _this.$destroy();\n }, 300);\n this.visible = false;\n};\n\nvar src_addStyle = function addStyle(options, parent, instance) {\n var maskStyle = {};\n if (options.fullscreen) {\n instance.originalPosition = Object(dom_[\"getStyle\"])(document.body, 'position');\n instance.originalOverflow = Object(dom_[\"getStyle\"])(document.body, 'overflow');\n maskStyle.zIndex = popup_[\"PopupManager\"].nextZIndex();\n } else if (options.body) {\n instance.originalPosition = Object(dom_[\"getStyle\"])(document.body, 'position');\n ['top', 'left'].forEach(function (property) {\n var scroll = property === 'top' ? 'scrollTop' : 'scrollLeft';\n maskStyle[property] = options.target.getBoundingClientRect()[property] + document.body[scroll] + document.documentElement[scroll] + 'px';\n });\n ['height', 'width'].forEach(function (property) {\n maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px';\n });\n } else {\n instance.originalPosition = Object(dom_[\"getStyle\"])(parent, 'position');\n }\n Object.keys(maskStyle).forEach(function (property) {\n instance.$el.style[property] = maskStyle[property];\n });\n};\n\nvar src_Loading = function Loading() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (external_vue_default.a.prototype.$isServer) return;\n options = merge_default()({}, defaults, options);\n if (typeof options.target === 'string') {\n options.target = document.querySelector(options.target);\n }\n options.target = options.target || document.body;\n if (options.target !== document.body) {\n options.fullscreen = false;\n } else {\n options.body = true;\n }\n if (options.fullscreen && fullscreenLoading) {\n return fullscreenLoading;\n }\n\n var parent = options.body ? document.body : options.target;\n var instance = new LoadingConstructor({\n el: document.createElement('div'),\n data: options\n });\n\n src_addStyle(options, parent, instance);\n if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed') {\n Object(dom_[\"addClass\"])(parent, 'el-loading-parent--relative');\n }\n if (options.fullscreen && options.lock) {\n Object(dom_[\"addClass\"])(parent, 'el-loading-parent--hidden');\n }\n parent.appendChild(instance.$el);\n external_vue_default.a.nextTick(function () {\n instance.visible = true;\n });\n if (options.fullscreen) {\n fullscreenLoading = instance;\n }\n return instance;\n};\n\n/* harmony default export */ var src = (src_Loading);\n// CONCATENATED MODULE: ./packages/loading/index.js\n\n\n\n/* harmony default export */ var packages_loading = __webpack_exports__[\"default\"] = ({\n install: function install(Vue) {\n Vue.use(directive);\n Vue.prototype.$loading = src;\n },\n\n directive: directive,\n service: src\n});\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 130);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 130:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tag/src/tag.vue?vue&type=script&lang=js&\n\n/* harmony default export */ var tagvue_type_script_lang_js_ = ({\n name: 'ElTag',\n props: {\n text: String,\n closable: Boolean,\n type: String,\n hit: Boolean,\n disableTransitions: Boolean,\n color: String,\n size: String,\n effect: {\n type: String,\n default: 'light',\n validator: function validator(val) {\n return ['dark', 'light', 'plain'].indexOf(val) !== -1;\n }\n }\n },\n methods: {\n handleClose: function handleClose(event) {\n event.stopPropagation();\n this.$emit('close', event);\n },\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n },\n computed: {\n tagSize: function tagSize() {\n return this.size || (this.$ELEMENT || {}).size;\n }\n },\n render: function render(h) {\n var type = this.type,\n tagSize = this.tagSize,\n hit = this.hit,\n effect = this.effect;\n\n var classes = ['el-tag', type ? 'el-tag--' + type : '', tagSize ? 'el-tag--' + tagSize : '', effect ? 'el-tag--' + effect : '', hit && 'is-hit'];\n var tagEl = h(\n 'span',\n {\n 'class': classes,\n style: { backgroundColor: this.color },\n on: {\n 'click': this.handleClick\n }\n },\n [this.$slots.default, this.closable && h('i', { 'class': 'el-tag__close el-icon-close', on: {\n 'click': this.handleClose\n }\n })]\n );\n\n return this.disableTransitions ? tagEl : h(\n 'transition',\n {\n attrs: { name: 'el-zoom-in-center' }\n },\n [tagEl]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tagvue_type_script_lang_js_ = (tagvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tag/src/tag.vue\nvar render, staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tagvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tag/src/tag.vue\"\n/* harmony default export */ var tag = (component.exports);\n// CONCATENATED MODULE: ./packages/tag/index.js\n\n\n/* istanbul ignore next */\ntag.install = function (Vue) {\n Vue.component(tag.name, tag);\n};\n\n/* harmony default export */ var packages_tag = __webpack_exports__[\"default\"] = (tag);\n\n/***/ })\n\n/******/ });","module.exports = require(\"vue\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=style&index=1&lang=css&\"","module.exports = require(\"zincjs\");","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=style&index=0&id=7d6a9a0b&scoped=true&lang=scss&\"","module.exports = require(\"core-js/modules/es.object.to-string.js\");","exports.annotation = function() {\n this.type = \"anatomical\";\n this.data = undefined;\n this.isAnnotation = true;\n}\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 125);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 125:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=template&id=a4885264&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { name: \"el-drawer-fade\" },\n on: { \"after-enter\": _vm.afterEnter, \"after-leave\": _vm.afterLeave }\n },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-drawer__wrapper\",\n attrs: { tabindex: \"-1\" }\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"el-drawer__container\",\n class: _vm.visible && \"el-drawer__open\",\n attrs: { role: \"document\", tabindex: \"-1\" },\n on: {\n click: function($event) {\n if ($event.target !== $event.currentTarget) {\n return null\n }\n return _vm.handleWrapperClick($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n ref: \"drawer\",\n staticClass: \"el-drawer\",\n class: [_vm.direction, _vm.customClass],\n style: _vm.isHorizontal\n ? \"width: \" + _vm.drawerSize\n : \"height: \" + _vm.drawerSize,\n attrs: {\n \"aria-modal\": \"true\",\n \"aria-labelledby\": \"el-drawer__title\",\n \"aria-label\": _vm.title,\n role: \"dialog\",\n tabindex: \"-1\"\n }\n },\n [\n _vm.withHeader\n ? _c(\n \"header\",\n {\n staticClass: \"el-drawer__header\",\n attrs: { id: \"el-drawer__title\" }\n },\n [\n _vm._t(\"title\", [\n _c(\n \"span\",\n { attrs: { role: \"heading\", title: _vm.title } },\n [_vm._v(_vm._s(_vm.title))]\n )\n ]),\n _vm.showClose\n ? _c(\n \"button\",\n {\n staticClass: \"el-drawer__close-btn\",\n attrs: {\n \"aria-label\":\n \"close \" + (_vm.title || \"drawer\"),\n type: \"button\"\n },\n on: { click: _vm.closeDrawer }\n },\n [\n _c(\"i\", {\n staticClass:\n \"el-dialog__close el-icon el-icon-close\"\n })\n ]\n )\n : _vm._e()\n ],\n 2\n )\n : _vm._e(),\n _vm.rendered\n ? _c(\n \"section\",\n { staticClass: \"el-drawer__body\" },\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e()\n ]\n )\n ]\n )\n ]\n )\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=template&id=a4885264&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/popup\"\nvar popup_ = __webpack_require__(13);\nvar popup_default = /*#__PURE__*/__webpack_require__.n(popup_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/drawer/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElDrawer',\n mixins: [popup_default.a, emitter_default.a],\n props: {\n appendToBody: {\n type: Boolean,\n default: false\n },\n beforeClose: {\n type: Function\n },\n customClass: {\n type: String,\n default: ''\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true\n },\n destroyOnClose: {\n type: Boolean,\n default: false\n },\n modal: {\n type: Boolean,\n default: true\n },\n direction: {\n type: String,\n default: 'rtl',\n validator: function validator(val) {\n return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1;\n }\n },\n modalAppendToBody: {\n type: Boolean,\n default: true\n },\n showClose: {\n type: Boolean,\n default: true\n },\n size: {\n type: [Number, String],\n default: '30%'\n },\n title: {\n type: String,\n default: ''\n },\n visible: {\n type: Boolean\n },\n wrapperClosable: {\n type: Boolean,\n default: true\n },\n withHeader: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n isHorizontal: function isHorizontal() {\n return this.direction === 'rtl' || this.direction === 'ltr';\n },\n drawerSize: function drawerSize() {\n return typeof this.size === 'number' ? this.size + 'px' : this.size;\n }\n },\n data: function data() {\n return {\n closed: false,\n prevActiveElement: null\n };\n },\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n this.closed = false;\n this.$emit('open');\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n this.prevActiveElement = document.activeElement;\n } else {\n if (!this.closed) {\n this.$emit('close');\n if (this.destroyOnClose === true) {\n this.rendered = false;\n }\n }\n this.$nextTick(function () {\n if (_this.prevActiveElement) {\n _this.prevActiveElement.focus();\n }\n });\n }\n }\n },\n methods: {\n afterEnter: function afterEnter() {\n this.$emit('opened');\n },\n afterLeave: function afterLeave() {\n this.$emit('closed');\n },\n hide: function hide(cancel) {\n if (cancel !== false) {\n this.$emit('update:visible', false);\n this.$emit('close');\n if (this.destroyOnClose === true) {\n this.rendered = false;\n }\n this.closed = true;\n }\n },\n handleWrapperClick: function handleWrapperClick() {\n if (this.wrapperClosable) {\n this.closeDrawer();\n }\n },\n closeDrawer: function closeDrawer() {\n if (typeof this.beforeClose === 'function') {\n this.beforeClose(this.hide);\n } else {\n this.hide();\n }\n },\n handleClose: function handleClose() {\n // This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true\n // pressing `ESC` will call this method, and also close the drawer.\n // This method also calls `beforeClose` if there was one.\n this.closeDrawer();\n }\n },\n mounted: function mounted() {\n if (this.visible) {\n this.rendered = true;\n this.open();\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n }\n },\n destroyed: function destroyed() {\n // if appendToBody is true, remove DOM node after destroy\n if (this.appendToBody && this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/drawer/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/drawer/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/drawer/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/drawer/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var drawer = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 13:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/popup\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ })\n\n/******/ });","const EVENT_TYPE = { ALL: 0, SELECTED: 1, HIGHLIGHTED: 2, MOVE: 3 };\n\nconst SelectionEvent = function(eventTypeIn, identifiersIn) {\n this.eventType = eventTypeIn;\n this.identifiers = identifiersIn;\n}\n\nconst returnFullID = function(sourceId) {\n //return full annotations with all different name\n}\n \nconst Subscription = function(subscriberIn, callbackIn, eventType) {\n this.targetedID = [];\n const subscriber = subscriberIn;\n const callback = callbackIn;\n this.targetEventType = eventType;\n const _this = this;\n\n if (eventType === undefined)\n this.targetEventType = EVENT_TYPE.ALL;\n \n this.getEventType = function() {\n return eventType;\n }\n \n this.notify = function(source, eventType, ids) {\n if (source !== subscriber && (_this.targetEventType === EVENT_TYPE.ALL ||\n _this.targetEventType === eventType)) {\n //should support different type of id e.g lyph, name, fmas...\n //need a function that finds all relavant ids\n const event = new SelectionEvent(eventType, ids);\n callback(event);\n }\n }\n}\n\nexports.EventNotifier = function() {\n const subscriptions = [];\n \n this.publish = function(source, eventType, id) {\n for (let i = 0; i < subscriptions.length;i++) {\n subscriptions[i].notify(source, eventType, id);\n }\n }\n \n this.subscribe = function(subscriber, callbackFunction, eventType) {\n if (typeof callbackFunction === \"function\") {\n const subscription = new Subscription(subscriber, callbackFunction, eventType);\n subscriptions.push(subscription);\n return subscription;\n }\n return undefined;\n }\n \n this.unsubscribe = function(subscription) {\n for (let i = 0; i < subscriptions.length;i++) {\n if (subscription === subscriptions[i]) {\n subscriptions.splice(i, 1);\n return;\n }\n }\n }\n} \n\nexports.EVENT_TYPE = EVENT_TYPE;\n","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@soda/get-current-script\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = function (Vue) {\n\n /**\n * template\n *\n * @param {String} string\n * @param {Array} ...args\n * @return {String}\n */\n\n function template(string) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (args.length === 1 && _typeof(args[0]) === 'object') {\n args = args[0];\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n\n return string.replace(RE_NARGS, function (match, prefix, i, index) {\n var result = void 0;\n\n if (string[index - 1] === '{' && string[index + match.length] === '}') {\n return i;\n } else {\n result = (0, _util.hasOwn)(args, i) ? args[i] : null;\n if (result === null || result === undefined) {\n return '';\n }\n\n return result;\n }\n });\n }\n\n return template;\n};\n\nvar _util = require('element-ui/lib/utils/util');\n\nvar RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n/**\n * String format template\n * - Inspired:\n * https://github.com/Matt-Esch/string-template/index.js\n */","module.exports = require(\"resize-observer-polyfill\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 102);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 102:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"i\", { class: \"el-icon-\" + _vm.name })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=template&id=cb3fe7f4&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/icon/src/icon.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n\n/* harmony default export */ var iconvue_type_script_lang_js_ = ({\n name: 'ElIcon',\n\n props: {\n name: String\n }\n});\n// CONCATENATED MODULE: ./packages/icon/src/icon.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_iconvue_type_script_lang_js_ = (iconvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/icon/src/icon.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_iconvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/icon/src/icon.vue\"\n/* harmony default export */ var icon = (component.exports);\n// CONCATENATED MODULE: ./packages/icon/index.js\n\n\n/* istanbul ignore next */\nicon.install = function (Vue) {\n Vue.component(icon.name, icon);\n};\n\n/* harmony default export */ var packages_icon = __webpack_exports__[\"default\"] = (icon);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.isDefined = exports.isUndefined = exports.isFunction = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isHtmlElement = isHtmlElement;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isString(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n}\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nfunction isHtmlElement(node) {\n return node && node.nodeType === Node.ELEMENT_NODE;\n}\n\n/**\n * - Inspired:\n * https://github.com/jashkenas/underscore/blob/master/modules/isFunction.js\n */\nvar isFunction = function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n};\n\nif (typeof /./ !== 'function' && (typeof Int8Array === 'undefined' ? 'undefined' : _typeof(Int8Array)) !== 'object' && (_vue2.default.prototype.$isServer || typeof document.childNodes !== 'function')) {\n exports.isFunction = isFunction = function isFunction(obj) {\n return typeof obj === 'function' || false;\n };\n}\n\nexports.isFunction = isFunction;\nvar isUndefined = exports.isUndefined = function isUndefined(val) {\n return val === void 0;\n};\n\nvar isDefined = exports.isDefined = function isDefined(val) {\n return val !== undefined && val !== null;\n};","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=style&index=0&id=b9fa59b4&scoped=true&lang=scss&\"","'use strict';\n\nexports.__esModule = true;\nexports.default = {\n el: {\n colorpicker: {\n confirm: 'OK',\n clear: 'Clear'\n },\n datepicker: {\n now: 'Now',\n today: 'Today',\n cancel: 'Cancel',\n clear: 'Clear',\n confirm: 'OK',\n selectDate: 'Select date',\n selectTime: 'Select time',\n startDate: 'Start Date',\n startTime: 'Start Time',\n endDate: 'End Date',\n endTime: 'End Time',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n year: '',\n month1: 'January',\n month2: 'February',\n month3: 'March',\n month4: 'April',\n month5: 'May',\n month6: 'June',\n month7: 'July',\n month8: 'August',\n month9: 'September',\n month10: 'October',\n month11: 'November',\n month12: 'December',\n week: 'week',\n weeks: {\n sun: 'Sun',\n mon: 'Mon',\n tue: 'Tue',\n wed: 'Wed',\n thu: 'Thu',\n fri: 'Fri',\n sat: 'Sat'\n },\n months: {\n jan: 'Jan',\n feb: 'Feb',\n mar: 'Mar',\n apr: 'Apr',\n may: 'May',\n jun: 'Jun',\n jul: 'Jul',\n aug: 'Aug',\n sep: 'Sep',\n oct: 'Oct',\n nov: 'Nov',\n dec: 'Dec'\n }\n },\n select: {\n loading: 'Loading',\n noMatch: 'No matching data',\n noData: 'No data',\n placeholder: 'Select'\n },\n cascader: {\n noMatch: 'No matching data',\n loading: 'Loading',\n placeholder: 'Select',\n noData: 'No data'\n },\n pagination: {\n goto: 'Go to',\n pagesize: '/page',\n total: 'Total {total}',\n pageClassifier: ''\n },\n messagebox: {\n title: 'Message',\n confirm: 'OK',\n cancel: 'Cancel',\n error: 'Illegal input'\n },\n upload: {\n deleteTip: 'press delete to remove',\n delete: 'Delete',\n preview: 'Preview',\n continue: 'Continue'\n },\n table: {\n emptyText: 'No Data',\n confirmFilter: 'Confirm',\n resetFilter: 'Reset',\n clearFilter: 'All',\n sumText: 'Sum'\n },\n tree: {\n emptyText: 'No Data'\n },\n transfer: {\n noMatch: 'No matching data',\n noData: 'No data',\n titles: ['List 1', 'List 2'], // to be translated\n filterPlaceholder: 'Enter keyword', // to be translated\n noCheckedFormat: '{total} items', // to be translated\n hasCheckedFormat: '{checked}/{total} checked' // to be translated\n },\n image: {\n error: 'FAILED'\n },\n pageHeader: {\n title: 'Back' // to be translated\n },\n popconfirm: {\n confirmButtonText: 'Yes',\n cancelButtonText: 'No'\n },\n empty: {\n description: 'No Data'\n }\n }\n};","module.exports = require(\"core-js/modules/web.url.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 138);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 138:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./packages/col/src/col.js\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/* harmony default export */ var col = ({\n name: 'ElCol',\n\n props: {\n span: {\n type: Number,\n default: 24\n },\n tag: {\n type: String,\n default: 'div'\n },\n offset: Number,\n pull: Number,\n push: Number,\n xs: [Number, Object],\n sm: [Number, Object],\n md: [Number, Object],\n lg: [Number, Object],\n xl: [Number, Object]\n },\n\n computed: {\n gutter: function gutter() {\n var parent = this.$parent;\n while (parent && parent.$options.componentName !== 'ElRow') {\n parent = parent.$parent;\n }\n return parent ? parent.gutter : 0;\n }\n },\n render: function render(h) {\n var _this = this;\n\n var classList = [];\n var style = {};\n\n if (this.gutter) {\n style.paddingLeft = this.gutter / 2 + 'px';\n style.paddingRight = style.paddingLeft;\n }\n\n ['span', 'offset', 'pull', 'push'].forEach(function (prop) {\n if (_this[prop] || _this[prop] === 0) {\n classList.push(prop !== 'span' ? 'el-col-' + prop + '-' + _this[prop] : 'el-col-' + _this[prop]);\n }\n });\n\n ['xs', 'sm', 'md', 'lg', 'xl'].forEach(function (size) {\n if (typeof _this[size] === 'number') {\n classList.push('el-col-' + size + '-' + _this[size]);\n } else if (_typeof(_this[size]) === 'object') {\n var props = _this[size];\n Object.keys(props).forEach(function (prop) {\n classList.push(prop !== 'span' ? 'el-col-' + size + '-' + prop + '-' + props[prop] : 'el-col-' + size + '-' + props[prop]);\n });\n }\n });\n\n return h(this.tag, {\n class: ['el-col', classList],\n style: style\n }, this.$slots.default);\n }\n});\n// CONCATENATED MODULE: ./packages/col/index.js\n\n\n/* istanbul ignore next */\ncol.install = function (Vue) {\n Vue.component(col.name, col);\n};\n\n/* harmony default export */ var packages_col = __webpack_exports__[\"default\"] = (col);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (instance, callback) {\n var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!instance || !callback) throw new Error('instance & callback is required');\n var called = false;\n var afterLeaveCallback = function afterLeaveCallback() {\n if (called) return;\n called = true;\n if (callback) {\n callback.apply(null, arguments);\n }\n };\n if (once) {\n instance.$once('after-leave', afterLeaveCallback);\n } else {\n instance.$on('after-leave', afterLeaveCallback);\n }\n setTimeout(function () {\n afterLeaveCallback();\n }, speed + 100);\n};\n\n; /**\n * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers.\n *\n * @param {Vue} instance Vue instance.\n * @param {Function} callback callback of after-leave event\n * @param {Number} speed the speed of transition, default value is 300ms\n * @param {Boolean} once weather bind after-leave once. default value is false.\n */","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 118);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 118:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=template&id=2a3a7406&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"main\", { staticClass: \"el-main\" }, [_vm._t(\"default\")], 2)\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=template&id=2a3a7406&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/main.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var mainvue_type_script_lang_js_ = ({\n name: 'ElMain',\n componentName: 'ElMain'\n});\n// CONCATENATED MODULE: ./packages/main/src/main.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_mainvue_type_script_lang_js_ = (mainvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/main/src/main.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_mainvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/main/src/main.vue\"\n/* harmony default export */ var main = (component.exports);\n// CONCATENATED MODULE: ./packages/main/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var packages_main = __webpack_exports__[\"default\"] = (main);\n\n/***/ })\n\n/******/ });","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.number.to-fixed.js\");","/**\n * @author alteredq / http://alteredqualia.com/\n * @author mr.doob / http://mrdoob.com/\n */\n\nexports.WEBGL = {\n\n\tisWebGLAvailable: function () {\n\n\t\ttry {\n\n\t\t\tvar canvas = document.createElement( 'canvas' );\n\t\t\treturn !! ( window.WebGLRenderingContext && ( canvas.getContext( 'webgl' ) || canvas.getContext( 'experimental-webgl' ) ) );\n\n\t\t} catch ( e ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t},\n\n\tisWebGL2Available: function () {\n\n\t\ttry {\n\n\t\t\tvar canvas = document.createElement( 'canvas' );\n\t\t\treturn !! ( window.WebGL2RenderingContext && canvas.getContext( 'webgl2' ) );\n\n\t\t} catch ( e ) {\n\n\t\t\treturn false;\n\n\t\t}\n\n\t},\n\n\tgetWebGLErrorMessage: function () {\n\n\t\treturn this.getErrorMessage( 1 );\n\n\t},\n\n\tgetWebGL2ErrorMessage: function () {\n\n\t\treturn this.getErrorMessage( 2 );\n\n\t},\n\n\tgetErrorMessage: function ( version ) {\n\n\t\tvar names = {\n\t\t\t1: 'WebGL',\n\t\t\t2: 'WebGL 2'\n\t\t};\n\n\t\tvar contexts = {\n\t\t\t1: window.WebGLRenderingContext,\n\t\t\t2: window.WebGL2RenderingContext\n\t\t};\n\n\t\tvar message = 'This module requires <a href=\"http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation\" style=\"color:#008\">$1</a> support but your $0 does not seem to support it.';\n\n\t\tvar element = document.createElement( 'div' );\n\t\telement.id = 'webglmessage';\n\t\telement.style.fontFamily = 'monospace';\n\t\telement.style.fontSize = '20px';\n\t\telement.style.fontWeight = 'normal';\n\t\telement.style.textAlign = 'center';\n\t\telement.style.background = '#fff';\n\t\telement.style.color = '#000';\n\t\telement.style.padding = '1.5em';\n\t\telement.style.width = '400px';\n\t\telement.style.margin = '5em auto 0';\n\n\t\tif ( contexts[ version ] ) {\n\n\t\t\tmessage = message.replace( '$0', 'graphics card' );\n\n\t\t} else {\n\n\t\t\tmessage = message.replace( '$0', 'browser' );\n\n\t\t}\n\n\t\tmessage = message.replace( '$1', names[ version ] );\n\n\t\telement.innerHTML = message;\n\n\t\treturn element;\n\n\t}\n\n};\n","\"use strict\";\n\nexports.__esModule = true;\nfunction _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n var name = child.$options.componentName;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\nexports.default = {\n methods: {\n dispatch: function dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast: function broadcast(componentName, eventName, params) {\n _broadcast.call(this, componentName, eventName, params);\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.isDef = isDef;\nexports.isKorean = isKorean;\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\nfunction isKorean(text) {\n var reg = /([(\\uAC00-\\uD7AF)|(\\u3130-\\u318F)])+/gi;\n return reg.test(text);\n}","function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","module.exports = require(\"deepmerge\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.error.cause.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 90);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 90:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"label\",\n {\n staticClass: \"el-checkbox\",\n class: [\n _vm.border && _vm.checkboxSize\n ? \"el-checkbox--\" + _vm.checkboxSize\n : \"\",\n { \"is-disabled\": _vm.isDisabled },\n { \"is-bordered\": _vm.border },\n { \"is-checked\": _vm.isChecked }\n ],\n attrs: { id: _vm.id }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"el-checkbox__input\",\n class: {\n \"is-disabled\": _vm.isDisabled,\n \"is-checked\": _vm.isChecked,\n \"is-indeterminate\": _vm.indeterminate,\n \"is-focus\": _vm.focus\n },\n attrs: {\n tabindex: _vm.indeterminate ? 0 : false,\n role: _vm.indeterminate ? \"checkbox\" : false,\n \"aria-checked\": _vm.indeterminate ? \"mixed\" : false\n }\n },\n [\n _c(\"span\", { staticClass: \"el-checkbox__inner\" }),\n _vm.trueLabel || _vm.falseLabel\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n name: _vm.name,\n disabled: _vm.isDisabled,\n \"true-value\": _vm.trueLabel,\n \"false-value\": _vm.falseLabel\n },\n domProps: {\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, null) > -1\n : _vm._q(_vm.model, _vm.trueLabel)\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? _vm.trueLabel : _vm.falseLabel\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n : _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.model,\n expression: \"model\"\n }\n ],\n staticClass: \"el-checkbox__original\",\n attrs: {\n type: \"checkbox\",\n \"aria-hidden\": _vm.indeterminate ? \"true\" : \"false\",\n disabled: _vm.isDisabled,\n name: _vm.name\n },\n domProps: {\n value: _vm.label,\n checked: Array.isArray(_vm.model)\n ? _vm._i(_vm.model, _vm.label) > -1\n : _vm.model\n },\n on: {\n change: [\n function($event) {\n var $$a = _vm.model,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.label,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.model = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.model = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.model = $$c\n }\n },\n _vm.handleChange\n ],\n focus: function($event) {\n _vm.focus = true\n },\n blur: function($event) {\n _vm.focus = false\n }\n }\n })\n ]\n ),\n _vm.$slots.default || _vm.label\n ? _c(\n \"span\",\n { staticClass: \"el-checkbox__label\" },\n [\n _vm._t(\"default\"),\n !_vm.$slots.default ? [_vm._v(_vm._s(_vm.label))] : _vm._e()\n ],\n 2\n )\n : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=template&id=d0387074&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var checkboxvue_type_script_lang_js_ = ({\n name: 'ElCheckbox',\n\n mixins: [emitter_default.a],\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n componentName: 'ElCheckbox',\n\n data: function data() {\n return {\n selfModel: false,\n focus: false,\n isLimitExceeded: false\n };\n },\n\n\n computed: {\n model: {\n get: function get() {\n return this.isGroup ? this.store : this.value !== undefined ? this.value : this.selfModel;\n },\n set: function set(val) {\n if (this.isGroup) {\n this.isLimitExceeded = false;\n this._checkboxGroup.min !== undefined && val.length < this._checkboxGroup.min && (this.isLimitExceeded = true);\n\n this._checkboxGroup.max !== undefined && val.length > this._checkboxGroup.max && (this.isLimitExceeded = true);\n\n this.isLimitExceeded === false && this.dispatch('ElCheckboxGroup', 'input', [val]);\n } else {\n this.$emit('input', val);\n this.selfModel = val;\n }\n }\n },\n\n isChecked: function isChecked() {\n if ({}.toString.call(this.model) === '[object Boolean]') {\n return this.model;\n } else if (Array.isArray(this.model)) {\n return this.model.indexOf(this.label) > -1;\n } else if (this.model !== null && this.model !== undefined) {\n return this.model === this.trueLabel;\n }\n },\n isGroup: function isGroup() {\n var parent = this.$parent;\n while (parent) {\n if (parent.$options.componentName !== 'ElCheckboxGroup') {\n parent = parent.$parent;\n } else {\n this._checkboxGroup = parent;\n return true;\n }\n }\n return false;\n },\n store: function store() {\n return this._checkboxGroup ? this._checkboxGroup.value : this.value;\n },\n\n\n /* used to make the isDisabled judgment under max/min props */\n isLimitDisabled: function isLimitDisabled() {\n var _checkboxGroup = this._checkboxGroup,\n max = _checkboxGroup.max,\n min = _checkboxGroup.min;\n\n return !!(max || min) && this.model.length >= max && !this.isChecked || this.model.length <= min && this.isChecked;\n },\n isDisabled: function isDisabled() {\n return this.isGroup ? this._checkboxGroup.disabled || this.disabled || (this.elForm || {}).disabled || this.isLimitDisabled : this.disabled || (this.elForm || {}).disabled;\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n checkboxSize: function checkboxSize() {\n var temCheckboxSize = this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n return this.isGroup ? this._checkboxGroup.checkboxGroupSize || temCheckboxSize : temCheckboxSize;\n }\n },\n\n props: {\n value: {},\n label: {},\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: String,\n trueLabel: [String, Number],\n falseLabel: [String, Number],\n id: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/\n controls: String, /* 当indeterminate为真时,为controls提供相关连的checkbox的id,表明元素间的控制关系*/\n border: Boolean,\n size: String\n },\n\n methods: {\n addToStore: function addToStore() {\n if (Array.isArray(this.model) && this.model.indexOf(this.label) === -1) {\n this.model.push(this.label);\n } else {\n this.model = this.trueLabel || true;\n }\n },\n handleChange: function handleChange(ev) {\n var _this = this;\n\n if (this.isLimitExceeded) return;\n var value = void 0;\n if (ev.target.checked) {\n value = this.trueLabel === undefined ? true : this.trueLabel;\n } else {\n value = this.falseLabel === undefined ? false : this.falseLabel;\n }\n this.$emit('change', value, ev);\n this.$nextTick(function () {\n if (_this.isGroup) {\n _this.dispatch('ElCheckboxGroup', 'change', [_this._checkboxGroup.value]);\n }\n });\n }\n },\n\n created: function created() {\n this.checked && this.addToStore();\n },\n mounted: function mounted() {\n // 为indeterminate元素 添加aria-controls 属性\n if (this.indeterminate) {\n this.$el.setAttribute('aria-controls', this.controls);\n }\n },\n\n\n watch: {\n value: function value(_value) {\n this.dispatch('ElFormItem', 'el.form.change', _value);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_checkboxvue_type_script_lang_js_ = (checkboxvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/checkbox/src/checkbox.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_checkboxvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/checkbox/src/checkbox.vue\"\n/* harmony default export */ var src_checkbox = (component.exports);\n// CONCATENATED MODULE: ./packages/checkbox/index.js\n\n\n/* istanbul ignore next */\nsrc_checkbox.install = function (Vue) {\n Vue.component(src_checkbox.name, src_checkbox);\n};\n\n/* harmony default export */ var packages_checkbox = __webpack_exports__[\"default\"] = (src_checkbox);\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 100);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 100:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return !_vm.lazy || _vm.loaded || _vm.active\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.active,\n expression: \"active\"\n }\n ],\n staticClass: \"el-tab-pane\",\n attrs: {\n role: \"tabpanel\",\n \"aria-hidden\": !_vm.active,\n id: \"pane-\" + _vm.paneName,\n \"aria-labelledby\": \"tab-\" + _vm.paneName\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=template&id=9145a070&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var tab_panevue_type_script_lang_js_ = ({\n name: 'ElTabPane',\n\n componentName: 'ElTabPane',\n\n props: {\n label: String,\n labelContent: Function,\n name: String,\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean\n },\n\n data: function data() {\n return {\n index: null,\n loaded: false\n };\n },\n\n\n computed: {\n isClosable: function isClosable() {\n return this.closable || this.$parent.closable;\n },\n active: function active() {\n var active = this.$parent.currentName === (this.name || this.index);\n if (active) {\n this.loaded = true;\n }\n return active;\n },\n paneName: function paneName() {\n return this.name || this.index;\n }\n },\n\n updated: function updated() {\n this.$parent.$emit('tab-nav-update');\n }\n});\n// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_tab_panevue_type_script_lang_js_ = (tab_panevue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/tabs/src/tab-pane.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_tab_panevue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/tabs/src/tab-pane.vue\"\n/* harmony default export */ var tab_pane = (component.exports);\n// CONCATENATED MODULE: ./packages/tab-pane/index.js\n\n\n/* istanbul ignore next */\ntab_pane.install = function (Vue) {\n Vue.component(tab_pane.name, tab_pane);\n};\n\n/* harmony default export */ var packages_tab_pane = __webpack_exports__[\"default\"] = (tab_pane);\n\n/***/ })\n\n/******/ });","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 86);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n\n/***/ 30:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);\n/* harmony import */ var element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n bind: function bind(el, binding, vnode) {\n var interval = null;\n var startTime = void 0;\n var handler = function handler() {\n return vnode.context[binding.expression].apply();\n };\n var clear = function clear() {\n if (Date.now() - startTime < 100) {\n handler();\n }\n clearInterval(interval);\n interval = null;\n };\n\n Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"on\"])(el, 'mousedown', function (e) {\n if (e.button !== 0) return;\n startTime = Date.now();\n Object(element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"once\"])(document, 'mouseup', clear);\n clearInterval(interval);\n interval = setInterval(handler, 100);\n });\n }\n});\n\n/***/ }),\n\n/***/ 86:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n \"el-input-number\",\n _vm.inputNumberSize ? \"el-input-number--\" + _vm.inputNumberSize : \"\",\n { \"is-disabled\": _vm.inputNumberDisabled },\n { \"is-without-controls\": !_vm.controls },\n { \"is-controls-right\": _vm.controlsAtRight }\n ],\n on: {\n dragstart: function($event) {\n $event.preventDefault()\n }\n }\n },\n [\n _vm.controls\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"repeat-click\",\n rawName: \"v-repeat-click\",\n value: _vm.decrease,\n expression: \"decrease\"\n }\n ],\n staticClass: \"el-input-number__decrease\",\n class: { \"is-disabled\": _vm.minDisabled },\n attrs: { role: \"button\" },\n on: {\n keydown: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.decrease($event)\n }\n }\n },\n [\n _c(\"i\", {\n class:\n \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-down\" : \"minus\")\n })\n ]\n )\n : _vm._e(),\n _vm.controls\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"repeat-click\",\n rawName: \"v-repeat-click\",\n value: _vm.increase,\n expression: \"increase\"\n }\n ],\n staticClass: \"el-input-number__increase\",\n class: { \"is-disabled\": _vm.maxDisabled },\n attrs: { role: \"button\" },\n on: {\n keydown: function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.increase($event)\n }\n }\n },\n [\n _c(\"i\", {\n class: \"el-icon-\" + (_vm.controlsAtRight ? \"arrow-up\" : \"plus\")\n })\n ]\n )\n : _vm._e(),\n _c(\"el-input\", {\n ref: \"input\",\n attrs: {\n value: _vm.displayValue,\n placeholder: _vm.placeholder,\n disabled: _vm.inputNumberDisabled,\n size: _vm.inputNumberSize,\n max: _vm.max,\n min: _vm.min,\n name: _vm.name,\n label: _vm.label\n },\n on: {\n blur: _vm.handleBlur,\n focus: _vm.handleFocus,\n input: _vm.handleInput,\n change: _vm.handleInputChange\n },\n nativeOn: {\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\"Up\", \"ArrowUp\"])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.increase($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.decrease($event)\n }\n ]\n }\n })\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=template&id=42f8cf66&\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(22);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: ./src/directives/repeat-click.js\nvar repeat_click = __webpack_require__(30);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ var input_numbervue_type_script_lang_js_ = ({\n name: 'ElInputNumber',\n mixins: [focus_default()('input')],\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n directives: {\n repeatClick: repeat_click[\"a\" /* default */]\n },\n components: {\n ElInput: input_default.a\n },\n props: {\n step: {\n type: Number,\n default: 1\n },\n stepStrictly: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: Infinity\n },\n min: {\n type: Number,\n default: -Infinity\n },\n value: {},\n disabled: Boolean,\n size: String,\n controls: {\n type: Boolean,\n default: true\n },\n controlsPosition: {\n type: String,\n default: ''\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: function validator(val) {\n return val >= 0 && val === parseInt(val, 10);\n }\n }\n },\n data: function data() {\n return {\n currentValue: 0,\n userInput: null\n };\n },\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(value) {\n var newVal = value === undefined ? value : Number(value);\n if (newVal !== undefined) {\n if (isNaN(newVal)) {\n return;\n }\n\n if (this.stepStrictly) {\n var stepPrecision = this.getPrecision(this.step);\n var precisionFactor = Math.pow(10, stepPrecision);\n newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor;\n }\n\n if (this.precision !== undefined) {\n newVal = this.toPrecision(newVal, this.precision);\n }\n }\n if (newVal >= this.max) newVal = this.max;\n if (newVal <= this.min) newVal = this.min;\n this.currentValue = newVal;\n this.userInput = null;\n this.$emit('input', newVal);\n }\n }\n },\n computed: {\n minDisabled: function minDisabled() {\n return this._decrease(this.value, this.step) < this.min;\n },\n maxDisabled: function maxDisabled() {\n return this._increase(this.value, this.step) > this.max;\n },\n numPrecision: function numPrecision() {\n var value = this.value,\n step = this.step,\n getPrecision = this.getPrecision,\n precision = this.precision;\n\n var stepPrecision = getPrecision(step);\n if (precision !== undefined) {\n if (stepPrecision > precision) {\n console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step');\n }\n return precision;\n } else {\n return Math.max(getPrecision(value), stepPrecision);\n }\n },\n controlsAtRight: function controlsAtRight() {\n return this.controls && this.controlsPosition === 'right';\n },\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n inputNumberSize: function inputNumberSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputNumberDisabled: function inputNumberDisabled() {\n return this.disabled || !!(this.elForm || {}).disabled;\n },\n displayValue: function displayValue() {\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n var currentValue = this.currentValue;\n\n if (typeof currentValue === 'number') {\n if (this.stepStrictly) {\n var stepPrecision = this.getPrecision(this.step);\n var precisionFactor = Math.pow(10, stepPrecision);\n currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor;\n }\n\n if (this.precision !== undefined) {\n currentValue = currentValue.toFixed(this.precision);\n }\n }\n\n return currentValue;\n }\n },\n methods: {\n toPrecision: function toPrecision(num, precision) {\n if (precision === undefined) precision = this.numPrecision;\n return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));\n },\n getPrecision: function getPrecision(value) {\n if (value === undefined) return 0;\n var valueString = value.toString();\n var dotPosition = valueString.indexOf('.');\n var precision = 0;\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1;\n }\n return precision;\n },\n _increase: function _increase(val, step) {\n if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n\n var precisionFactor = Math.pow(10, this.numPrecision);\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor);\n },\n _decrease: function _decrease(val, step) {\n if (typeof val !== 'number' && val !== undefined) return this.currentValue;\n\n var precisionFactor = Math.pow(10, this.numPrecision);\n\n return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor);\n },\n increase: function increase() {\n if (this.inputNumberDisabled || this.maxDisabled) return;\n var value = this.value || 0;\n var newVal = this._increase(value, this.step);\n this.setCurrentValue(newVal);\n },\n decrease: function decrease() {\n if (this.inputNumberDisabled || this.minDisabled) return;\n var value = this.value || 0;\n var newVal = this._decrease(value, this.step);\n this.setCurrentValue(newVal);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', event);\n },\n handleFocus: function handleFocus(event) {\n this.$emit('focus', event);\n },\n setCurrentValue: function setCurrentValue(newVal) {\n var oldVal = this.currentValue;\n if (typeof newVal === 'number' && this.precision !== undefined) {\n newVal = this.toPrecision(newVal, this.precision);\n }\n if (newVal >= this.max) newVal = this.max;\n if (newVal <= this.min) newVal = this.min;\n if (oldVal === newVal) return;\n this.userInput = null;\n this.$emit('input', newVal);\n this.$emit('change', newVal, oldVal);\n this.currentValue = newVal;\n },\n handleInput: function handleInput(value) {\n this.userInput = value;\n },\n handleInputChange: function handleInputChange(value) {\n var newVal = value === '' ? undefined : Number(value);\n if (!isNaN(newVal) || value === '') {\n this.setCurrentValue(newVal);\n }\n this.userInput = null;\n },\n select: function select() {\n this.$refs.input.select();\n }\n },\n mounted: function mounted() {\n var innerInput = this.$refs.input.$refs.input;\n innerInput.setAttribute('role', 'spinbutton');\n innerInput.setAttribute('aria-valuemax', this.max);\n innerInput.setAttribute('aria-valuemin', this.min);\n innerInput.setAttribute('aria-valuenow', this.currentValue);\n innerInput.setAttribute('aria-disabled', this.inputNumberDisabled);\n },\n updated: function updated() {\n if (!this.$refs || !this.$refs.input) return;\n var innerInput = this.$refs.input.$refs.input;\n innerInput.setAttribute('aria-valuenow', this.currentValue);\n }\n});\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_input_numbervue_type_script_lang_js_ = (input_numbervue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/input-number/src/input-number.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_input_numbervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/input-number/src/input-number.vue\"\n/* harmony default export */ var input_number = (component.exports);\n// CONCATENATED MODULE: ./packages/input-number/index.js\n\n\n/* istanbul ignore next */\ninput_number.install = function (Vue) {\n Vue.component(input_number.name, input_number);\n};\n\n/* harmony default export */ var packages_input_number = __webpack_exports__[\"default\"] = (input_number);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function () {\n if (_vue2.default.prototype.$isServer) return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n\n var outer = document.createElement('div');\n outer.className = 'el-scrollbar__wrap';\n outer.style.visibility = 'hidden';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n\n var widthNoScroll = outer.offsetWidth;\n outer.style.overflow = 'scroll';\n\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n\n var widthWithScroll = inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n scrollBarWidth = widthNoScroll - widthWithScroll;\n\n return scrollBarWidth;\n};\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollBarWidth = void 0;\n\n;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 53);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var _select2 = this.select,\n selected = _select2.selected,\n multiple = _select2.multiple;\n\n var selectedOptions = multiple ? selected : [selected];\n var index = this.select.cachedOptions.indexOf(this);\n var selectedIndex = selectedOptions.indexOf(this);\n\n // if option is not selected, remove it from cache\n if (index > -1 && selectedIndex < 0) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 53:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _select_src_option__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33);\n\n\n/* istanbul ignore next */\n_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].install = function (Vue) {\n Vue.component(_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"].name, _select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_select_src_option__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"]);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _popup = require('element-ui/lib/utils/popup');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopperJS = _vue2.default.prototype.$isServer ? function () {} : require('./popper');\nvar stop = function stop(e) {\n return e.stopPropagation();\n};\n\n/**\n * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.\n * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)\n * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).\n * @param {Boolean} [visible=false] Visibility of the popup element.\n * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.\n */\nexports.default = {\n props: {\n transformOrigin: {\n type: [Boolean, String],\n default: true\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: {},\n popper: {},\n offset: {\n default: 0\n },\n value: Boolean,\n visibleArrow: Boolean,\n arrowOffset: {\n type: Number,\n default: 35\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n }\n },\n\n data: function data() {\n return {\n showPopper: false,\n currentPlacement: ''\n };\n },\n\n\n watch: {\n value: {\n immediate: true,\n handler: function handler(val) {\n this.showPopper = val;\n this.$emit('input', val);\n }\n },\n\n showPopper: function showPopper(val) {\n if (this.disabled) return;\n val ? this.updatePopper() : this.destroyPopper();\n this.$emit('input', val);\n }\n },\n\n methods: {\n createPopper: function createPopper() {\n var _this = this;\n\n if (this.$isServer) return;\n this.currentPlacement = this.currentPlacement || this.placement;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {\n return;\n }\n\n var options = this.popperOptions;\n var popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;\n var reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;\n\n if (!reference && this.$slots.reference && this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n\n if (!popper || !reference) return;\n if (this.visibleArrow) this.appendArrow(popper);\n if (this.appendToBody) document.body.appendChild(this.popperElm);\n if (this.popperJS && this.popperJS.destroy) {\n this.popperJS.destroy();\n }\n\n options.placement = this.currentPlacement;\n options.offset = this.offset;\n options.arrowOffset = this.arrowOffset;\n this.popperJS = new PopperJS(reference, popper, options);\n this.popperJS.onCreate(function (_) {\n _this.$emit('created', _this);\n _this.resetTransformOrigin();\n _this.$nextTick(_this.updatePopper);\n });\n if (typeof options.onUpdate === 'function') {\n this.popperJS.onUpdate(options.onUpdate);\n }\n this.popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n this.popperElm.addEventListener('click', stop);\n },\n updatePopper: function updatePopper() {\n var popperJS = this.popperJS;\n if (popperJS) {\n popperJS.update();\n if (popperJS._popper) {\n popperJS._popper.style.zIndex = _popup.PopupManager.nextZIndex();\n }\n } else {\n this.createPopper();\n }\n },\n doDestroy: function doDestroy(forceDestroy) {\n /* istanbul ignore if */\n if (!this.popperJS || this.showPopper && !forceDestroy) return;\n this.popperJS.destroy();\n this.popperJS = null;\n },\n destroyPopper: function destroyPopper() {\n if (this.popperJS) {\n this.resetTransformOrigin();\n }\n },\n resetTransformOrigin: function resetTransformOrigin() {\n if (!this.transformOrigin) return;\n var placementMap = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n };\n var placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0];\n var origin = placementMap[placement];\n this.popperJS._popper.style.transformOrigin = typeof this.transformOrigin === 'string' ? this.transformOrigin : ['top', 'bottom'].indexOf(placement) > -1 ? 'center ' + origin : origin + ' center';\n },\n appendArrow: function appendArrow(element) {\n var hash = void 0;\n if (this.appended) {\n return;\n }\n\n this.appended = true;\n\n for (var item in element.attributes) {\n if (/^_v-/.test(element.attributes[item].name)) {\n hash = element.attributes[item].name;\n break;\n }\n }\n\n var arrow = document.createElement('div');\n\n if (hash) {\n arrow.setAttribute(hash, '');\n }\n arrow.setAttribute('x-arrow', '');\n arrow.className = 'popper__arrow';\n element.appendChild(arrow);\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.doDestroy(true);\n if (this.popperElm && this.popperElm.parentNode === document.body) {\n this.popperElm.removeEventListener('click', stop);\n document.body.removeChild(this.popperElm);\n }\n },\n\n\n // call destroy in keep-alive mode\n deactivated: function deactivated() {\n this.$options.beforeDestroy[0].call(this);\n }\n};","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"core-js/modules/es.object.keys.js\");","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 95);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 95:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"button\",\n {\n staticClass: \"el-button\",\n class: [\n _vm.type ? \"el-button--\" + _vm.type : \"\",\n _vm.buttonSize ? \"el-button--\" + _vm.buttonSize : \"\",\n {\n \"is-disabled\": _vm.buttonDisabled,\n \"is-loading\": _vm.loading,\n \"is-plain\": _vm.plain,\n \"is-round\": _vm.round,\n \"is-circle\": _vm.circle\n }\n ],\n attrs: {\n disabled: _vm.buttonDisabled || _vm.loading,\n autofocus: _vm.autofocus,\n type: _vm.nativeType\n },\n on: { click: _vm.handleClick }\n },\n [\n _vm.loading ? _c(\"i\", { staticClass: \"el-icon-loading\" }) : _vm._e(),\n _vm.icon && !_vm.loading ? _c(\"i\", { class: _vm.icon }) : _vm._e(),\n _vm.$slots.default ? _c(\"span\", [_vm._t(\"default\")], 2) : _vm._e()\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=template&id=ca859fb4&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/button/src/button.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var buttonvue_type_script_lang_js_ = ({\n name: 'ElButton',\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n props: {\n type: {\n type: String,\n default: 'default'\n },\n size: String,\n icon: {\n type: String,\n default: ''\n },\n nativeType: {\n type: String,\n default: 'button'\n },\n loading: Boolean,\n disabled: Boolean,\n plain: Boolean,\n autofocus: Boolean,\n round: Boolean,\n circle: Boolean\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n buttonSize: function buttonSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n buttonDisabled: function buttonDisabled() {\n return this.$options.propsData.hasOwnProperty('disabled') ? this.disabled : (this.elForm || {}).disabled;\n }\n },\n\n methods: {\n handleClick: function handleClick(evt) {\n this.$emit('click', evt);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/button/src/button.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_buttonvue_type_script_lang_js_ = (buttonvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/button/src/button.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_buttonvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/button/src/button.vue\"\n/* harmony default export */ var src_button = (component.exports);\n// CONCATENATED MODULE: ./packages/button/index.js\n\n\n/* istanbul ignore next */\nsrc_button.install = function (Vue) {\n Vue.component(src_button.name, src_button);\n};\n\n/* harmony default export */ var packages_button = __webpack_exports__[\"default\"] = (src_button);\n\n/***/ })\n\n/******/ });","'use strict';\n\nexports.__esModule = true;\nexports.default = {\n el: {\n colorpicker: {\n confirm: '确定',\n clear: '清空'\n },\n datepicker: {\n now: '此刻',\n today: '今天',\n cancel: '取消',\n clear: '清空',\n confirm: '确定',\n selectDate: '选择日期',\n selectTime: '选择时间',\n startDate: '开始日期',\n startTime: '开始时间',\n endDate: '结束日期',\n endTime: '结束时间',\n prevYear: '前一年',\n nextYear: '后一年',\n prevMonth: '上个月',\n nextMonth: '下个月',\n year: '年',\n month1: '1 月',\n month2: '2 月',\n month3: '3 月',\n month4: '4 月',\n month5: '5 月',\n month6: '6 月',\n month7: '7 月',\n month8: '8 月',\n month9: '9 月',\n month10: '10 月',\n month11: '11 月',\n month12: '12 月',\n // week: '周次',\n weeks: {\n sun: '日',\n mon: '一',\n tue: '二',\n wed: '三',\n thu: '四',\n fri: '五',\n sat: '六'\n },\n months: {\n jan: '一月',\n feb: '二月',\n mar: '三月',\n apr: '四月',\n may: '五月',\n jun: '六月',\n jul: '七月',\n aug: '八月',\n sep: '九月',\n oct: '十月',\n nov: '十一月',\n dec: '十二月'\n }\n },\n select: {\n loading: '加载中',\n noMatch: '无匹配数据',\n noData: '无数据',\n placeholder: '请选择'\n },\n cascader: {\n noMatch: '无匹配数据',\n loading: '加载中',\n placeholder: '请选择',\n noData: '暂无数据'\n },\n pagination: {\n goto: '前往',\n pagesize: '条/页',\n total: '共 {total} 条',\n pageClassifier: '页'\n },\n messagebox: {\n title: '提示',\n confirm: '确定',\n cancel: '取消',\n error: '输入的数据不合法!'\n },\n upload: {\n deleteTip: '按 delete 键可删除',\n delete: '删除',\n preview: '查看图片',\n continue: '继续上传'\n },\n table: {\n emptyText: '暂无数据',\n confirmFilter: '筛选',\n resetFilter: '重置',\n clearFilter: '全部',\n sumText: '合计'\n },\n tree: {\n emptyText: '暂无数据'\n },\n transfer: {\n noMatch: '无匹配数据',\n noData: '无数据',\n titles: ['列表 1', '列表 2'],\n filterPlaceholder: '请输入搜索内容',\n noCheckedFormat: '共 {total} 项',\n hasCheckedFormat: '已选 {checked}/{total} 项'\n },\n image: {\n error: '加载失败'\n },\n pageHeader: {\n title: '返回'\n },\n popconfirm: {\n confirmButtonText: '确定',\n cancelButtonText: '取消'\n },\n empty: {\n description: '暂无数据'\n }\n }\n};","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 74);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\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\nfunction 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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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 () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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 functioal 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 74:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n _vm.type === \"textarea\" ? \"el-textarea\" : \"el-input\",\n _vm.inputSize ? \"el-input--\" + _vm.inputSize : \"\",\n {\n \"is-disabled\": _vm.inputDisabled,\n \"is-exceed\": _vm.inputExceed,\n \"el-input-group\": _vm.$slots.prepend || _vm.$slots.append,\n \"el-input-group--append\": _vm.$slots.append,\n \"el-input-group--prepend\": _vm.$slots.prepend,\n \"el-input--prefix\": _vm.$slots.prefix || _vm.prefixIcon,\n \"el-input--suffix\":\n _vm.$slots.suffix ||\n _vm.suffixIcon ||\n _vm.clearable ||\n _vm.showPassword\n }\n ],\n on: {\n mouseenter: function($event) {\n _vm.hovering = true\n },\n mouseleave: function($event) {\n _vm.hovering = false\n }\n }\n },\n [\n _vm.type !== \"textarea\"\n ? [\n _vm.$slots.prepend\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__prepend\" },\n [_vm._t(\"prepend\")],\n 2\n )\n : _vm._e(),\n _vm.type !== \"textarea\"\n ? _c(\n \"input\",\n _vm._b(\n {\n ref: \"input\",\n staticClass: \"el-input__inner\",\n attrs: {\n tabindex: _vm.tabindex,\n type: _vm.showPassword\n ? _vm.passwordVisible\n ? \"text\"\n : \"password\"\n : _vm.type,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _vm._e(),\n _vm.$slots.prefix || _vm.prefixIcon\n ? _c(\n \"span\",\n { staticClass: \"el-input__prefix\" },\n [\n _vm._t(\"prefix\"),\n _vm.prefixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.prefixIcon\n })\n : _vm._e()\n ],\n 2\n )\n : _vm._e(),\n _vm.getSuffixVisible()\n ? _c(\"span\", { staticClass: \"el-input__suffix\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__suffix-inner\" },\n [\n !_vm.showClear ||\n !_vm.showPwdVisible ||\n !_vm.isWordLimitVisible\n ? [\n _vm._t(\"suffix\"),\n _vm.suffixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.suffixIcon\n })\n : _vm._e()\n ]\n : _vm._e(),\n _vm.showClear\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-circle-close el-input__clear\",\n on: {\n mousedown: function($event) {\n $event.preventDefault()\n },\n click: _vm.clear\n }\n })\n : _vm._e(),\n _vm.showPwdVisible\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-view el-input__clear\",\n on: { click: _vm.handlePasswordVisible }\n })\n : _vm._e(),\n _vm.isWordLimitVisible\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__count-inner\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.textLength) +\n \"/\" +\n _vm._s(_vm.upperLimit) +\n \"\\n \"\n )\n ]\n )\n ])\n : _vm._e()\n ],\n 2\n ),\n _vm.validateState\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: [\"el-input__validateIcon\", _vm.validateIcon]\n })\n : _vm._e()\n ])\n : _vm._e(),\n _vm.$slots.append\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__append\" },\n [_vm._t(\"append\")],\n 2\n )\n : _vm._e()\n ]\n : _c(\n \"textarea\",\n _vm._b(\n {\n ref: \"textarea\",\n staticClass: \"el-textarea__inner\",\n style: _vm.textareaStyle,\n attrs: {\n tabindex: _vm.tabindex,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm.isWordLimitVisible && _vm.type === \"textarea\"\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _vm._v(_vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit))\n ])\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(11);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\nvar hiddenTextarea = void 0;\n\nvar HIDDEN_STYLE = '\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nfunction calculateNodeStyling(targetElement) {\n var style = window.getComputedStyle(targetElement);\n\n var boxSizing = style.getPropertyValue('box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var contextStyle = CONTEXT_STYLE.map(function (name) {\n return name + ':' + style.getPropertyValue(name);\n }).join(';');\n\n return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing };\n}\n\nfunction calcTextareaHeight(targetElement) {\n var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n var _calculateNodeStyling = calculateNodeStyling(targetElement),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n contextStyle = _calculateNodeStyling.contextStyle;\n\n hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE);\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n var height = hiddenTextarea.scrollHeight;\n var result = {};\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n hiddenTextarea.value = '';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n var minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n result.minHeight = minHeight + 'px';\n }\n if (maxRows !== null) {\n var maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n result.height = height + 'px';\n hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n hiddenTextarea = null;\n return result;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ var inputvue_type_script_lang_js_ = ({\n name: 'ElInput',\n\n componentName: 'ElInput',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n inheritAttrs: false,\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n data: function data() {\n return {\n textareaCalcStyle: {},\n hovering: false,\n focused: false,\n isComposing: false,\n passwordVisible: false\n };\n },\n\n\n props: {\n value: [String, Number],\n size: String,\n resize: String,\n form: String,\n disabled: Boolean,\n readonly: Boolean,\n type: {\n type: String,\n default: 'text'\n },\n autosize: {\n type: [Boolean, Object],\n default: false\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n validateEvent: {\n type: Boolean,\n default: true\n },\n suffixIcon: String,\n prefixIcon: String,\n label: String,\n clearable: {\n type: Boolean,\n default: false\n },\n showPassword: {\n type: Boolean,\n default: false\n },\n showWordLimit: {\n type: Boolean,\n default: false\n },\n tabindex: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n validateState: function validateState() {\n return this.elFormItem ? this.elFormItem.validateState : '';\n },\n needStatusIcon: function needStatusIcon() {\n return this.elForm ? this.elForm.statusIcon : false;\n },\n validateIcon: function validateIcon() {\n return {\n validating: 'el-icon-loading',\n success: 'el-icon-circle-check',\n error: 'el-icon-circle-close'\n }[this.validateState];\n },\n textareaStyle: function textareaStyle() {\n return merge_default()({}, this.textareaCalcStyle, { resize: this.resize });\n },\n inputSize: function inputSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputDisabled: function inputDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n nativeInputValue: function nativeInputValue() {\n return this.value === null || this.value === undefined ? '' : String(this.value);\n },\n showClear: function showClear() {\n return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering);\n },\n showPwdVisible: function showPwdVisible() {\n return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused);\n },\n isWordLimitVisible: function isWordLimitVisible() {\n return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword;\n },\n upperLimit: function upperLimit() {\n return this.$attrs.maxlength;\n },\n textLength: function textLength() {\n if (typeof this.value === 'number') {\n return String(this.value).length;\n }\n\n return (this.value || '').length;\n },\n inputExceed: function inputExceed() {\n // show exceed style if length of initial value greater then maxlength\n return this.isWordLimitVisible && this.textLength > this.upperLimit;\n }\n },\n\n watch: {\n value: function value(val) {\n this.$nextTick(this.resizeTextarea);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.change', [val]);\n }\n },\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n nativeInputValue: function nativeInputValue() {\n this.setNativeInputValue();\n },\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n type: function type() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setNativeInputValue();\n _this.resizeTextarea();\n _this.updateIconOffset();\n });\n }\n },\n\n methods: {\n focus: function focus() {\n this.getInput().focus();\n },\n blur: function blur() {\n this.getInput().blur();\n },\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'icon': 'icon is removed, use suffix-icon / prefix-icon instead.',\n 'on-icon-click': 'on-icon-click is removed.'\n },\n events: {\n 'click': 'click is removed.'\n }\n };\n },\n handleBlur: function handleBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.blur', [this.value]);\n }\n },\n select: function select() {\n this.getInput().select();\n },\n resizeTextarea: function resizeTextarea() {\n if (this.$isServer) return;\n var autosize = this.autosize,\n type = this.type;\n\n if (type !== 'textarea') return;\n if (!autosize) {\n this.textareaCalcStyle = {\n minHeight: calcTextareaHeight(this.$refs.textarea).minHeight\n };\n return;\n }\n var minRows = autosize.minRows;\n var maxRows = autosize.maxRows;\n\n this.textareaCalcStyle = calcTextareaHeight(this.$refs.textarea, minRows, maxRows);\n },\n setNativeInputValue: function setNativeInputValue() {\n var input = this.getInput();\n if (!input) return;\n if (input.value === this.nativeInputValue) return;\n input.value = this.nativeInputValue;\n },\n handleFocus: function handleFocus(event) {\n this.focused = true;\n this.$emit('focus', event);\n },\n handleCompositionStart: function handleCompositionStart(event) {\n this.$emit('compositionstart', event);\n this.isComposing = true;\n },\n handleCompositionUpdate: function handleCompositionUpdate(event) {\n this.$emit('compositionupdate', event);\n var text = event.target.value;\n var lastCharacter = text[text.length - 1] || '';\n this.isComposing = !Object(shared_[\"isKorean\"])(lastCharacter);\n },\n handleCompositionEnd: function handleCompositionEnd(event) {\n this.$emit('compositionend', event);\n if (this.isComposing) {\n this.isComposing = false;\n this.handleInput(event);\n }\n },\n handleInput: function handleInput(event) {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (this.isComposing) return;\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (event.target.value === this.nativeInputValue) return;\n\n this.$emit('input', event.target.value);\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n this.$nextTick(this.setNativeInputValue);\n },\n handleChange: function handleChange(event) {\n this.$emit('change', event.target.value);\n },\n calcIconOffset: function calcIconOffset(place) {\n var elList = [].slice.call(this.$el.querySelectorAll('.el-input__' + place) || []);\n if (!elList.length) return;\n var el = null;\n for (var i = 0; i < elList.length; i++) {\n if (elList[i].parentNode === this.$el) {\n el = elList[i];\n break;\n }\n }\n if (!el) return;\n var pendantMap = {\n suffix: 'append',\n prefix: 'prepend'\n };\n\n var pendant = pendantMap[place];\n if (this.$slots[pendant]) {\n el.style.transform = 'translateX(' + (place === 'suffix' ? '-' : '') + this.$el.querySelector('.el-input-group__' + pendant).offsetWidth + 'px)';\n } else {\n el.removeAttribute('style');\n }\n },\n updateIconOffset: function updateIconOffset() {\n this.calcIconOffset('prefix');\n this.calcIconOffset('suffix');\n },\n clear: function clear() {\n this.$emit('input', '');\n this.$emit('change', '');\n this.$emit('clear');\n },\n handlePasswordVisible: function handlePasswordVisible() {\n var _this2 = this;\n\n this.passwordVisible = !this.passwordVisible;\n this.$nextTick(function () {\n _this2.focus();\n });\n },\n getInput: function getInput() {\n return this.$refs.input || this.$refs.textarea;\n },\n getSuffixVisible: function getSuffixVisible() {\n return this.$slots.suffix || this.suffixIcon || this.showClear || this.showPassword || this.isWordLimitVisible || this.validateState && this.needStatusIcon;\n }\n },\n\n created: function created() {\n this.$on('inputSelect', this.select);\n },\n mounted: function mounted() {\n this.setNativeInputValue();\n this.resizeTextarea();\n this.updateIconOffset();\n },\n updated: function updated() {\n this.$nextTick(this.updateIconOffset);\n }\n});\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_inputvue_type_script_lang_js_ = (inputvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_inputvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/input/src/input.vue\"\n/* harmony default export */ var input = (component.exports);\n// CONCATENATED MODULE: ./packages/input/index.js\n\n\n/* istanbul ignore next */\ninput.install = function (Vue) {\n Vue.component(input.name, input);\n};\n\n/* harmony default export */ var packages_input = __webpack_exports__[\"default\"] = (input);\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });","module.exports = require(\"core-js/modules/es.array.splice.js\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"scaffoldContainer\",staticClass:\"scaffold-container\",attrs:{\"element-loading-text\":\"Loading...\",\"element-loading-spinner\":\"el-icon-loading\",\"element-loading-background\":\"rgba(0, 0, 0, 0.3)\"}},[_c('map-svg-sprite-color'),_c('scaffold-tooltip',{attrs:{\"label\":_vm.tData.label,\"visible\":_vm.tData.visible,\"x\":_vm.tData.x,\"y\":_vm.tData.y}}),_c('div',{ref:\"display\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"id\":\"organsDisplayArea\",\"tabindex\":\"-1\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==66){ return null; }return _vm.backgroundChangeCallback.apply(null, arguments)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.displayUI && !_vm.isTransitioning),expression:\"displayUI && !isTransitioning\"}]},[(_vm.displayWarning)?_c('el-popover',{ref:\"warningPopover\",attrs:{\"content\":_vm.warningMessage,\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"warning-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[6].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[6], \"value\", $$v)},expression:\"hoverVisabilities[6].value\"}}):_vm._e(),(_vm.displayWarning)?_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:warningPopover\",arg:\"warningPopover\"}],staticClass:\"el-icon-warning warning-icon\",on:{\"mouseover\":function($event){return _vm.showToolitip(6)},\"mouseout\":function($event){return _vm.hideToolitip(6)}}},[_c('span',{staticClass:\"warning-text\"},[_vm._v(\"Beta\")])]):_vm._e(),_c('el-popover',{ref:\"checkBoxPopover\",attrs:{\"content\":\"Change region visibility\",\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[5].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[5], \"value\", $$v)},expression:\"hoverVisabilities[5].value\"}}),_c('tree-controls',{directives:[{name:\"popover\",rawName:\"v-popover:checkBoxPopover\",arg:\"checkBoxPopover\"}],ref:\"treeControl\",attrs:{\"help-mode\":_vm.helpMode,\"module\":_vm.$module,\"show-colour-picker\":_vm.showColourPicker},on:{\"object-selected\":_vm.objectSelected,\"object-hovered\":_vm.objectHovered,\"drawer-toggled\":_vm.drawerToggled}}),_c('div',{staticClass:\"opacity-box\"},[_c('opacity-controls',{ref:\"opacityControl\"})],1),(_vm.sceneData.timeVarying)?_c('el-popover',{ref:\"sliderPopover\",attrs:{\"content\":\"Move the slider to animate the region\",\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper top-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[4].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[4], \"value\", $$v)},expression:\"hoverVisabilities[4].value\"}}):_vm._e(),(_vm.sceneData.timeVarying)?_c('div',{directives:[{name:\"popover\",rawName:\"v-popover:sliderPopover\",arg:\"sliderPopover\"}],staticClass:\"time-slider-container\",class:[ _vm.minimisedSlider ? 'minimised' : '', _vm.sliderPosition]},[_c('el-tabs',{attrs:{\"type\":\"card\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Animate scaffold\"}},[_c('el-row',{staticClass:\"tab-content\"},[(_vm.isPlaying)?_c('map-svg-icon',{staticClass:\"icon-button video-button\",attrs:{\"icon\":\"pause\"},nativeOn:{\"click\":function($event){return _vm.play(false)}}}):_c('map-svg-icon',{staticClass:\"video-button icon-button\",attrs:{\"icon\":\"play\"},nativeOn:{\"click\":function($event){return _vm.play(true)}}}),_c('el-slider',{staticClass:\"slider\",attrs:{\"min\":0,\"max\":_vm.timeMax,\"value\":_vm.sceneData.currentTime / 100 * _vm.timeMax,\"step\":0.1,\"tooltip-class\":\"time-slider-tooltip\",\"format-tooltip\":_vm.formatTooltip,\"marks\":_vm.timeStamps},on:{\"input\":function($event){return _vm.timeChange($event)}}})],1)],1),_c('el-tab-pane',{attrs:{\"label\":\"Animation data\"}},[_c('el-row',{staticClass:\"tab-content\"},[_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Original duration: \"),_c('div',{staticClass:\"purple\"},[_vm._v(\" \"+_vm._s(_vm.orginalDuration)+\" \")])]),_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Animation duration: \"),_c('div',{staticClass:\"purple\"},[_vm._v(\" \"+_vm._s(_vm.animateDuration)+\" \")])]),_c('div',{staticClass:\"animation-data\"},[_vm._v(\" Playback speed \"),_c('el-select',{staticClass:\"select-box\",attrs:{\"popper-append-to-body\":true,\"value\":_vm.currentSpeed,\"placeholder\":\"Select\",\"popper-class\":\"scaffold_viewer_dropdown\"},on:{\"change\":function($event){return _vm.speedChanged($event)}}},_vm._l((_vm.playSpeed),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)])],1)],1)],1):_vm._e(),_c('div',{staticClass:\"bottom-right-control\"},[_c('el-popover',{attrs:{\"content\":\"Zoom in\",\"placement\":\"left\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper left-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[0].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[0], \"value\", $$v)},expression:\"hoverVisabilities[0].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomIn\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomIn\"},nativeOn:{\"click\":function($event){return _vm.zoomIn()},\"mouseover\":function($event){return _vm.showToolitip(0)},\"mouseout\":function($event){return _vm.hideToolitip(0)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"content\":\"Zoom out\",\"placement\":\"top-end\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper popper-zoomout non-selectable\"},model:{value:(_vm.hoverVisabilities[1].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[1], \"value\", $$v)},expression:\"hoverVisabilities[1].value\"}},[_c('map-svg-icon',{staticClass:\"icon-button zoomOut\",attrs:{\"slot\":\"reference\",\"icon\":\"zoomOut\"},nativeOn:{\"click\":function($event){return _vm.zoomOut()},\"mouseover\":function($event){return _vm.showToolitip(1)},\"mouseout\":function($event){return _vm.hideToolitip(1)}},slot:\"reference\"})],1),_c('el-popover',{attrs:{\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[2].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[2], \"value\", $$v)},expression:\"hoverVisabilities[2].value\"}},[_c('div',[_vm._v(\" Fit to \"),_c('br'),_vm._v(\" window \")]),_c('map-svg-icon',{staticClass:\"icon-button fitWindow\",attrs:{\"slot\":\"reference\",\"icon\":\"fitWindow\"},nativeOn:{\"click\":function($event){return _vm.fitWindow()},\"mouseover\":function($event){return _vm.showToolitip(2)},\"mouseout\":function($event){return _vm.hideToolitip(2)}},slot:\"reference\"})],1)],1),_c('el-popover',{ref:\"backgroundPopover\",attrs:{\"placement\":\"top-start\",\"width\":\"128\",\"append-to-body\":false,\"trigger\":\"click\",\"popper-class\":\"background-popper non-selectable\"}},[_c('el-row',{staticClass:\"backgroundText\"},[_vm._v(\" Change background \")]),_c('el-row',{staticClass:\"backgroundChooser\"},_vm._l((_vm.availableBackground),function(item){return _c('div',{key:item,class:['backgroundChoice', item, item == _vm.currentBackground ? 'active' :''],on:{\"click\":function($event){return _vm.backgroundChangeCallback(item)}}})}),0)],1),_c('el-popover',{attrs:{\"content\":\"Change background color\",\"placement\":\"right\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"scaffold-popper right-popper non-selectable\"},model:{value:(_vm.hoverVisabilities[3].value),callback:function ($$v) {_vm.$set(_vm.hoverVisabilities[3], \"value\", $$v)},expression:\"hoverVisabilities[3].value\"}},[_c('map-svg-icon',{directives:[{name:\"popover\",rawName:\"v-popover:backgroundPopover\",arg:\"backgroundPopover\"}],staticClass:\"icon-button background-colour\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },attrs:{\"slot\":\"reference\",\"icon\":\"changeBckgd\"},nativeOn:{\"mouseover\":function($event){return _vm.showToolitip(3)},\"mouseout\":function($event){return _vm.hideToolitip(3)}},slot:\"reference\"})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.material!=undefined)?_c('div',{ref:\"control\",staticClass:\"opacity-control\"},[_c('el-drawer',{staticClass:\"drawer-content\",attrs:{\"custom-class\":\"my-drawer\",\"visible\":_vm.drawerOpen,\"append-to-body\":false,\"modal-append-to-body\":false,\"size\":\"300\",\"with-header\":false,\"wrapper-closable\":false,\"modal\":false},on:{\"update:visible\":function($event){_vm.drawerOpen=$event}}},[(_vm.drawerOpen)?_c('div',{staticClass:\"tab-button close\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-right\"})]):_vm._e(),_c('el-container',{staticClass:\"opacity-container\"},[_c('el-header',{staticClass:\"header\",attrs:{\"height\":\"37px\"}},[_c('div',[_vm._v(\"Opacity\")])]),_c('el-main',{staticClass:\"main\"},[_c('div',{staticClass:\"block\"},[_c('span',{staticClass:\"display\"},[_vm._v(_vm._s(_vm.displayString))]),_c('el-slider',{staticClass:\"my-slider\",attrs:{\"step\":0.01,\"min\":0,\"max\":1,\"format-tooltip\":_vm.formatTooltip,\"show-tooltip\":false},model:{value:(_vm.material.opacity),callback:function ($$v) {_vm.$set(_vm.material, \"opacity\", $$v)},expression:\"material.opacity\"}})],1)])],1)],1),(!_vm.drawerOpen)?_c('div',{staticClass:\"tab-button open\",on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div\n v-if=\"material!=undefined\"\n ref=\"control\"\n class=\"opacity-control\"\n >\n <el-drawer\n custom-class=\"my-drawer\"\n class=\"drawer-content\"\n :visible.sync=\"drawerOpen\"\n :append-to-body=\"false\"\n :modal-append-to-body=\"false\"\n size=\"300\"\n :with-header=\"false\"\n :wrapper-closable=\"false\"\n :modal=\"false\"\n >\n <div\n v-if=\"drawerOpen\"\n class=\"tab-button close\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-right\" />\n </div>\n <el-container class=\"opacity-container\">\n <el-header\n height=\"37px\"\n class=\"header\"\n >\n <div>Opacity</div>\n </el-header>\n <el-main class=\"main\">\n <div class=\"block\">\n <span class=\"display\">{{ displayString }}</span>\n <el-slider\n v-model=\"material.opacity\"\n class=\"my-slider\"\n :step=\"0.01\"\n :min=\"0\"\n :max=\"1\"\n :format-tooltip=\"formatTooltip\"\n :show-tooltip=\"false\"\n />\n </div>\n </el-main>\n </el-container>\n </el-drawer>\n <div\n v-if=\"!drawerOpen\"\n class=\"tab-button open\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-left\" />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Container, Drawer, Header, Icon, Main, Slider } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Container);\nVue.use(Drawer);\nVue.use(Header);\nVue.use(Icon);\nVue.use(Main);\nVue.use(Slider);\n\n/**\n * A component to control the opacity of the target object.\n */\nexport default {\n name: \"OpacityControls\",\n data: function() {\n return {\n displayString: \"100%\",\n material: undefined,\n drawerOpen: true\n };\n },\n watch: {\n \"material.opacity\": function() {\n if (this.material) {\n this._zincobject.setAlpha(this.material.opacity);\n }\n }\n },\n mounted: function() {\n this._zincobject = undefined;\n },\n methods: {\n formatTooltip(val) {\n this.displayString = Math.floor(100 * val + 0.5) + \"%\";\n return this.displayString;\n },\n toggleDrawer: function() {\n this.drawerOpen = !this.drawerOpen;\n },\n setObject(object) {\n if (object) this.material = object.morph.material;\n else this.material = undefined;\n this._zincobject = object;\n }\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/container\";\n@import \"~element-ui/packages/theme-chalk/src/drawer\";\n@import \"~element-ui/packages/theme-chalk/src/slider\";\n\n.opacity-control {\n text-align: left;\n width:300px;\n}\n\n.header {\n color: #606266;\n line-height: 1;\n padding: 9px 17px 0 15px;\n border-bottom: 1px solid #ebeef5;\n font-size: 14px;\n}\n\n.display {\n width: 44px;\n}\n\n.icon {\n right: 17px;\n position: absolute;\n top: 10px;\n}\n\n.main {\n font-size: 13px;\n padding: 20px 17px 0 15px;\n}\n\n.block {\n left: 40px;\n position: absolute;\n top: 57px;\n width: 200px;\n}\n\n.my-slider {\n position: absolute;\n width: 109px;\n top: -12px;\n left: 50px;\n pointer-events: auto;\n}\n\n.opacity-container {\n width: 224px;\n height: 93px;\n border-radius: 4px;\n border: solid 1px #d8dce6;\n background-color: #fff;\n}\n\n::v-deep .el-slider__bar {\n background-color: $app-primary-color;\n}\n\n.drawer-content {\n position: relative;\n height: 93px;\n pointer-events: none;\n}\n\n::v-deep .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n\n::v-deep .my-drawer .el-drawer__body {\n height: 93px;\n}\n\n.tab-button {\n width: 20px;\n height: 40px;\n z-index: 8;\n right: 0px;\n \n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #FFFFFF;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n //transition: bottom 0.3s;\n\n &.close {\n float: left;\n flex: 1;\n border-right: 0;\n margin-top: 26px;\n }\n\n &.open {\n position: absolute;\n bottom:26px;\n }\n\n i {\n margin-top: 12px;\n color: $app-primary-color;\n transform: scaleY(2.5);\n }\n}\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OpacityControls.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 = typeof scriptExports === 'function'\n ? scriptExports.options\n : 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) { // 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\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./OpacityControls.vue?vue&type=template&id=4c00a30f&scoped=true&\"\nimport script from \"./OpacityControls.vue?vue&type=script&lang=js&\"\nexport * from \"./OpacityControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OpacityControls.vue?vue&type=style&index=0&id=4c00a30f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c00a30f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"region-tooltip\",style:(_vm.position)},[_c('el-popover',{ref:\"tooltip\",attrs:{\"placement\":\"top\",\"append-to-body\":false,\"trigger\":\"manual\",\"popper-class\":\"tooltip-popper non-selectable\"},model:{value:(_vm.display),callback:function ($$v) {_vm.display=$$v},expression:\"display\"}},[_c('div',[_vm._v(_vm._s(_vm.label))]),_c('i',{directives:[{name:\"popover\",rawName:\"v-popover:tooltip\",arg:\"tooltip\"}]})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"position\" class=\"region-tooltip\">\n <el-popover\n ref=\"tooltip\"\n v-model=\"display\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"tooltip-popper non-selectable\"\n >\n <div>{{ label }}</div>\n <i v-popover:tooltip />\n </el-popover>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Popover } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Popover);\n\n/**\n * A component to control the opacity of the target object.\n */\nexport default {\n name: \"ScaffoldTooltip\",\n props: {\n label: {\n type: String,\n default: \"\",\n },\n visible: {\n type: Boolean,\n default: false,\n },\n x: {\n type: Number,\n default: 200,\n },\n y: {\n type: Number,\n default: 200,\n },\n },\n data: function () {\n return {\n display: false,\n };\n },\n computed: {\n position: function () {\n return { left: this.x + \"px\", top: this.y - 30 + \"px\" };\n },\n },\n watch: {\n label: {\n handler: function () {\n if (this.visible && this.label && this.label !== \"\")\n this.display = true;\n else this.display = false;\n },\n immediate: true,\n },\n visible: {\n handler: function () {\n if (this.visible && this.label && this.label !== \"\")\n this.display = true;\n else this.display = false;\n },\n immediate: true,\n },\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/popover\";\n\n.region-tooltip {\n position: absolute;\n height: 50px;\n z-index: 2;\n ::v-deep .tooltip-popper {\n padding: 2px 6px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n font-size: 16px;\n color: $app-primary-color;\n background-color: #fff;\n border: 1px solid $app-primary-color;\n border-radius: 4px;\n white-space: nowrap;\n min-width: unset;\n pointer-events: none;\n top: -15px!important;\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #fff !important;\n }\n }\n }\n\n &.el-popper[x-placement^=\"bottom\"] {\n .popper__arrow {\n border-bottom-color: $app-primary-color !important;\n &:after {\n border-bottom-color: #fff !important;\n }\n }\n }\n }\n\n ::v-deep .non-selectable {\n user-select: none;\n pointer-events: none;\n }\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldTooltip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScaffoldTooltip.vue?vue&type=template&id=b9fa59b4&scoped=true&\"\nimport script from \"./ScaffoldTooltip.vue?vue&type=script&lang=js&\"\nexport * from \"./ScaffoldTooltip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScaffoldTooltip.vue?vue&type=style&index=0&id=b9fa59b4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b9fa59b4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tree-controls\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen }},[_c('div',{staticClass:\"traditional-container\"},[_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('div',{staticClass:\"regions-display-text\"},[_vm._v(\" Regions \")])])],1),_c('div',{staticClass:\"tree-container\"},[_c('el-tree',{ref:\"regionTree\",attrs:{\"default-expand-all\":\"\",\"node-key\":\"id\",\"show-checkbox\":\"\",\"check-strictly\":false,\"data\":_vm.treeData,\"default-checked-keys\":['__r/'],\"expand-on-click-node\":false},on:{\"check\":_vm.checkChanged},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar node = ref.node;\nvar data = ref.data;\nreturn _c('span',{staticClass:\"region-tree-node\",class:{\n activeItem: _vm.nodeIsActive(data),\n hoverItem: _vm.nodeIsHover(data),\n },on:{\"click\":function($event){return _vm.changeActiveByNode(data, true)},\"mouseover\":function($event){return _vm.changeHoverByNode(data, true)}}},[(data.primitives)?_c('el-color-picker',{class:{ 'show-picker': _vm.showColourPicker },attrs:{\"value\":_vm.getColour(data),\"size\":\"small\",\"popper-class\":_vm.myPopperClass},on:{\"change\":function($event){return _vm.setColour(data, $event)}}}):_vm._e(),_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1)],1),_c('div',{staticClass:\"drawer-button\",class:{ open: _vm.drawerOpen, close: !_vm.drawerOpen },on:{\"click\":_vm.toggleDrawer}},[_c('i',{staticClass:\"el-icon-arrow-left\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _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}","export default 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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export const createListFromPrimitives = primitives => {\n const list = [];\n if (primitives) {\n primitives.forEach(primitive => {\n if (primitive && primitive.getVisibility()) {\n list.push({\n group: primitive.groupName,\n regionPath: primitive.region.getFullPath()\n });\n }\n });\n }\n return list;\n}\n\nexport const extractAllIds = (item, list) => {\n list.push(item.id);\n if (item.children)\n item.children.forEach(child => extractAllIds(child, list));\n}\n\nexport const findObjectsWithNames = (rootRegion, names, regionPath) => {\n let targetRegion = rootRegion;\n const targetObjects = [];\n if (regionPath)\n targetRegion = rootRegion.findChildFromPath(regionPath);\n if (targetRegion) {\n names.forEach(name => {\n const temp = targetRegion.findObjectsWithGroupName(name, true);\n targetObjects.push(...temp);\n });\n }\n return targetObjects;\n}\n","<template>\n <div\n class=\"tree-controls\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n >\n <div class=\"traditional-container\">\n <el-row>\n <el-col :span=\"12\">\n <div class=\"regions-display-text\">\n Regions\n </div>\n </el-col>\n </el-row>\n <div class=\"tree-container\">\n <el-tree\n ref=\"regionTree\"\n default-expand-all\n node-key=\"id\"\n show-checkbox\n :check-strictly=\"false\"\n :data=\"treeData\"\n :default-checked-keys=\"['__r/']\"\n :expand-on-click-node=\"false\"\n @check=\"checkChanged\"\n >\n <span\n slot-scope=\"{ node, data }\"\n class=\"region-tree-node\"\n :class=\"{\n activeItem: nodeIsActive(data),\n hoverItem: nodeIsHover(data),\n }\"\n @click=\"changeActiveByNode(data, true)\"\n @mouseover=\"changeHoverByNode(data, true)\"\n >\n <el-color-picker\n v-if=\"data.primitives\"\n :class=\"{ 'show-picker': showColourPicker }\"\n :value=\"getColour(data)\"\n size=\"small\"\n :popper-class=\"myPopperClass\"\n @change=\"setColour(data, $event)\"\n />\n <span>{{ node.label }}</span>\n </span>\n </el-tree>\n </div>\n </div>\n <div\n class=\"drawer-button\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n @click=\"toggleDrawer\"\n >\n <i class=\"el-icon-arrow-left\" />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport { Checkbox, CheckboxGroup, ColorPicker, Row, Tree } from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\nimport { createListFromPrimitives, extractAllIds, findObjectsWithNames } from \"../scripts/utilities.js\";\n\nconst orderBy = require(\"lodash/orderBy\");\nconst uniq = require(\"lodash/uniq\");\nlocale.use(lang);\nVue.use(Checkbox);\nVue.use(CheckboxGroup);\nVue.use(ColorPicker);\nVue.use(Row);\nVue.use(Tree);\n\nconst nameSorting = (a, b) => {\n const labelA = a.label.toUpperCase();\n const labelB = b.label.toUpperCase();\n if (labelA < labelB) {\n return -1;\n }\n if (labelA > labelB) {\n return 1;\n }\n return 0;\n};\n\n/**\n * A vue component for toggling visibility of various regions.\n */\nexport default {\n name: \"TreeControls\",\n props: {\n /**\n * @ignore\n */\n module: {\n type: Object,\n default: undefined,\n },\n /**\n * Enable/disable colour picker\n */\n showColourPicker: Boolean,\n },\n data: function () {\n return {\n treeData: [{ label: \"Root\", id: \"__r/\", children: [] }],\n active: [{group: \"\", regionPath: undefined}],\n hover: [{group: \"\", regionPath: undefined}],\n myPopperClass: \"hide-scaffold-colour-popup\",\n drawerOpen: true,\n };\n },\n watch: {\n showColourPicker: {\n immediate: true,\n handler: function () {\n if (this.showColourPicker) this.myPopperClass = \"showPicker\";\n else this.myPopperClass = \"hide-scaffold-colour-popup\";\n },\n },\n },\n created: function () {\n this.module.sceneData.geometries.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.lines.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.glyphsets.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.sceneData.pointsets.forEach(zincObject => {\n this.organsAdded(zincObject);\n });\n this.module.addOrganPartAddedCallback(this.organsAdded);\n this.__nodeNumbers = 1;\n },\n destroyed: function () {\n this.sortedPrimitiveGroups = undefined;\n },\n methods: {\n addTreeItem: function (parentContainer, item) {\n for (let i = 0; i < parentContainer.length; i++) {\n if (parentContainer[i].id === item.id) {\n if (item.primitives && parentContainer[i].primitives) {\n parentContainer[i].primitives.push(...item.primitives);\n return;\n }\n }\n }\n parentContainer.push(item);\n parentContainer.sort((a, b) => {\n return nameSorting(a, b);\n });\n this.__nodeNumbers++;\n this.$nextTick(() => {\n this.$refs.regionTree.setChecked(item.id, true);\n });\n },\n // find or create new region, region id is always prefixed with\n // '__r/'\n findOrCreateRegion: function (data, paths, prefix) {\n //check if root region has been set\n if (!this.treeData[0].region && this.module && this.module.scene) {\n this.treeData[0].region = this.module.scene.getRootRegion();\n }\n\n if (paths.length > 0) {\n const _paths = [...paths];\n let childRegion = data.children.find(\n (child) => child.label == _paths[0]\n );\n const path = prefix + \"/\" + paths[0];\n const id = \"__r\" + path;\n if (!childRegion) {\n const region = this.treeData[0].region.findChildFromPath(path);\n childRegion = {\n label: _paths[0],\n id: id,\n children: [],\n region: region,\n };\n this.addTreeItem(data.children, childRegion);\n }\n _paths.shift();\n return this.findOrCreateRegion(childRegion, _paths, path);\n } else {\n return data;\n }\n },\n nodeIsActive: function(data) {\n for (let i = 0; i < this.active.length; i++) {\n let item = this.active[i];\n if (item.group === data.label && \n ((item.regionPath === item.regionPath) || \n item.regionPath === undefined)) {\n return true;\n }\n }\n return false;\n },\n nodeIsHover: function(data) {\n for (let i = 0; i < this.hover.length; i++) {\n let item = this.hover[i];\n if (item.group === data.label && \n ((item.regionPath === item.regionPath) || \n item.regionPath === undefined)) {\n return true;\n }\n }\n return false;\n },\n /**\n * This is called when a new organ is read into the scene.\n */\n organsAdded: function (zincObject) {\n const region = zincObject.region;\n if (region) {\n const paths = region.getFullSeparatedPath();\n const regionData = this.findOrCreateRegion(this.treeData[0], paths, \"\");\n if (zincObject.groupName) {\n if (regionData) {\n if (!regionData.children) {\n regionData.children = [];\n }\n let id =\n regionData.id.replace(\"__r/\", \"\") + \"/\" + zincObject.groupName;\n const child = {\n label: zincObject.groupName,\n id: id,\n primitives: [zincObject],\n regionPath: zincObject.region.getFullPath()\n };\n this.addTreeItem(regionData.children, child);\n }\n }\n }\n },\n checkChanged: function (node, data) {\n const rootRegion = this.module.scene.getRootRegion();\n rootRegion.hideAllChildren();\n data.checkedNodes.forEach(localNode => {\n if (localNode.region) localNode.region.setVisibility(true);\n if (localNode.primitives) {\n localNode.primitives.forEach(primitive => {\n primitive.setVisibility(true);\n });\n }\n });\n data.halfCheckedNodes.forEach(localNode => {\n if (localNode.region) localNode.region.setVisibility(true);\n });\n },\n changeActiveByPrimitives: function (primitives, propagate) {\n if (primitives && primitives.length > 0) {\n this.active = [];\n const list = createListFromPrimitives(primitives);\n this.active.push(...list);\n this.$emit(\"object-selected\", primitives, propagate);\n } else {\n this.removeActive(propagate);\n }\n this.removeHover(propagate);\n },\n changeHoverByPrimitives: function (primitives, propagate) {\n if (primitives && primitives.length > 0) {\n this.hover = [];\n const list = createListFromPrimitives(primitives);\n this.hover.push(...list);\n this.$emit(\"object-hovered\", primitives, propagate);\n } else {\n this.removeHover(propagate);\n }\n },\n /**\n * Select a region by its name.\n */\n changeActiveByNames: function (names, regionPath, propagate) {\n const rootRegion = this.module.scene.getRootRegion();\n const targetObjects = findObjectsWithNames(rootRegion, names,\n regionPath);\n this.changeActiveByPrimitives(targetObjects, propagate);\n },\n /**\n * Hover a region by its name.\n */\n changeHoverByNames: function (names, regionPath, propagate) {\n const rootRegion = this.module.scene.getRootRegion();\n const targetObjects = findObjectsWithNames(rootRegion, names,\n regionPath);\n this.changeHoverByPrimitives(targetObjects, propagate);\n },\n changeActiveByNode: function (node, propagate) {\n if (node.primitives)\n this.changeActiveByPrimitives(node.primitives, propagate);\n },\n changeHoverByNode: function (node, propagate) {\n if (node.primitives)\n this.changeHoverByPrimitives(node.primitives, propagate);\n },\n /**\n * Unselect the current selected region.\n */\n removeActive: function (propagate) {\n this.active = [];\n this.$emit(\"object-selected\", undefined, propagate);\n },\n /**\n * Unselect the current hover region.\n */\n removeHover: function (propagate) {\n this.hover = [];\n this.$emit(\"object-hovered\", undefined, propagate);\n },\n /**\n * Reset the controls.\n */\n clear: function () {\n this.active.group = \"\";\n this.active.regionPath = undefined;\n this.hover.group = \"\";\n this.hover.regionPath = undefined;\n this.$refs.regionTree.updateKeyChildren( \"__r/\", []);\n this.$emit(\"object-selected\", undefined);\n },\n getColour: function (nodeData) {\n if (nodeData) {\n let graphic = nodeData.primitives[0];\n if (graphic) {\n let hex = graphic.getColourHex();\n if (hex) return \"#\" + hex;\n }\n }\n return \"#FFFFFF\";\n },\n setColour: function (nodeData, value) {\n if (nodeData && nodeData.primitives) {\n nodeData.primitives.forEach(primitive => {\n let hexString = value.replace(\"#\", \"0x\");\n primitive.setColourHex(hexString);\n });\n }\n },\n viewAll: function () {\n this.module.viewAll();\n },\n visibilityToggle: function (item, event) {\n this.module.changeOrganPartsVisibility(item, event);\n if (event == false) {\n if (this.activeRegion === item) {\n this.removeActive(true);\n }\n if (this.hoverRegion === item) {\n this.removeHover(true);\n }\n }\n },\n toggleDrawer: function () {\n this.drawerOpen = !this.drawerOpen;\n this.$emit(\"drawer-toggled\", this.drawerOpen);\n },\n setTreeVisibility: function(node, list) {\n let flag = false;\n if (list.includes(node.id)) flag = true;\n if (node.region) node.region.setVisibility(flag);\n if (node.primitives) node.primitives.forEach(primitive => primitive.setVisibility(flag))\n if (node.children) node.children.forEach(child => this.setTreeVisibility(child, list));\n },\n checkAllKeys: function () {\n const keysList = [];\n extractAllIds(this.treeData[0], keysList);\n this.setTreeVisibility(this.treeData[0], keysList);\n this.$refs.regionTree.setCheckedKeys(keysList);\n },\n getState: function () {\n let checkedItems = this.$refs.regionTree.getCheckedKeys();\n if (checkedItems.length === this.__nodeNumbers)\n return { checkAll: true, version: \"2.0\" };\n return { checkedItems: checkedItems, version: \"2.0\" };\n },\n setState: function (state) {\n if (state) {\n if (state.checkAll) {\n this.checkAllKeys(); \n } else if (state.checkedItems) {\n let list = [];\n if (state.version !== \"2.0\") {\n list = state.checkedItems.map(item => \"/\" + item);\n list.shift(\"__r/\");\n } else {\n list.push(...state.checkedItems);\n }\n this.setTreeVisibility(this.treeData[0], list);\n this.$refs.regionTree.setCheckedKeys(list);\n }\n }\n },\n },\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/checkbox\";\n@import \"~element-ui/packages/theme-chalk/src/color-picker\";\n@import \"~element-ui/packages/theme-chalk/src/row\";\n@import \"~element-ui/packages/theme-chalk/src/tree\";\n\n.checkbox-container {\n display: flex;\n cursor: pointer;\n}\n\n.tree-controls {\n position: absolute;\n bottom: 0px;\n transition: all 1s ease;\n\n &:focus {\n outline: none;\n }\n &.open {\n left: 0px;\n .traditional-container {\n opacity: 1;\n }\n }\n &.close {\n left: -298px;\n .traditional-container {\n pointer-events: none;\n opacity: 0;\n }\n }\n}\n\n.traditional-container {\n transition: all 1s ease;\n float: left;\n padding-left: 16px;\n padding-right: 18px;\n max-height: calc(100% - 154px);\n text-align: left;\n overflow: none;\n border: 1px solid rgb(220, 223, 230);\n padding-top: 7px;\n padding-bottom: 16px;\n background: #ffffff;\n}\n\n.regions-display-text {\n width: 59px;\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n margin-left: 8px;\n}\n\n.all-checkbox {\n float: right;\n}\n\n.tree-container {\n width: 260px;\n border: 1px solid rgb(144, 147, 153);\n border-radius: 4px;\n background: #ffffff;\n margin-top: 6px;\n\n ::v-deep .el-tree {\n max-height: 240px;\n min-height: 130px;\n overflow: auto;\n &::-webkit-scrollbar {\n width: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n border-radius: 10px;\n box-shadow: inset 0 0 6px #c0c4cc;\n }\n }\n\n ::v-deep .el-tree-node__content {\n height: 22px;\n }\n}\n\n::v-deep .el-checkbox__input {\n &.is-indeterminate,\n &.is-checked {\n .el-checkbox__inner {\n background-color: $app-primary-color;\n border-color: $app-primary-color;\n }\n }\n}\n\n::v-deep .el-color-picker__color {\n border: 1px solid $app-primary-color;\n}\n\n::v-deep .el-checkbox__label {\n padding-left: 5px;\n color: $app-primary-color !important;\n font-size: 12px;\n font-weight: 500;\n letter-spacing: 0px;\n line-height: 14px;\n}\n\n.activeItem {\n background-color: #bbb !important;\n}\n\n.region-tree-node {\n flex: 1;\n color: $app-primary-color !important;\n display: flex;\n font-size: 12px;\n line-height: 14px;\n padding-left: 0px;\n background-color: #fff;\n width: 100%;\n\n ::v-deep .el-color-picker {\n height: 14px !important;\n }\n\n ::v-deep .el-color-picker__trigger {\n margin-left: 8px;\n margin-right: 8px;\n padding: 0px;\n height: 14px;\n width: 14px;\n border: 0px;\n }\n}\n\n.hoverItem {\n background-color: #eee !important;\n}\n\n::v-deep .el-color-picker__icon {\n &.el-icon-arrow-down {\n display: none;\n }\n}\n\n::v-deep .show-picker {\n .el-color-picker__icon {\n &.el-icon-arrow-down {\n display: block;\n }\n }\n}\n\n::v-deep .my-drawer {\n background: rgba(0, 0, 0, 0);\n box-shadow: none;\n}\n\n.drawer {\n ::v-deep .el-drawer:focus {\n outline: none;\n }\n}\n\n.open-drawer {\n width: 20px;\n height: 40px;\n z-index: 8;\n position: absolute;\n left: 0px;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.06);\n border: solid 1px #e4e7ed;\n background-color: #f7faff;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.drawer-button {\n float: left;\n width: 20px;\n height: 40px;\n z-index: 8;\n margin-top: calc(50% - 52px);\n border: solid 1px #e4e7ed;\n border-left: 0;\n background-color: #ffffff;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n pointer-events: auto;\n}\n\n.drawer-button {\n i {\n margin-top: 12px;\n color: $app-primary-color;\n transition-delay: 0.9s;\n }\n &.open {\n i {\n transform: rotate(0deg) scaleY(2.5);\n }\n }\n &.close {\n i {\n transform: rotate(180deg) scaleY(2.5);\n }\n }\n}\n\n.drawer-button.open i {\n transform: rotate(0deg) scaleY(2.5);\n}\n\n.drawer-button.close i {\n transform: rotate(180deg) scaleY(2.5);\n}\n</style>\n\n<style>\n.hide-scaffold-colour-popup {\n display: none;\n}\n</style>\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TreeControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TreeControls.vue?vue&type=template&id=7d6a9a0b&scoped=true&\"\nimport script from \"./TreeControls.vue?vue&type=script&lang=js&\"\nexport * from \"./TreeControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TreeControls.vue?vue&type=style&index=0&id=7d6a9a0b&scoped=true&lang=scss&\"\nimport style1 from \"./TreeControls.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d6a9a0b\",\n null\n \n)\n\nexport default component.exports","<template>\n <div\n ref=\"scaffoldContainer\"\n v-loading=\"loading\"\n class=\"scaffold-container\"\n element-loading-text=\"Loading...\"\n element-loading-spinner=\"el-icon-loading\"\n element-loading-background=\"rgba(0, 0, 0, 0.3)\"\n >\n <map-svg-sprite-color />\n <scaffold-tooltip\n :label=\"tData.label\"\n :visible=\"tData.visible\"\n :x=\"tData.x\"\n :y=\"tData.y\"\n />\n <div\n id=\"organsDisplayArea\"\n ref=\"display\"\n tabindex=\"-1\"\n style=\"height:100%;width:100%;\"\n @keydown.66=\"backgroundChangeCallback\"\n />\n <div v-show=\"displayUI && !isTransitioning\">\n <el-popover\n v-if=\"displayWarning\"\n ref=\"warningPopover\"\n v-model=\"hoverVisabilities[6].value\"\n :content=\"warningMessage\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"warning-popper right-popper non-selectable\"\n />\n <i\n v-if=\"displayWarning\"\n v-popover:warningPopover\n class=\"el-icon-warning warning-icon\"\n @mouseover=\"showToolitip(6)\"\n @mouseout=\"hideToolitip(6)\"\n >\n <span class=\"warning-text\">Beta</span>\n </i>\n <el-popover\n ref=\"checkBoxPopover\"\n v-model=\"hoverVisabilities[5].value\"\n content=\"Change region visibility\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper right-popper non-selectable\"\n />\n <tree-controls\n ref=\"treeControl\"\n v-popover:checkBoxPopover\n :help-mode=\"helpMode\"\n :module=\"$module\"\n :show-colour-picker=\"showColourPicker\"\n @object-selected=\"objectSelected\"\n @object-hovered=\"objectHovered\"\n @drawer-toggled=\"drawerToggled\"\n />\n <div class=\"opacity-box\">\n <opacity-controls ref=\"opacityControl\" />\n </div>\n <el-popover\n v-if=\"sceneData.timeVarying\"\n ref=\"sliderPopover\"\n v-model=\"hoverVisabilities[4].value\"\n content=\"Move the slider to animate the region\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper top-popper non-selectable\"\n />\n <div\n v-if=\"sceneData.timeVarying\"\n v-popover:sliderPopover\n class=\"time-slider-container\"\n :class=\"[ minimisedSlider ? 'minimised' : '', sliderPosition]\"\n >\n <el-tabs type=\"card\">\n <el-tab-pane label=\"Animate scaffold\">\n <el-row class=\"tab-content\">\n <map-svg-icon\n v-if=\"isPlaying\"\n icon=\"pause\"\n class=\"icon-button video-button\"\n @click.native=\"play(false)\"\n />\n <map-svg-icon\n v-else\n icon=\"play\"\n class=\"video-button icon-button\"\n @click.native=\"play(true)\"\n />\n <el-slider\n :min=\"0\"\n :max=\"timeMax\"\n :value=\"sceneData.currentTime / 100 * timeMax\"\n :step=\"0.1\"\n tooltip-class=\"time-slider-tooltip\"\n class=\"slider\"\n :format-tooltip=\"formatTooltip\"\n :marks=\"timeStamps\"\n @input=\"timeChange($event)\"\n />\n </el-row>\n </el-tab-pane>\n <el-tab-pane label=\"Animation data\">\n <el-row class=\"tab-content\">\n <div class=\"animation-data\">\n Original duration:\n <div class=\"purple\">\n {{ orginalDuration }}\n </div>\n </div>\n <div class=\"animation-data\">\n Animation duration:\n <div class=\"purple\">\n {{ animateDuration }}\n </div>\n </div>\n <div class=\"animation-data\">\n Playback speed\n <el-select\n :popper-append-to-body=\"true\"\n :value=\"currentSpeed\"\n placeholder=\"Select\"\n class=\"select-box\"\n popper-class=\"scaffold_viewer_dropdown\"\n @change=\"speedChanged($event)\"\n >\n <el-option\n v-for=\"item in playSpeed\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n />\n </el-select>\n </div>\n </el-row>\n </el-tab-pane>\n </el-tabs>\n </div>\n <div class=\"bottom-right-control\">\n <el-popover\n v-model=\"hoverVisabilities[0].value\"\n content=\"Zoom in\"\n placement=\"left\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper left-popper non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n icon=\"zoomIn\"\n class=\"icon-button zoomIn\"\n @click.native=\"zoomIn()\"\n @mouseover.native=\"showToolitip(0)\"\n @mouseout.native=\"hideToolitip(0)\"\n />\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[1].value\"\n content=\"Zoom out\"\n placement=\"top-end\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper popper-zoomout non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n icon=\"zoomOut\"\n class=\"icon-button zoomOut\"\n @click.native=\"zoomOut()\"\n @mouseover.native=\"showToolitip(1)\"\n @mouseout.native=\"hideToolitip(1)\"\n />\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[2].value\"\n placement=\"top\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper non-selectable\"\n >\n <div>\n Fit to\n <br>\n window\n </div>\n <map-svg-icon\n slot=\"reference\"\n icon=\"fitWindow\"\n class=\"icon-button fitWindow\"\n @click.native=\"fitWindow()\"\n @mouseover.native=\"showToolitip(2)\"\n @mouseout.native=\"hideToolitip(2)\"\n />\n </el-popover>\n </div>\n <el-popover\n ref=\"backgroundPopover\"\n placement=\"top-start\"\n width=\"128\"\n :append-to-body=\"false\"\n trigger=\"click\"\n popper-class=\"background-popper non-selectable\"\n >\n <el-row class=\"backgroundText\">\n Change background\n </el-row>\n <el-row class=\"backgroundChooser\">\n <div\n v-for=\"item in availableBackground\"\n :key=\"item\"\n :class=\"['backgroundChoice', item, item == currentBackground ? 'active' :'']\"\n @click=\"backgroundChangeCallback(item)\"\n />\n </el-row>\n </el-popover>\n <el-popover\n v-model=\"hoverVisabilities[3].value\"\n content=\"Change background color\"\n placement=\"right\"\n :append-to-body=\"false\"\n trigger=\"manual\"\n popper-class=\"scaffold-popper right-popper non-selectable\"\n >\n <map-svg-icon\n slot=\"reference\"\n v-popover:backgroundPopover\n icon=\"changeBckgd\"\n class=\"icon-button background-colour\"\n :class=\"{ open: drawerOpen, close: !drawerOpen }\"\n @mouseover.native=\"showToolitip(3)\"\n @mouseout.native=\"hideToolitip(3)\"\n />\n </el-popover>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert, no-console */\nimport Vue from \"vue\";\nimport OpacityControls from \"./OpacityControls\";\nimport ScaffoldTooltip from \"./ScaffoldTooltip\";\nimport TreeControls from \"./TreeControls\";\nimport { MapSvgIcon, MapSvgSpriteColor } from \"@abi-software/svg-sprite\";\nimport { findObjectsWithNames } from \"../scripts/utilities.js\";\nimport {\n Col,\n Loading,\n Option,\n Popover,\n Row,\n Select,\n Slider,\n TabPane,\n Tabs\n} from \"element-ui\";\nimport lang from \"element-ui/lib/locale/lang/en\";\nimport locale from \"element-ui/lib/locale\";\n\nlocale.use(lang);\nVue.use(Col);\nVue.use(Loading.directive);\nVue.use(Option);\nVue.use(Popover);\nVue.use(Row);\nVue.use(Select);\nVue.use(Slider);\nVue.use(TabPane);\nVue.use(Tabs);\n\nconst OrgansViewer = require(\"../scripts/organsRenderer\").OrgansViewer;\nconst EventNotifier = require(\"../scripts/eventNotifier\").EventNotifier;\n\n/**\n * A vue component of the scaffold viewer.\n *\n * @requires ./OpacityControls.vue\n * @requires ./TreeControls.vue\n */\nexport default {\n name: \"ScaffoldVuer\",\n components: {\n MapSvgIcon,\n MapSvgSpriteColor,\n OpacityControls,\n ScaffoldTooltip,\n TreeControls,\n },\n props: {\n /**\n * URL of the zincjs metadata. This value will be ignored if a valid\n * state prop is also provided.\n * If the url needs to be updated with state present, please use\n * the setURL method.\n */\n url: {\n type: String,\n default: \"\"\n },\n /**\n * Show the colour control of set to true.\n */\n showColourPicker: {\n type: Boolean,\n default: false\n },\n /**\n * Flag to show/hide the UI.\n */\n displayUI: {\n type: Boolean,\n default: true\n },\n /**\n * Display all graphics at start.\n *\n * This setting only works when traditional is set to false.\n */\n displayAtStartUp: {\n type: Boolean,\n default: true\n },\n /**\n * Use for toggling the help tooltips.\n */\n helpMode: {\n type: Boolean,\n default: false\n },\n /**\n * Use for show/display beta warning icon.\n */\n displayWarning: {\n type: Boolean,\n default: true\n },\n /**\n * Warning message for the hovered over text\n * on the warning icon.\n */\n warningMessage: {\n type: String,\n default: \"Beta feature - under active development\"\n },\n /**\n * Show/hide pickable markers for regions.\n */\n displayMarkers: {\n type: Boolean,\n default: true\n },\n /**\n * Show/hide minimap.\n */\n displayMinimap: {\n type: Boolean,\n default: false\n },\n /**\n * Format of the input URL\n */\n format: {\n type: String,\n default: \"metadata\"\n },\n /**\n * Settings for minimap position, size and alignment.\n */\n minimapSettings: {\n type: Object,\n default: function() {\n return {\n x_offset: 16,\n y_offset: 16,\n width: 128,\n height: 128,\n align: \"top-right\"\n };\n }\n },\n /**\n * State containing state of the scaffold.\n */\n state: {\n type: Object,\n default: undefined\n },\n /**\n * Optional prop for the name of the region to focus on,\n * this option is ignored if state or viewURL is also provided.\n */\n region: {\n type: String,\n default: \"\"\n },\n /**\n * Optional prop for an URL of containing information of a viewport.\n * This option is ignored if state is also provided.\n * It will use the provided URL as base if a relative parth is provided.\n */\n viewURL: {\n type: String,\n default: \"\"\n },\n /**\n * Settings for turning on/off rendering\n */\n render: {\n type: Boolean,\n default: true\n }\n },\n data: function() {\n return {\n sceneData: this.$module.sceneData,\n isPlaying: false,\n /**\n * This is set when scene is transitioning.\n */\n isTransitioning: false,\n tooltipAppendToBody: false,\n hoverVisabilities: [\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false },\n { value: false }\n ],\n inHelp: false,\n loading: false,\n duration: 3000,\n drawerOpen: true,\n currentBackground: \"white\",\n availableBackground: [\"white\", \"lightskyblue\", \"black\"],\n minimisedSlider: false,\n sliderPosition: \"\",\n timeMax: 100,\n orginalDuration: \"\",\n animateDuration: \"6secs\",\n playSpeed: [\n {\n value: 0.1,\n label: \"0.1x\"\n },\n {\n value: 0.5,\n label: \"0.5x\"\n },\n {\n value: 1,\n label: \"1x\"\n },\n {\n value: 2,\n label: \"2x\"\n },\n {\n value: 5,\n label: \"5x\"\n },\n {\n value: 10,\n label: \"10x\"\n }\n ],\n currentSpeed: 1,\n timeStamps: {},\n defaultCheckedKeys: [],\n tData: {\n label: \"\",\n visible: false,\n x: 200,\n y: 200\n },\n fileFormat: \"metadata\",\n };\n },\n watch: {\n format: {\n handler: function(value) {\n this.fileFormat = value;\n },\n immediate: true\n },\n url: {\n handler: function(newValue) {\n if (this.state === undefined || this.state.url === undefined)\n this.setURL(newValue);\n },\n immediate: true\n },\n region: {\n handler: function(region) {\n if (!(this.state || this.viewURL)) this.setFocusedRegion(region);\n },\n immediate: true\n },\n state: {\n handler: function(state) {\n this.setState(state);\n },\n immediate: true,\n deep: true\n },\n viewURL: {\n handler: function(viewURL) {\n this.updateViewURL(viewURL);\n },\n immediate: true\n },\n helpMode: function(val) {\n this.setHelpMode(val);\n },\n displayMarkers: function(val) {\n this.$module.scene.displayMarkers = val;\n },\n displayMinimap: function(val) {\n this.$module.scene.displayMinimap = val;\n },\n \"sceneData.currentTime\": function() {\n /**\n * Triggers when scene time changes.\n *\n * @property {number} time Current build-in time of scene.\n * of selected object.\n */\n this.$emit(\"timeChanged\", this.sceneData.currentTime);\n },\n duration: function() {\n this.$module.scene.setDuration(this.duration);\n },\n minimapSettings: {\n deep: true,\n handler: \"updateMinimapScissor\"\n },\n render: function(val) {\n this.toggleRendering(val);\n }\n },\n beforeCreate: function() {\n this.$module = new OrgansViewer();\n this.isReady = false;\n this.selectedObjects = [];\n this.hoveredObjects = [];\n this.currentBackground = \"white\";\n this._currentURL = undefined;\n this.availableBackground = [\"white\", \"black\", \"lightskyblue\"];\n },\n mounted: function() {\n let eventNotifier = new EventNotifier();\n eventNotifier.subscribe(this, this.eventNotifierCallback);\n this.$module.addNotifier(eventNotifier);\n this.$module.addOrganPartAddedCallback(this.organsAdded);\n this.$module.initialiseRenderer(this.$refs.display);\n this.toggleRendering(this.render);\n this.ro = new ResizeObserver(this.adjustLayout).observe(\n this.$refs.scaffoldContainer\n );\n this.defaultRate = this.$module.getPlayRate();\n },\n beforeDestroy: function() {\n if (this.ro) this.ro.disconnect();\n this.$module.destroy();\n this.$module = undefined;\n },\n methods: {\n /**\n * This is called when a new organ is read into the scene.\n */\n organsAdded: function() {\n this.loading = false;\n },\n /**\n * This is called when Change backgspeedround colour button\n * is pressed an causes the backgrouColornd colour to be changed\n * to one of the three preset colour: white, black and\n * lightskyblue.\n */\n backgroundChangeCallback: function(colour) {\n this.currentBackground = colour;\n this.$module.zincRenderer\n .getThreeJSRenderer()\n .setClearColor(this.currentBackground, 1);\n },\n /**\n * This is called by captueeScreenshot and after the last render\n * loop, it download a screenshot of the current scene with no UI.\n */\n captureScreenshotCallback: function() {\n //Remove the callback, only needs to happen once\n this.$module.zincRenderer.removePostRenderCallbackFunction(\n this.captureID\n );\n let screenshot = this.$module.zincRenderer\n .getThreeJSRenderer()\n .domElement.toDataURL(\"image/png\");\n let hrefElement = document.createElement(\"a\");\n document.body.append(hrefElement);\n if (!this.captureFilename) hrefElement.download = `screenshot.png`;\n else hrefElement.download = this.captureFilename;\n hrefElement.href = screenshot;\n hrefElement.click();\n hrefElement.remove();\n },\n /**\n * Function for capturing a screenshot of the current rendering.\n *\n * @param {String} filename filename given to the screenshot.\n *\n * @public\n */\n captureScreenshot: function(filename) {\n this.captureFilename = filename;\n this.captureID = this.$module.zincRenderer.addPostRenderCallbackFunction(\n this.captureScreenshotCallback\n );\n },\n formatTooltip(val) {\n if (this.timeMax >= 1000) {\n if (val) {\n let sec = ((val % 60000) / 1000).toFixed(2) + \"s\";\n let min = val > 60000 ? (val / 60000).toFixed(0) + \"m \" : \"\";\n return min + sec;\n }\n }\n return val ? val.toFixed(2) + \" ms\" : \"0 ms\";\n },\n /**\n * Function to reset the view to default.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n fitWindow: function() {\n if (this.$module.scene) {\n this.$module.scene.viewAll();\n }\n },\n /**\n * Function to zoom in.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n zoomIn: function() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(-1);\n }\n },\n /**\n * Function to zoom out.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n zoomOut: function() {\n if (this.$module.scene) {\n this.$module.scene.changeZoomByScrollRateUnit(1);\n }\n },\n /**\n * Function to change the current play speed.\n *\n * @public\n */\n speedChanged: function(speed) {\n this.currentSpeed = speed;\n this.$module.setPlayRate(this.defaultRate * this.currentSpeed);\n },\n /**\n * Function used to stop the free spin\n *\n * @public\n */\n stopFreeSpin: function() {\n let cameracontrol = this.$module.scene.getZincCameraControls();\n cameracontrol.stopAutoTumble();\n this.isTransitioning = false;\n },\n findObjectsWithGroupName: function(name) {\n let objects = [];\n if (name && name != \"\" && this.$module.scene) {\n objects = this.$module.scene.findObjectsWithGroupName(name);\n }\n return objects;\n },\n /**\n * Focus on named region\n */\n viewRegion: function(names) {\n const rootRegion = this.$module.scene.getRootRegion();\n const groups = Array.isArray(names) ? names : [names];\n const objects = findObjectsWithNames(rootRegion, groups, \"\");\n let box = this.$module.scene.getBoundingBoxOfZincObjects(objects);\n if (box) {\n if (this.$module.isSyncControl()) {\n this.$module.setSyncControlZoomToBox(box);\n } else {\n this.$module.scene.viewAllWithBoundingBox(box);\n }\n return true;\n }\n return false;\n },\n setFocusedRegion: function(name) {\n if (name) {\n if (this.isReady) {\n this.viewRegion(name);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({ region: name })\n );\n }\n }\n },\n updateViewURL: function(viewURL) {\n if (viewURL) {\n if (this.isReady) {\n const url = new URL(viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({ viewURL: viewURL })\n );\n }\n }\n },\n getRendererInfo: function() {\n if (this.$module.zincRenderer) {\n return this.$module.zincRenderer.getThreeJSRenderer().info;\n }\n return undefined;\n },\n /**\n * Function used to rotate the scene.\n * Also called when the associated button is pressed.\n *\n * @public\n */\n freeSpin: function() {\n if (this.$module.scene) {\n let cameracontrol = this.$module.scene.getZincCameraControls();\n this.isTransitioning = true;\n cameracontrol.enableAutoTumble();\n cameracontrol.autoTumble([1.0, 0.0], Math.PI, true);\n setTimeout(this.stopFreeSpin, 4000);\n }\n },\n /**\n * Callback when a region is selected/highlighted.\n * It will also update other controls.\n */\n eventNotifierCallback: function(event) {\n const names = [];\n const region = undefined;\n if (event.eventType == 1 || event.eventType == 2) {\n event.identifiers.forEach(identifier => {\n if (identifier) {\n let id = identifier.data.id\n ? identifier.data.id\n : identifier.data.group;\n names.push(id);\n }\n });\n }\n if (event.eventType == 1) {\n if (this.$refs.treeControl) {\n if (names.length > 0) {\n this.$refs.treeControl.changeActiveByNames(names, region, false);\n } else {\n this.$refs.treeControl.removeActive(true);\n }\n }\n // Triggers when an object has been selected\n this.$emit(\"scaffold-selected\", event.identifiers);\n } else if (event.eventType == 2) {\n this.tData.visible = false;\n // const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n if (this.$refs.treeControl) {\n if (names.length > 0) {\n this.$refs.treeControl.changeHoverByNames(names, region, false);\n } else {\n this.$refs.treeControl.removeHover(true);\n }\n }\n if ((event.identifiers.length > 0) && event.identifiers[0]) {\n let id = event.identifiers[0].data.id\n ? event.identifiers[0].data.id\n : event.identifiers[0].data.group;\n if (event.identifiers[0].coords) {\n this.tData.visible = true;\n this.tData.label = id;\n this.tData.x = event.identifiers[0].coords.x;\n this.tData.y = event.identifiers[0].coords.y;\n }\n }\n // Triggers when an object has been highlighted\n this.$emit(\"scaffold-highlighted\", event.identifiers);\n } else if (event.eventType == 3) { //MOVE\n if ((event.identifiers.length > 0) && event.identifiers[0]) {\n if (event.identifiers[0].coords) {\n const offsets = this.$refs.scaffoldContainer.getBoundingClientRect();\n this.tData.x = event.identifiers[0].coords.x - offsets.left;\n this.tData.y = event.identifiers[0].coords.y - offsets.top;\n }\n }\n }\n },\n /**\n * Get the coordinates of the current selected region.\n *\n * @public\n */\n getCoordinatesOfSelected: function() {\n if (this.selectedObjects && this.selectedObjects.length > 0) {\n return this.$module.scene.getObjectsScreenXY([this.selectedObjects]);\n }\n return undefined;\n },\n /**\n * Return an object containing the window coordinates of the\n * current selected region which will be updated after each render\n * loop.\n *\n * @public\n */\n getDynamicSelectedCoordinates: function() {\n return this.$module.selectedScreenCoordinates;\n },\n /**\n * Callback when time is changed through the UI.\n */\n timeChange: function(event) {\n let normalizedTime = (event / this.timeMax) * 100;\n if (normalizedTime != this.sceneData.currentTime)\n this.$module.updateTime(normalizedTime);\n },\n /**\n * A callback used by children components. Set the selected zinc object\n *\n * @param {object} object Zinc object\n */\n objectSelected: function(objects, propagate) {\n this.selectedObjects = objects;\n if (this.selectedObjects)\n this.$refs.opacityControl.setObject(this.selectedObjects[0]);\n if (objects) this.$module.setSelectedByZincObjects(objects, undefined, propagate);\n else this.$module.setSelectedByObjects([], undefined, propagate);\n },\n /**\n * A callback used by children components. Set the highlighted zinc object\n *\n * @param {object} object Zinc object\n */\n objectHovered: function(objects, propagate) {\n this.hoveredObjects = objects;\n if (objects) this.$module.setHighlightedByZincObjects(objects, undefined, propagate);\n else this.$module.setHighlightedByObjects([], undefined, propagate);\n },\n /**\n * Set the selected by name.\n *\n * @param {} name Name of the group\n */\n changeActiveByName: function(names, region, propagate) {\n const isArray = Array.isArray(names);\n if (names === undefined || (isArray && names.length === 0)) {\n this.$refs.treeControl.removeActive(propagate);\n } else {\n let array = names;\n if (!isArray)\n array = [array];\n this.$refs.treeControl.changeActiveByNames(array, region, propagate);\n }\n },\n /**\n * Set the highlighted by name.\n *\n * @param {name} name Name of the group\n */\n changeHighlightedByName: function(names, region, propagate) {\n const isArray = Array.isArray(names);\n if (names === undefined || (isArray && names.length === 0)) {\n this.$refs.treeControl.removeHover(propagate);\n } else {\n let array = names;\n if (!isArray)\n array = [array];\n this.$refs.treeControl.changeHoverByNames(array, region, propagate);\n }\n },\n /**\n * Start the animation.\n *\n * @param {object} object Zinc object\n */\n play: function(flag) {\n this.$module.playAnimation(flag);\n this.isPlaying = flag;\n },\n /**\n * Function to toggle on/off overlay help.\n */\n setHelpMode: function(helpMode) {\n if (helpMode) {\n this.inHelp = true;\n this.hoverVisabilities.forEach(item => {\n item.value = true;\n });\n } else {\n this.inHelp = false;\n this.hoverVisabilities.forEach(item => {\n item.value = false;\n });\n }\n },\n /**\n * This is called when mouse cursor enters supported elements\n * with help tootltips.\n */\n showToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.tooltipWait = setTimeout(() => {\n this.hoverVisabilities[tooltipNumber].value = true;\n }, 500);\n }\n },\n /**\n * This is called when mouse cursor exits supported element..\n */\n hideToolitip: function(tooltipNumber) {\n if (!this.inHelp) {\n this.hoverVisabilities[tooltipNumber].value = false;\n clearTimeout(this.tooltipWait);\n }\n },\n /**\n * Called when minimap settings has changed. Pass the\n * parameters to ZincJS and marked it for update.\n */\n updateMinimapScissor: function() {\n Object.keys(this.minimapSettings).forEach(key => {\n this.$module.scene.minimapScissor[key] = this.minimapSettings[key];\n });\n this.$module.scene.minimapScissor.updateRequired = true;\n },\n updateSettingsfromScene: function() {\n this.currentSpeed = 1;\n this.$module.setPlayRate(this.defaultRate);\n this.orginalDuration = this.$module.scene.getMetadataTag(\n \"OriginalDuration\"\n );\n this.animateDuration = this.$module.scene.getMetadataTag(\"Duration\");\n let timeStamps = this.$module.scene.getMetadataTag(\"TimeStamps\");\n this.timeStamps = {};\n for (const key in timeStamps) {\n this.timeStamps[timeStamps[key]] = key;\n }\n this.timeMax = this.$module.scene.getDuration();\n },\n setURLFinishCallback: function(options) {\n return () => {\n if (options) {\n if (options.viewport) {\n this.$module.scene\n .getZincCameraControls()\n .setCurrentCameraSettings(options.viewport);\n } else if (options.viewURL && options.viewURL !== \"\") {\n const url = new URL(options.viewURL, this.url);\n this.$module.scene.loadViewURL(url);\n } else if (options.region && options.region !== \"\") {\n this.viewRegion(options.region);\n }\n if (options.visibility) {\n // Some UIs may not be ready at this time.\n this.$nextTick(() => {\n this.$refs.treeControl.setState(options.visibility);\n });\n }\n }\n this.updateSettingsfromScene();\n this.$module.updateTime(0.01);\n this.$module.updateTime(0);\n this.$module.unsetFinishDownloadCallback();\n this.$emit(\"on-ready\");\n this.isReady = true;\n };\n },\n /**\n * Function used for getting the current states of the scene. This exported states\n * can be imported using the importStates method.\n *\n * @public\n */\n getState: function() {\n let state = {\n format: this.fileFormat,\n url: this._currentURL,\n viewport: undefined,\n visibility: undefined,\n };\n if (this.$refs.treeControl)\n state.visibility = this.$refs.treeControl.getState();\n if (this.$module.scene) {\n let zincCameraControls = this.$module.scene.getZincCameraControls();\n state.viewport = zincCameraControls.getCurrentViewport();\n }\n return state;\n },\n /**\n * Function used for importing the states of the scene. This exported states\n * can be imported using the read states method.\n *\n * @public\n */\n setState: function(state) {\n if (state) {\n if (state.url && state.url !== this._currentURL) {\n this.setURLAndState(state.url, {\n fileFormat: state.fileFormat,\n viewport: state.viewport,\n visibility: state.visibility\n });\n } else {\n if (state.viewport || state.visibility) {\n if (this.isReady && this.$module.scene) {\n if (state.viewport)\n this.$module.scene\n .getZincCameraControls()\n .setCurrentCameraSettings(state.viewport);\n if (state.visibility)\n this.$refs.treeControl.setState(state.visibility);\n } else {\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({\n viewport: state.viewport,\n visibility: state.visibility\n })\n );\n }\n }\n }\n }\n },\n exportGLTF: function(binary) {\n return this.$module.scene.exportGLTF(binary);\n },\n /**\n * Function used for reading in new scaffold metadata and a custom\n * viewport. This function will ignore the state prop and\n * read in the new url.\n *\n * @public\n */\n setURLAndState: function(newValue, state) {\n if (newValue != this._currentURL) {\n if (state && state.format) this.fileFormat = state.format;\n let viewport = state && state.viewport ? state.viewport : undefined;\n let visibility =\n state && state.visibility ? state.visibility : undefined;\n this._currentURL = newValue;\n if (this.$refs.treeControl)\n this.$refs.treeControl.clear();\n this.loading = true;\n this.isReady = false;\n this.$module.setFinishDownloadCallback(\n this.setURLFinishCallback({\n viewport: viewport,\n region: this.region,\n viewURL: this.viewURL,\n visibility: visibility\n })\n );\n if (this.fileFormat === \"gltf\") {\n this.$module.loadGLTFFromURL(newValue, \"scene\", true);\n } else {\n this.$module.loadOrgansFromURL(\n newValue,\n undefined,\n undefined,\n \"scene\",\n undefined,\n true\n );\n }\n this.$module.scene.displayMarkers = this.displayMarkers;\n this.$module.scene.displayMinimap = this.displayMinimap;\n this.updateMinimapScissor();\n }\n },\n /**\n * Function used for reading in new scaffold metadata. This function will ignore\n * the state prop and read in the new url.\n *\n * @public\n */\n setURL: function(newValue) {\n this.setURLAndState(newValue, undefined);\n },\n /**\n * Callback when drawer is toggled.\n */\n drawerToggled: function(flag) {pppp\n this.drawerOpen = flag;\n this.adjustLayout();\n },\n /**\n * Callback using ResizeObserver.\n */\n adjustLayout: function() {\n let width = this.$refs.scaffoldContainer.clientWidth;\n this.minimisedSlider = width < 812;\n if (this.minimisedSlider) {\n this.sliderPosition = this.drawerOpen ? \"right\" : \"left\";\n } else {\n this.sliderPosition = \"\";\n }\n },\n toggleRendering: function(flag) {\n if (this.$module.zincRenderer) {\n if (flag) {\n this.$module.zincRenderer.animate();\n } else {\n this.$module.zincRenderer.stopAnimate();\n }\n }\n },\n forceResize: function() {\n if (this.$module.zincRenderer) {\n this.$module.zincRenderer.onWindowResize();\n }\n },\n syncControlCallback: function() {\n const payload = this.$module.NDCCameraControl.getPanZoom();\n this.$emit(\"scaffold-navigated\", payload);\n },\n /** \n * Rotate mode - \"none\", \"horizontal\", \"vertical\", \"free\" but\n * it will be ignored if flag is set to false.\n */\n toggleSyncControl: function(flag, rotateMode) {\n this.$module.toggleSyncControl(flag, rotateMode);\n this.$module.setSyncControlCallback(this.syncControlCallback);\n }\n }\n};\n</script>\n\n<!-- Add \"scoped\" attribute to limit CSS to this component only -->\n<style scoped lang=\"scss\">\n@import \"~element-ui/packages/theme-chalk/src/col\";\n@import \"~element-ui/packages/theme-chalk/src/loading\";\n@import \"~element-ui/packages/theme-chalk/src/option\";\n@import \"~element-ui/packages/theme-chalk/src/popover\";\n@import \"~element-ui/packages/theme-chalk/src/row\";\n@import \"~element-ui/packages/theme-chalk/src/select\";\n@import \"~element-ui/packages/theme-chalk/src/slider\";\n@import \"~element-ui/packages/theme-chalk/src/tabs\";\n@import \"~element-ui/packages/theme-chalk/src/tab-pane\";\n\n.warning-icon {\n position: absolute;\n top: 15px;\n left: 37px;\n text-align: left;\n font-size: 25px;\n color: $warning;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.warning-text {\n font-size: 15px;\n vertical-align: 5px;\n}\n\n::v-deep .warning-popper {\n padding: 9px 10px;\n min-width: 150px;\n font-size: 12px;\n color: #fff;\n background-color: $warning;\n\n &.right-popper {\n .popper__arrow {\n &::after {\n border-right-color: $warning !important;\n }\n }\n }\n}\n\n#organsDisplayArea {\n &:focus {\n outline: none !important;\n border: 0px;\n }\n}\n\n.scaffold-container {\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n.time-slider-container {\n text-align: left;\n position: absolute;\n right: 155px;\n width: calc(100% - 530px);\n bottom: 16px;\n transition: all 1s ease;\n outline: none;\n\n &.minimised {\n width: calc(40%);\n }\n\n &.left {\n right: 155px;\n width: calc(100% - 250px);\n }\n\n &.right {\n right: 8px;\n bottom: 54px;\n }\n}\n\n.slider-display-text {\n height: 20px;\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n padding-left: 8px;\n text-shadow: -1px -1px #fff, 1px -1px #fff, -1px 1px #fff, 1px -1px #fff;\n}\n\n.tab-content {\n display: flex;\n height: 34px;\n padding-top: 8px;\n font-size: 14px;\n}\n\n.tab-content ::v-deep .el-slider__marks-text {\n margin-top: 12px;\n margin-left: 8px;\n font-size: 10px;\n}\n\n.tab-content ::v-deep .el-slider__stop {\n width: 10px;\n height: 10px;\n top: -1px;\n border: solid 1px $app-primary-color;\n}\n\n.animation-data {\n margin-left: 8px;\n line-height: 26px;\n display: flex;\n\n :not(:first-child) {\n margin-left: 8px;\n }\n .purple {\n padding-left: 2px;\n color: $app-primary-color;\n }\n}\n.slider {\n margin-left: 30px;\n width: calc(100% - 88px);\n margin-top: -7px;\n\n ::v-deep .el-slider__runway {\n height: 10px;\n margin: 14px 0;\n }\n\n ::v-deep .el-slider__button-wrapper {\n top: -13px;\n }\n}\n\n.zoomOut {\n padding-left: 8px;\n}\n\n.fitWindow {\n padding-left: 8px;\n}\n\n::v-deep .non-selectable {\n user-select: none;\n}\n\n::v-deep .background-popper {\n padding: 5px 12px;\n background-color: #ffffff;\n border: 1px solid $app-primary-color;\n box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.06);\n height: 72px;\n width: 128px;\n min-width: 128px;\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #fff !important;\n }\n }\n }\n}\n\n.background-colour {\n bottom: 16px;\n position: absolute;\n transition: all 1s ease;\n\n &.open {\n left: 322px;\n }\n\n &.close {\n left: 24px;\n }\n}\n\n.backgroundText {\n color: rgb(48, 49, 51);\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n}\n\n.backgroundChooser {\n display: flex;\n margin-top: 16px;\n}\n\n.backgroundChoice {\n width: 20px;\n height: 20px;\n border: 1px solid rgb(144, 147, 153);\n margin-left: 20px;\n\n &.active {\n border: 2px solid $app-primary-color;\n }\n\n &:hover {\n cursor: pointer;\n }\n\n &.white {\n background-color: white;\n margin-left: 10px;\n }\n\n &.black {\n background-color: black;\n }\n\n &.lightskyblue {\n background-color: lightskyblue;\n }\n}\n\n.icon-button {\n height: 24px !important;\n width: 24px !important;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.bottom-right-control {\n position: absolute;\n right: 16px;\n bottom: 16px;\n}\n\n.video-button {\n margin-left: 8px;\n}\n\n.time-slider-container {\n ::v-deep .el-tabs__header {\n margin: 0px;\n border-bottom: 1px solid rgb(144, 147, 153);\n }\n\n .el-row {\n margin-bottom: 5px;\n }\n\n ::v-deep .el-tabs__content {\n border-left: 1px solid rgb(144, 147, 153);\n border-bottom: 1px solid rgb(144, 147, 153);\n border-right: 1px solid rgb(144, 147, 153);\n border-radius: 0px 0px 4px 4px;\n background-color: white;\n }\n\n ::v-deep .el-tabs--card {\n > .el-tabs__header {\n .el-tabs__nav {\n border: 1px solid rgb(144, 147, 153);\n border-bottom: none;\n border-radius: 4px 4px 0px 0px;\n background-color: white;\n }\n\n .el-tabs__item {\n height: 24px;\n line-height: 24px;\n padding: 0 8px !important;\n border-bottom: 1px solid;\n border-left: 1px solid rgb(144, 147, 153);\n &:first-child {\n border-left: none;\n }\n &.is-active {\n border-bottom: 1px solid white;\n color: rgb(48, 49, 51);\n }\n &:hover {\n color: $app-primary-color;\n }\n }\n }\n }\n}\n\n::v-deep .scaffold-popper {\n padding: 6px 4px;\n font-size: 12px;\n color: rgb(48, 49, 51);\n background-color: #f3ecf6;\n border: 1px solid $app-primary-color;\n white-space: nowrap;\n min-width: unset;\n pointer-events: none;\n\n &.left-popper {\n .popper__arrow {\n border-left-color: $app-primary-color !important;\n &:after {\n border-left-color: #f3ecf6 !important;\n }\n }\n }\n\n &.right-popper {\n .popper__arrow {\n border-right-color: $app-primary-color !important;\n &:after {\n border-right-color: #f3ecf6 !important;\n }\n }\n }\n\n &.el-popper[x-placement^=\"top\"] {\n .popper__arrow {\n border-top-color: $app-primary-color !important;\n &:after {\n border-top-color: #f3ecf6 !important;\n }\n }\n }\n}\n\n::v-deep .el-slider__button {\n border: 2px solid $app-primary-color;\n}\n\n::v-deep .el-slider__bar {\n background-color: $app-primary-color;\n height: 10px;\n}\n\n::v-deep .el-loading-spinner {\n i, .el-loading-text {\n color: $app-primary-color;\n }\n}\n\n::v-deep .popper-zoomout {\n padding-right: 11px;\n left: -21px !important;\n .popper__arrow {\n left: 53px !important;\n }\n}\n\n.select-box {\n width: 57px;\n border-radius: 4px;\n border: 1px solid rgb(144, 147, 153);\n background-color: var(--white);\n font-weight: 500;\n color: rgb(48, 49, 51);\n margin-left: 8px;\n\n ::v-deep .el-input__inner {\n color: $app-primary-color;\n height: 22px;\n padding-left: 8px;\n padding-right: 8px;\n border: none;\n font-family: \"Asap\", sans-serif;\n line-height: 22px;\n }\n\n ::v-deep .el-input,\n ::v-deep .el-input__icon {\n line-height: 22px;\n }\n}\n</style>\n\n<style lang=\"scss\">\n.time-slider-tooltip {\n padding: 6px 4px !important;\n font-family: \"Asap\", sans-serif;\n font-size: 12px !important;\n color: rgb(48, 49, 51) !important;\n background-color: #f3ecf6 !important;\n border: 1px solid $app-primary-color !important;\n white-space: nowrap !important;\n min-width: unset !important;\n}\n\n.scaffold_viewer_dropdown .el-select-dropdown__item {\n white-space: nowrap;\n text-align: left;\n font-family: \"Asap\", sans-serif;\n}\n\n.opacity-box {\n right: 0px;\n bottom:200px;\n position:absolute;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScaffoldVuer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScaffoldVuer.vue?vue&type=template&id=3340a547&scoped=true&\"\nimport script from \"./ScaffoldVuer.vue?vue&type=script&lang=js&\"\nexport * from \"./ScaffoldVuer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScaffoldVuer.vue?vue&type=style&index=0&id=3340a547&scoped=true&lang=scss&\"\nimport style1 from \"./ScaffoldVuer.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3340a547\",\n null\n \n)\n\nexport default component.exports","module.exports = require(\"core-js/modules/es.string.includes.js\");"],"sourceRoot":""}
|