{"version":3,"sources":["webpack:////src/components/Navbar/index.vue?75e3","webpack:///../../../src/components/VItemGroup/VItemGroup.ts","webpack:///../../../src/mixins/comparable/index.ts","webpack:////node_modules/core-js/modules/es.array.find-index.js","webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:////src/components/Navbar/index.vue","webpack:///src/components/Navbar/index.vue","webpack:////src/components/Navbar/index.vue?7a96","webpack:////src/components/Navbar/index.vue?d27c","webpack:///../../../src/components/VMenu/VMenu.ts"],"names":["BaseItemGroup","mixins","Comparable","Proxyable","Themeable","extend","name","props","activeClass","type","String","default","mandatory","Boolean","max","Number","multiple","tag","data","internalLazyValue","undefined","this","value","items","computed","classes","_objectSpread","themeClasses","selectedIndex","selectedItem","indexOf","selectedItems","_this","filter","item","index","toggleMethod","getValue","selectedValues","internalValue","Array","isArray","_this2","v","valueComparator","some","intern","watch","created","consoleWarn","methods","genData","class","i","onClick","updateInternalValue","register","_this3","push","$on","length","updateMandatory","updateItem","unregister","_isDestroyed","splice","valueIndex","isActive","updateItemsState","_this4","$nextTick","forEach","updateMultiple","updateSingle","last","slice","reverse","find","disabled","_this5","defaultValue","findIndex","val","isSame","render","h","getSlot","provide","itemGroup","Vue","Function","deepEqual","$","$findIndex","addToUnscopables","FIND_INDEX","SKIPS_HOLES","target","proto","forced","callbackfn","arguments","VSheet","Colorable","Toggleable","PositionableFactory","app","centered","contentClass","multiLine","text","timeout","transition","validator","vertical","activeTimeout","absolute","bottom","top","hasBackground","left","right","outlined","isDark","light","options","call","styles","_this$$vuetify$applic","$vuetify","application","bar","footer","insetFooter","paddingBottom","convertToUnit","paddingLeft","paddingRight","paddingTop","mounted","setTimeout","$attrs","hasOwnProperty","removed","deprecate","genActions","$createElement","staticClass","attrs","genContent","_defineProperty","role","genWrapper","setColor","setBackgroundColor","setTextColor","color","style","directives","on","pointerenter","window","clearTimeout","pointerleave","genTransition","includes","scopedSlots","key","tooltip","_vm","openPlotOptions","mode","setCurrentMode","staticStyle","_v","fn","_ref4","_b","_c","_ref5","_ref6","_ref7","click","$event","setZoomActionState","setShapeOfCurrentGeometryState","sincronizado","_ref11","view_confirm_eraser_modal","model","callback","expression","showMessage","staticRenderFns","components","MenuButton","Notifications","HelpButton","mapGetters","nocturne","get","theme","dark","set","localStorage","setItem","user","view_dropdown_menu","view_dropdown_menu_geometries","view_dropdown_menu_zoom","drawing","getUser","mapActions","firebase","auth","currentUser","awayMenuClick","string","setShapeOfCurrentGeometry","setZoomAction","AlteraForma","$emit","updateColor","squareClick","DefineMode","openModal","menuAtivo","component","baseMixins","Dependent","Delayable","Returnable","Roundable","Menuable","ClickOutside","Resize","isInMenu","auto","closeOnClick","closeOnContentClick","disableKeys","maxHeight","offsetX","offsetY","openOnHover","origin","contentProps","Object","calculatedTopAuto","defaultOffset","hasJustFocused","listIndex","resizeTimeout","tiles","activeTile","calculatedLeft","menuWidth","Math","dimensions","content","width","parseFloat","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","height","calculatedMaxWidth","maxWidth","minWidth","min","activator","nudgeWidth","pageWidth","isNaN","parseInt","calculatedTop","calcYOverflow","calcTop","hasClickableTiles","tile","tabIndex","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","add","scrollTop","$refs","contentHeight","clientHeight","offsetTop","goTo","appOffset","duration","container","remove","callActivate","activate","updateDimensions","requestAnimationFrame","startTransition","then","calcTopAuto","calcScrollPosition","$el","querySelector","maxScrollTop","scrollHeight","offsetHeight","computedTop","from","tileDistanceFromMenuTop","firstTileOffsetTop","changeListIndex","e","getTiles","keyCode","keyCodes","tab","down","nextTile","up","prevTile","end","lastTile","home","firstTile","enter","preventDefault","closeConditional","contains","genActivatorAttributes","attributes","Activatable","id","genActivatorListeners","listeners","keydown","onKeyDown","genDirectives","handler","include","concat","_toConsumableArray","getOpenDependentElements","getScopeIdAttrs","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","trim","ref","getAttribute","$listeners","scroll","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","getContentSlot","querySelectorAll","runDelay","_a","relatedTarget","callDeactivate","_this6","esc","getActivator","focus","onResize","offsetWidth","_this7","attach","arg","genActivator","showLazyContent","VThemeProvider","root"],"mappings":"yIAAA,W,oQCuBaA,EAAgBC,eAC3BC,OACAC,OACAC,QACAC,OAAO,CACPC,KAAM,kBAENC,MAAO,CACLC,YAAa,CACXC,KAAMC,OACNC,QAAS,kBAEXC,UAAWC,QACXC,IAAK,CACHL,KAAM,CAACM,OAAQL,QACfC,QAAS,MAEXK,SAAUH,QACVI,IAAK,CACHR,KAAMC,OACNC,QAAS,QAIbO,KAAI,WACF,MAAO,CAILC,uBAAkCC,IAAfC,KAAKC,MACpBD,KAAKC,MACLD,KAAKL,SAAW,QAAKI,EACzBG,MAAO,KAIXC,SAAU,CACRC,QAAO,WACL,OAAAC,eAAA,CACE,gBAAgB,GACbL,KAAKM,eAGZC,cAAa,WACX,OAAQP,KAAKQ,cAAgBR,KAAKE,MAAMO,QAAQT,KAAKQ,gBAAmB,GAE1EA,aAAY,WACV,IAAIR,KAAKL,SAET,OAAOK,KAAKU,cAAc,IAE5BA,cAAa,eAAAC,EAAA,KACX,OAAOX,KAAKE,MAAMU,QAAO,SAACC,EAAMC,GAC9B,OAAOH,EAAKI,aAAaJ,EAAKK,SAASH,EAAMC,QAGjDG,eAAc,WACZ,OAA0B,MAAtBjB,KAAKkB,cAA8B,GAEhCC,MAAMC,QAAQpB,KAAKkB,eACtBlB,KAAKkB,cACL,CAAClB,KAAKkB,gBAEZH,aAAY,eAAAM,EAAA,KACV,IAAKrB,KAAKL,SACR,OAAQ,SAAA2B,GAAD,OAAYD,EAAKE,gBAAgBF,EAAKH,cAAeI,IAG9D,IAAMJ,EAAgBlB,KAAKkB,cAC3B,OAAIC,MAAMC,QAAQF,GACR,SAAAI,GAAD,OAAYJ,EAAcM,MAAK,SAAAC,GAAM,OAAIJ,EAAKE,gBAAgBE,EAAQH,OAGxE,kBAAM,KAIjBI,MAAO,CACLR,cAAe,mBACfhB,MAAO,oBAGTyB,QAAO,WACD3B,KAAKL,WAAawB,MAAMC,QAAQpB,KAAKkB,gBACvCU,eAAY,oEAAqE5B,OAIrF6B,QAAS,CAEPC,QAAO,WACL,MAAO,CACLC,MAAO/B,KAAKI,UAGhBY,SAAQ,SAAEH,EAAyBmB,GACjC,YAAsBjC,IAAfc,EAAKZ,MACR+B,EACAnB,EAAKZ,OAEXgC,QAAO,SAAEpB,GACPb,KAAKkC,oBACHlC,KAAKgB,SAASH,EAAMb,KAAKE,MAAMO,QAAQI,MAG3CsB,SAAQ,SAAEtB,GAAuB,IAAAuB,EAAA,KACzBtB,EAAQd,KAAKE,MAAMmC,KAAKxB,GAAQ,EAEtCA,EAAKyB,IAAI,UAAU,kBAAMF,EAAKH,QAAQpB,MAIlCb,KAAKT,YAAcS,KAAKiB,eAAesB,QACzCvC,KAAKwC,kBAGPxC,KAAKyC,WAAW5B,EAAMC,IAExB4B,WAAU,SAAE7B,GACV,IAAIb,KAAK2C,aAAT,CAEA,IAAM7B,EAAQd,KAAKE,MAAMO,QAAQI,GAC3BZ,EAAQD,KAAKgB,SAASH,EAAMC,GAElCd,KAAKE,MAAM0C,OAAO9B,EAAO,GAEzB,IAAM+B,EAAa7C,KAAKiB,eAAeR,QAAQR,GAG/C,KAAI4C,EAAa,GAAjB,CAGA,IAAK7C,KAAKT,UACR,OAAOS,KAAKkC,oBAAoBjC,GAI9BD,KAAKL,UAAYwB,MAAMC,QAAQpB,KAAKkB,eACtClB,KAAKkB,cAAgBlB,KAAKkB,cAAcN,QAAO,SAAAU,GAAC,OAAIA,IAAMrB,KAE1DD,KAAKkB,mBAAgBnB,EAMlBC,KAAKU,cAAc6B,QACtBvC,KAAKwC,iBAAgB,MAGzBC,WAAU,SAAE5B,EAAyBC,GACnC,IAAMb,EAAQD,KAAKgB,SAASH,EAAMC,GAElCD,EAAKiC,SAAW9C,KAAKe,aAAad,IAGpC8C,iBAAgB,eAAAC,EAAA,KACdhD,KAAKiD,WAAU,WACb,GAAID,EAAKzD,YACNyD,EAAKtC,cAAc6B,OAEpB,OAAOS,EAAKR,kBAMdQ,EAAK9C,MAAMgD,QAAQF,EAAKP,gBAG5BP,oBAAmB,SAAEjC,GACnBD,KAAKL,SACDK,KAAKmD,eAAelD,GACpBD,KAAKoD,aAAanD,IAExBuC,gBAAe,SAAEa,GACf,GAAKrD,KAAKE,MAAMqC,OAAhB,CAEA,IAAMrC,EAAQF,KAAKE,MAAMoD,QAErBD,GAAMnD,EAAMqD,UAEhB,IAAM1C,EAAOX,EAAMsD,MAAK,SAAA3C,GAAI,OAAKA,EAAK4C,YAItC,GAAK5C,EAAL,CAEA,IAAMC,EAAQd,KAAKE,MAAMO,QAAQI,GAEjCb,KAAKkC,oBACHlC,KAAKgB,SAASH,EAAMC,OAGxBqC,eAAc,SAAElD,GAAU,IAAAyD,EAAA,KAClBC,EAAexC,MAAMC,QAAQpB,KAAKkB,eACpClB,KAAKkB,cACL,GACEA,EAAgByC,EAAaL,QAC7BxC,EAAQI,EAAc0C,WAAU,SAAAC,GAAG,OAAIH,EAAKnC,gBAAgBsC,EAAK5D,MAGrED,KAAKT,WAELuB,GAAS,GAETI,EAAcqB,OAAS,EAAI,GAKf,MAAZvC,KAAKP,KAELqB,EAAQ,GAERI,EAAcqB,OAAS,EAAIvC,KAAKP,MAGlCqB,GAAS,EACLI,EAAc0B,OAAO9B,EAAO,GAC5BI,EAAcmB,KAAKpC,GAEvBD,KAAKkB,cAAgBA,IAEvBkC,aAAY,SAAEnD,GACZ,IAAM6D,EAAS9D,KAAKuB,gBAAgBvB,KAAKkB,cAAejB,GAEpDD,KAAKT,WAAauE,IAEtB9D,KAAKkB,cAAgB4C,OAAS/D,EAAYE,KAI9C8D,OAAM,SAAEC,GACN,OAAOA,EAAEhE,KAAKJ,IAAKI,KAAK8B,UAAWmC,eAAQjE,UAIhCrB,EAAcK,OAAO,CAClCC,KAAM,eAENiF,QAAO,WACL,MAAO,CACLC,UAAWnE,U,kCC1QjB,4BAIeoE,oBAAIpF,OAAO,CACxBC,KAAM,aACNC,MAAO,CACLqC,gBAAiB,CACfnC,KAAMiF,SACN/E,QAASgF,Y,kCCRf,IAAIC,EAAI,EAAQ,QACZC,EAAa,EAAQ,QAAgCZ,UACrDa,EAAmB,EAAQ,QAE3BC,EAAa,YACbC,GAAc,EAIdD,IAAc,IAAIvD,MAAM,GAAGuD,IAAY,WAAcC,GAAc,KAIvEJ,EAAE,CAAEK,OAAQ,QAASC,OAAO,EAAMC,OAAQH,GAAe,CACvDf,UAAW,SAAmBmB,GAC5B,OAAOP,EAAWxE,KAAM+E,EAAYC,UAAUzC,OAAS,EAAIyC,UAAU,QAAKjF,MAK9E0E,EAAiBC,I,gWCDF9F,iBACbqG,OACAC,OACAC,OACAC,eAAoB,CAClB,WACA,SACA,OACA,QACA,SAGFpG,OAAO,CACPC,KAAM,aAENC,MAAO,CACLmG,IAAK7F,QACL8F,SAAU9F,QACV+F,aAAc,CACZnG,KAAMC,OACNC,QAAS,IAEXkG,UAAWhG,QACXiG,KAAMjG,QACNkG,QAAS,CACPtG,KAAM,CAACM,OAAQL,QACfC,QAAS,KAEXqG,WAAY,CACVvG,KAAM,CAACI,QAASH,QAChBC,QAAS,qBACTsG,UAAW,SAAAtE,GAAC,MAAiB,kBAANA,IAAwB,IAANA,IAE3CuE,SAAUrG,SAGZK,KAAM,iBAAO,CACXiG,eAAgB,IAGlB3F,SAAU,CACRC,QAAO,WACL,MAAO,CACL,oBAAqBJ,KAAK+F,SAC1B,kBAAmB/F,KAAK8C,SACxB,kBAAmB9C,KAAKgG,SAAWhG,KAAKiG,IACxC,oBAAqBjG,KAAKsF,SAC1B,0BAA2BtF,KAAKkG,cAChC,gBAAiBlG,KAAKmG,KACtB,sBAAuBnG,KAAKwF,YAAcxF,KAAK6F,SAC/C,iBAAkB7F,KAAKoG,MACvB,gBAAiBpG,KAAKyF,KACtB,eAAgBzF,KAAKiG,IACrB,oBAAqBjG,KAAK6F,WAK9BK,cAAa,WACX,OACGlG,KAAKyF,OACLzF,KAAKqG,UAKVC,OAAM,WACJ,OAAOtG,KAAKkG,eACPlG,KAAKuG,MACNxH,OAAUyH,QAAQrG,SAASmG,OAAOG,KAAKzG,OAE7C0G,OAAM,WACJ,GAAI1G,KAAK+F,WAAa/F,KAAKqF,IAAK,MAAO,GAEvC,IAAAsB,EAQI3G,KAAK4G,SAASC,YAPhBC,EADIH,EACJG,IACAd,EAFIW,EAEJX,OACAe,EAHIJ,EAGJI,OACAC,EAJIL,EAIJK,YACAb,EALIQ,EAKJR,KACAC,EANIO,EAMJP,MACAH,EAAAU,EAAAV,IAGF,MAAO,CACLgB,cAAeC,eAAclB,EAASe,EAASC,GAC/CG,YAAaD,eAAcf,GAC3BiB,aAAcF,eAAcd,GAC5BiB,WAAYH,eAAcJ,EAAMb,MAKtCvE,MAAO,CACLoB,SAAU,aACV4C,QAAS,cAGX4B,QAAO,WACDtH,KAAK8C,UAAU9C,KAAKuH,cAG1B5F,QAAO,WAED3B,KAAKwH,OAAOC,eAAe,gBAC7BC,eAAQ,cAAe1H,MAKL,GAAhBA,KAAK0F,SACPiC,eAAU,cAAe,KAAM3H,OAInC6B,QAAS,CACP+F,WAAU,WACR,OAAO5H,KAAK6H,eAAe,MAAO,CAChCC,YAAa,oBACZ,CACD7D,eAAQjE,KAAM,SAAU,CACtB+H,MAAO,CAAEhG,MAAO,qBAItBiG,WAAU,WACR,OAAOhI,KAAK6H,eAAe,MAAO,CAChCC,YAAa,mBACb/F,MAAKkG,eAAA,GACFjI,KAAKuF,cAAe,GAEvBwC,MAAO,CACLG,KAAM,SACN,YAAa,WAEd,CAACjE,eAAQjE,SAEdmI,WAAU,eAAAxH,EAAA,KACFyH,EAAWpI,KAAKkG,cAClBlG,KAAKqI,mBACLrI,KAAKsI,aAEHzI,EAAOuI,EAASpI,KAAKuI,MAAO,CAChCT,YAAa,mBACb/F,MAAOkD,OAAOuB,QAAQrG,SAASC,QAAQqG,KAAKzG,MAC5CwI,MAAOvD,OAAOuB,QAAQrG,SAASuG,OAAOD,KAAKzG,MAC3CyI,WAAY,CAAC,CACXxJ,KAAM,OACNgB,MAAOD,KAAK8C,WAEd4F,GAAI,CACFC,aAAc,kBAAMC,OAAOC,aAAalI,EAAKmF,gBAC7CgD,aAAc9I,KAAKuH,cAIvB,OAAOvH,KAAK6H,eAAe,MAAOhI,EAAM,CACtCG,KAAKgI,aACLhI,KAAK4H,gBAGTmB,cAAa,WACX,OAAO/I,KAAK6H,eAAe,aAAc,CACvC3I,MAAO,CAAED,KAAMe,KAAK2F,aACnB,CAAC3F,KAAKmI,gBAEXZ,WAAU,eAAAlG,EAAA,KACRuH,OAAOC,aAAa7I,KAAK8F,eAEzB,IAAMJ,EAAUhG,OAAOM,KAAK0F,SAGzB1F,KAAK8C,WAEN,CAAC,GAAI,GAAGkG,SAAStD,KAKnB1F,KAAK8F,cAAgB8C,OAAOrB,YAAW,WACrClG,EAAKyB,UAAW,IACf4C,MAIP3B,OAAM,SAAEC,GACN,OAAOA,EAAE,MAAO,CACd8D,YAAa,UACb/F,MAAO/B,KAAKI,QACZoI,MAAOxI,KAAK0G,QACX,EACmB,IAApB1G,KAAK2F,WACD3F,KAAK+I,gBACL/I,KAAKmI,kB,sCCrNoN,W,IAA+B,O,EAAkB,QAAW,G,OAAG,QAAU,W,MAAC,CAAa,SAAkB,OAAkB,aAACc,QAAqBC,MAAI,K,GAA4C,OAAV,C,YAAO,c,MAAI,C,OAA6B,G,KAAE,G,0BAAoB,E,cAAG,I,WAACD,G,MAAwB,G,QAAgB,G,YAAeE,M,YAAW,O,cAAyC,IAAO,C,4BAAa,G,MAAG,EAAO,G,EAA8E,Q,MAAI,GAAI,OAAK,CAAE,MAAK,CAA2B,SAAG,WAAwC,YAAC,OAAM,gBAAY,eAAO,QAAwB,GAAyG,2BAAQ,OAAG,SAAI,UAAiCC,QAAIC,MAAqB,8EAAC,UAAO,gBAAqB,kBAAwI,qBAAE,MAAK,CAAmItB,GAAM,eAAa,mFAACkB,OAAqBC,KAAI,I,GAAsC,C,MAAH,YAAI,OAAO,EAAI,iBAAeE,M,UAAqCE,GAAI,OAAI,MAAW,eAAe,oD,MAAG,C,GAAG,e,UAAsCC,aAAe,mBAAY,mD,cAAC,I,YAA0CC,EAAW,GAAC,E,mBAA6B,YAAC,IAAGJ,EAAIK,EAAG,GAA0B,UAAG,2BAAO,MAAO,CAAqD,QAAC,MAAS,kCAAIR,IAAyB,eAAW,GAAI,OAAAS,EAAAC,eAAuB,gBAAC,QAAW,GAAO,GAAQP,GAAIQ,CAAE,EAAC,QAAC7B,YAAM,CAAC,UAAS,mBAAgD,sC,UAA8B,GAAOqB,GAAIG,uBAAwB,EAAC,Q,cAAC,I,YAA2F,OAAG,gBAAIM,GAAG,SAAYJ,GAAwC1B,IAAM,OAAC,EAAS,QAAG,2BAACkB,MAAYG,CAAa,QAAe,MAAuB,WAAvBM,EAAAI,KAAuB,cAAR/B,IAAS,MAAW,SAAeqB,GAAQrB,OAAM,+BAAuD,iF,UAA8B,GAAOqB,GAAIG,qBAAsB,U,cAAC,I,YAA2E,OAAG,gBAAIM,GAAG,SAAYJ,GAA0C1B,IAAM,OAAC,EAAS,QAAG,2BAACkB,MAAYG,CAAa,QAAe,MAAuB,QAAvBM,EAAAK,KAAuB,cAARhC,IAAS,MAAW,SAAeqB,GAAQrB,OAAM,4BAAyD,iE,UAA8B,GAAOqB,GAAIG,uBAAwB,U,cAAC,I,YAAmE,OAAG,gBAAIM,GAAG,SAAYJ,GAA8B3B,MAAY,KAAmB,EAAC,QAAC,MAAQ,CAAC,EAAE,kBAAC,OAA+B,KAAa,GAAK,MAAa,+BAAoB,IAAe,MAAY,SAAK,GAAC,OAAY,8BAAgC,WAAW,8C,UAA8B,CAAAkC,KAALjC,cAAK,U,YAAY8B,c,MAAgB9B,C,OAAO,G,0BAAoB,E,cAAG,I,WAACkB,G,gBAAyB,G,QAAe,K,YAAeE,M,YAAW,O,cAAyC,IAAO,C,4BAA8C,G,MAAG,EAAO,G,EAA4N,Q,MAAI,GAAI,OAAK,CAAE,MAAK,CAA2B,SAAG,WAAsB,YAAC,OAAC,IAAQ,YAAE,eAAO,MAAc,KAAO,2BAAS,MAAE,CAAS,kCAAU,UAAa,QAAAc,GAASC,GAAO,0MAAoC,UAAC,kC,CAA4J,SAAQ,CAAE,MAAC,CAAG,MAAC,K,GAA0B,OAAWC,C,MAAyB,CAAC,SAAIN,MAAG,WAA6K9B,IAAO,MAAQ,SAAG,GAAC,4BAA8B,S,CAAiC,SAAkB,4F,MAAC,CAAe,UAAmC,GAAC,CAACkB,MAAW,SAAS,GAACC,OAAI,qBAAW,U,UAAyBnB,GAAK,mG,YAAY8B,c,MAAgB9B,C,OAAO,G,0BAAoB,E,cAAG,I,WAACkB,G,gBAAyB,G,QAAe,K,YAAeE,M,YAAW,O,cAAyC,IAAO,C,4BAAgD,G,MAAG,EAAO,G,EAA6K,Q,MAAI,GAAI,OAAK,CAAE,MAAK,CAA+B,SAAG,WAAsB,YAAC,OAAC,IAAQ,YAAE,eAAO,MAAc,KAAO,2BAAS,OAAG,oCAAI,UAAiCC,QAAIgB,qBAA+B,eAAQ,6HAAC,UAAO,gBAAqB,sBAA2H,WAAC1B,MAAG,CAAC,MAAQ,K,CAAsE,UAAC,OAAImB,MAAG,I,GAA0I,CAAW,MAAQ,YAAU,oD,GAA8B,OAAWO,iCAAwC,2C,MAAA,CAAC,UAAwIrC,IAAO,MAAQqB,SAAIiB,GAAa,SAAWjB,+BAAgB,eAAaV,CAAE,EAAC,wF,MAAC,CAAuB,SAAIU,MAAOA,W,GAAkG,CAAW,MAAQ,SAAC,GAAG,qD,CAAsCM,EAAE,OAACY,GAAgC,kF,MAAA,C,MAAH,EAAAA,a,SAAc,EAAC,a,MAA4B,I,UAAgB,gB,QAA6B,GAACC,4BAAgC,uC,aAAC,G,OAAG,IAAwE,YAAE,OAAIV,IAAG,YAAkD9B,GAAK,SAAC,GAAC,MAAY,KAAM,UAACyC,MAAM,qBAACvK,MAAWsK,CAA2BE,KAAS,IAAkD,IAACC,MAAW,YAA2B,kCAAyC,WAAiB,GAAQ,GAAQ,CAAC,yCAAoFhC,CAAE,EAAC,2C,MAAC,C,YAA8B6B,OAAoD,OAAInB,MAAO,4BAAwB,SAAC,YAAC,4BAAwB,GAAsC,yCAAI,CAACA,EAAG,OAAI,CAAmGH,YAAYG,Q,CAASF,EAAG,OAAS,kB,YAAI,W,GAAmB,GAARnB,4BAAK,oB,GAAI,C,MAAgC,SAAC,G,EAAC,2BAAiB,mB,GAAYW,GAAE,UAAC,U,UAA0BU,SAAe,G,EAAK,gC,CAA8C,yFAAC,YAAG,OAACoB,IAAM,SAACvK,YAAW0K,GAAaF,MAAS,EAAAA,MAAgBrB,MAAIuB,UAAW,EAAI,IAAC,OAACD,MAAW,UAAa,SACvgO,IACGE,MAAe,SAAK,GAEf7G,EAAQ6G,e,4RCsQF,GACf3L,KAAA,gBACA4L,WAAA,CACAC,WAAA,mEACAC,cAAA,mEACAC,WAAA,oEAEA7K,SAAAE,8BAAA,GACA4K,eAAA,+DACAC,SAAA,CACAC,IAAA,WACA,YAAAvE,SAAAwE,MAAAC,MAEAC,IAAA,SAAAzH,GACA0H,aAAAC,QAAA,2BAAA3H,GACA,KAAA+C,SAAAwE,MAAAC,KAAAxH,MAIAhE,KAAA,WACA,OACA4L,KAAA,GACAlB,2BAAA,EACAmB,oBAAA,EACAC,+BAAA,EACAC,yBAAA,EACAC,SAAA,EACAlB,aAAA,IAGArD,QAAA,WACA,KAAAwE,WAEAjK,QAAAxB,8BAAA,GACA0L,eAAA,aACA,4BACA,iBACA,gBACA,kBACA,cACA,iBACA,IACAD,QAAA,WACA,KAAAL,KAAA7C,OAAAoD,SAAAC,OAAAC,aAEAC,cAAA,WACA,KAAAT,qBACA,KAAAA,oBAAA,GAEA,KAAAC,gCACA,KAAAA,+BAAA,GAEA,KAAAC,0BACA,KAAAA,yBAAA,IAGAxB,+BAAA,SAAAgC,GACA,YAAAA,IACA,KAAAzB,aAAA,GAEA,KAAA0B,0BAAAD,GACA,KAAA7C,eAAA,UACA,KAAA4C,iBAEAhC,mBAAA,SAAAiC,GACA,KAAA7C,eAAA,QACA,KAAA+C,cAAAF,GACA,KAAAD,iBAEAI,YAAA,SAAA1M,GACA,KAAA2M,MAAA,cAAA3M,IAEA4M,YAAA,SAAA5M,GACA,KAAA2M,MAAA,cAAA3M,IAEA6M,YAAA,WACA,KAAAC,WAAA,UACA,KAAAJ,YAAA,SAGAK,UAAA,SAAA/M,GACA,KAAAgN,UAAA,SACA,KAAAL,MAAA,YAAA3M,OC5V6V,I,wBCQzViN,EAAY,eACd,EACA,EACAlC,GACA,EACA,KACA,KACA,MAIa,aAAAkC,E,2WCYTC,EAAanO,eACjBoO,OACAC,OACAC,OACAC,OACApO,OACAqO,QAIaL,SAAW/N,OAAO,CAC/BC,KAAM,SAENwJ,WAAY,CACV4E,oBACAC,eAGFpJ,QAAO,WACL,MAAO,CACLqJ,UAAU,EAEVnC,MAAOpL,KAAKoL,QAIhBlM,MAAO,CACLsO,KAAMhO,QACNiO,aAAc,CACZrO,KAAMI,QACNF,SAAS,GAEXoO,oBAAqB,CACnBtO,KAAMI,QACNF,SAAS,GAEXmE,SAAUjE,QACVmO,YAAanO,QACboO,UAAW,CACTxO,KAAM,CAACM,OAAQL,QACfC,QAAS,QAEXuO,QAASrO,QACTsO,QAAStO,QACTuO,YAAavO,QACbwO,OAAQ,CACN5O,KAAMC,OACNC,QAAS,YAEXqG,WAAY,CACVvG,KAAM,CAACI,QAASH,QAChBC,QAAS,qBAEX2O,aAAc,CACZ7O,KAAM8O,OACN5O,QAAS,iBAAO,MAIpBO,KAAI,WACF,MAAO,CACLsO,kBAAmB,EACnBC,cAAe,EACfC,gBAAgB,EAChBC,WAAY,EACZC,cAAe,EACfhO,cAAe,KACfiO,MAAO,KAIXrO,SAAU,CACRsO,WAAU,WACR,OAAOzO,KAAKwO,MAAMxO,KAAKsO,YAEzBI,eAAc,WACZ,IAAMC,EAAYC,KAAKnP,IAAIO,KAAK6O,WAAWC,QAAQC,MAAOC,WAAWhP,KAAKiP,qBAE1E,OAAKjP,KAAKwN,KAEHtG,eAAclH,KAAKkP,cAAclP,KAAKmP,eAAgBR,KAAe,IAFrD3O,KAAKoP,SAAST,IAAc,KAIrDU,oBAAmB,WACjB,IAAMC,EAAStP,KAAKwN,KAChB,QACAtG,eAAclH,KAAK4N,WAEvB,OAAO0B,GAAU,KAEnBC,mBAAkB,WAChB,OAAOrI,eAAclH,KAAKwP,WAAa,KAEzCP,mBAAkB,WAChB,GAAIjP,KAAKyP,SACP,OAAOvI,eAAclH,KAAKyP,WAAa,IAGzC,IAAMA,EAAWb,KAAKc,IACpB1P,KAAK6O,WAAWc,UAAUZ,MAC1BrP,OAAOM,KAAK4P,aACX5P,KAAKwN,KAAO,GAAK,GAClBoB,KAAKnP,IAAIO,KAAK6P,UAAY,GAAI,IAG1BN,EAAqBO,MAAMC,SAAS/P,KAAKuP,qBAC3CE,EACAM,SAAS/P,KAAKuP,oBAElB,OAAOrI,eAAc0H,KAAKc,IACxBH,EACAE,KACI,KAERO,cAAa,WACX,IAAM/J,EAAOjG,KAAKwN,KAEdtG,eAAclH,KAAKiQ,cAAcjQ,KAAKmO,oBADtCnO,KAAKkQ,UAGT,OAAOjK,GAAO,KAEhBkK,kBAAiB,WACf,OAAO3Q,QAAQQ,KAAKwO,MAAMhL,MAAK,SAAA4M,GAAI,OAAIA,EAAKC,UAAY,OAE1D3J,OAAM,WACJ,MAAO,CACLkH,UAAW5N,KAAKqP,oBAChBI,SAAUzP,KAAKiP,mBACfO,SAAUxP,KAAKuP,mBACftJ,IAAKjG,KAAKgQ,cACV7J,KAAMnG,KAAK0O,eACX4B,gBAAiBtQ,KAAKgO,OACtBuC,OAAQvQ,KAAKuQ,QAAUvQ,KAAKwQ,gBAKlC9O,MAAO,CACLoB,SAAQ,SAAEe,GACHA,IAAK7D,KAAKsO,WAAa,IAE9BmC,gBAAe,SAAE5M,GACf7D,KAAKqO,eAAiBxK,GAExByK,UAAS,SAAEoC,EAAMC,GACf,GAAID,KAAQ1Q,KAAKwO,MAAO,CACtB,IAAM4B,EAAOpQ,KAAKwO,MAAMkC,GACxBN,EAAKQ,UAAUC,IAAI,4BACnB,IAAMC,EAAY9Q,KAAK+Q,MAAMjC,QAAQgC,UAC/BE,EAAgBhR,KAAK+Q,MAAMjC,QAAQmC,aAErCH,EAAYV,EAAKc,UAAY,EAC/BC,eAAKf,EAAKc,UAAYd,EAAKa,aAAc,CACvCG,WAAW,EACXC,SAAU,IACVC,UAAWtR,KAAK+Q,MAAMjC,UAEfgC,EAAYE,EAAgBZ,EAAKc,UAAYd,EAAKa,aAAe,GAC1EE,eAAKf,EAAKc,UAAYF,EAAoC,EAApBZ,EAAKa,aAAkB,CAC3DG,WAAW,EACXC,SAAU,IACVC,UAAWtR,KAAK+Q,MAAMjC,UAK5B6B,KAAQ3Q,KAAKwO,OACXxO,KAAKwO,MAAMmC,GAAMC,UAAUW,OAAO,8BAIxC5P,QAAO,WAED3B,KAAKwH,OAAOC,eAAe,eAC7BC,eAAQ,aAAc1H,OAI1BsH,QAAO,WACLtH,KAAK8C,UAAY9C,KAAKwR,gBAGxB3P,QAAS,CACP4P,SAAQ,eAAA9Q,EAAA,KAGNX,KAAK0R,mBAELC,uBAAsB,WAEpBhR,EAAKiR,kBAAkBC,MAAK,WACtBlR,EAAKoQ,MAAMjC,UACbnO,EAAKwN,kBAAoBxN,EAAKmR,cAC9BnR,EAAK6M,OAAS7M,EAAKoQ,MAAMjC,QAAQgC,UAAYnQ,EAAKoR,8BAK1DA,mBAAkB,WAChB,IAAMC,EAAMhS,KAAK+Q,MAAMjC,QACjBL,EAAauD,EAAIC,cAAc,wBAC/BC,EAAeF,EAAIG,aAAeH,EAAII,aAE5C,OAAO3D,EACHG,KAAKc,IAAIwC,EAActD,KAAKnP,IAAI,EAAGgP,EAAWyC,UAAYc,EAAII,aAAe,EAAI3D,EAAW2D,aAAe,IAC3GJ,EAAIlB,WAEV3B,aAAY,WACV,OAAOY,SAAS/P,KAAK6O,WAAWc,UAAUxJ,KAA4B,EAArBnG,KAAKoO,gBAExD0D,YAAW,WACT,IAAME,EAAMhS,KAAK+Q,MAAMjC,QACjBL,EAAauD,EAAIC,cAAc,wBAMrC,GAJKxD,IACHzO,KAAKO,cAAgB,MAGnBP,KAAK8N,UAAYW,EACnB,OAAOzO,KAAKqS,YAGdrS,KAAKO,cAAgBY,MAAMmR,KAAKtS,KAAKwO,OAAO/N,QAAQgO,GAEpD,IAAM8D,EAA0B9D,EAAWyC,UAAYlR,KAAK+R,qBACtDS,EAAsBR,EAAIC,cAAc,gBAAgCf,UAE9E,OAAOlR,KAAKqS,YAAcE,EAA0BC,EAAqB,GAE3EC,gBAAe,SAAEC,GAIf,GAFA1S,KAAK2S,WAEA3S,KAAK8C,UAAa9C,KAAKmQ,kBAErB,GAAIuC,EAAEE,UAAYC,OAASC,IAA3B,CAGA,GAAIJ,EAAEE,UAAYC,OAASE,KAChC/S,KAAKgT,gBACA,GAAIN,EAAEE,UAAYC,OAASI,GAChCjT,KAAKkT,gBACA,GAAIR,EAAEE,UAAYC,OAASM,IAChCnT,KAAKoT,gBACA,GAAIV,EAAEE,UAAYC,OAASQ,KAChCrT,KAAKsT,gBACA,IAAIZ,EAAEE,UAAYC,OAASU,QAA6B,IAApBvT,KAAKsO,UAEvC,OADPtO,KAAKwO,MAAMxO,KAAKsO,WAAWrE,QAG7ByI,EAAEc,sBAdAxT,KAAK8C,UAAW,GAgBpB2Q,iBAAgB,SAAEf,GAChB,IAAM9N,EAAS8N,EAAE9N,OAEjB,OAAO5E,KAAK8C,WACT9C,KAAK2C,cACN3C,KAAKyN,eACJzN,KAAK+Q,MAAMjC,QAAQ4E,SAAS9O,IAEjC+O,uBAAsB,WACpB,IAAMC,EAAaC,OAAYrN,QAAQ3E,QAAQ8R,uBAAuBlN,KAAKzG,MAE3E,OAAIA,KAAKyO,YAAczO,KAAKyO,WAAWqF,GACrCzT,8BAAA,GACKuT,GADE,IAEL,wBAAyB5T,KAAKyO,WAAWqF,KAItCF,GAETG,sBAAqB,WACnB,IAAMC,EAAY5G,OAAS5G,QAAQ3E,QAAQkS,sBAAsBtN,KAAKzG,MAMtE,OAJKA,KAAK2N,cACRqG,EAAUC,QAAUjU,KAAKkU,WAGpBF,GAETjL,cAAa,WACX,IAAM+F,EAAU9O,KAAKgI,aAErB,OAAKhI,KAAK2F,WAEH3F,KAAK6H,eAAe,aAAc,CACvC3I,MAAO,CACLD,KAAMe,KAAK2F,aAEZ,CAACmJ,IANyBA,GAQ/BqF,cAAa,eAAA9S,EAAA,KACLoH,EAA+B,CAAC,CACpCxJ,KAAM,OACNgB,MAAOD,KAAKyQ,kBAed,OAXKzQ,KAAK+N,aAAe/N,KAAKyN,cAC5BhF,EAAWpG,KAAK,CACdpD,KAAM,gBACNgB,MAAO,CACLmU,QAAS,WAAQ/S,EAAKyB,UAAW,GACjC2Q,iBAAkBzT,KAAKyT,iBACvBY,QAAS,kBAAOhT,EAAK2Q,KAANsC,OAAAC,eAAclT,EAAKmT,iCAKjC/L,GAETT,WAAU,eAAA5F,EAAA,KACFoE,EAAU,CACduB,MAAK1H,6CAAA,GACAL,KAAKyU,mBACLzU,KAAKiO,cAFH,IAGL/F,KAAM,SAAUlI,KAAKwH,OAASxH,KAAKwH,OAAOU,KAAO,SAEnDJ,YAAa,kBACb/F,MAAK1B,6CAAA,GACAL,KAAK0U,kBACL1U,KAAK2U,gBAFH,GAAA1M,eAAA,CAGL,wBAAyBjI,KAAKwN,KAC9B,yBAA0BxN,KAAK4U,eAC/BC,0BAA2B7U,KAAK8C,UAC/B9C,KAAKuF,aAAauP,QAAS,IAE9BtM,MAAOxI,KAAK0G,OACZ+B,WAAYzI,KAAKmU,gBACjBY,IAAK,UACLrM,GAAI,CACFuB,MAAQ,SAAAyI,GACN,IAAM9N,EAAS8N,EAAE9N,OAEbA,EAAOoQ,aAAa,aACpB5S,EAAKsL,sBAAqBtL,EAAKU,UAAW,IAEhDmR,QAASjU,KAAKkU,YAmBlB,OAfIlU,KAAKiV,WAAWC,SAClB1O,EAAQkC,GAAKlC,EAAQkC,IAAM,GAC3BlC,EAAQkC,GAAGwM,OAASlV,KAAKiV,WAAWC,SAGjClV,KAAKyD,UAAYzD,KAAK+N,cACzBvH,EAAQkC,GAAKlC,EAAQkC,IAAM,GAC3BlC,EAAQkC,GAAGyM,WAAanV,KAAKoV,mBAG3BpV,KAAK+N,cACPvH,EAAQkC,GAAKlC,EAAQkC,IAAM,GAC3BlC,EAAQkC,GAAG2M,WAAarV,KAAKsV,mBAGxBtV,KAAK6H,eAAe,MAAOrB,EAASxG,KAAKuV,mBAElD5C,SAAQ,WACD3S,KAAK+Q,MAAMjC,UAEhB9O,KAAKwO,MAAQrN,MAAMmR,KAAKtS,KAAK+Q,MAAMjC,QAAQ0G,iBAAiB,6CAE9DJ,kBAAiB,eAAApS,EAAA,KACfhD,KAAKyV,SAAS,QAAQ,WAChBzS,EAAKqL,iBAETrL,EAAKqL,gBAAiB,OAG1BiH,kBAAiB,SAAE5C,GAAa,IAAAhP,EAAA,KAE9B1D,KAAKyV,SAAS,SAAS,W,OACC,QAAlBC,EAAAhS,EAAKqN,MAAMjC,eAAO,IAAA4G,OAAA,EAAAA,EAAEhC,SAAShB,EAAEiD,iBAEnChE,uBAAsB,WACpBjO,EAAKZ,UAAW,EAChBY,EAAKkS,wBAIX5C,SAAQ,WACN,IAAM5C,EAAOpQ,KAAKwO,MAAMxO,KAAKsO,UAAY,GAEzC,IAAK8B,EAAM,CACT,IAAKpQ,KAAKwO,MAAMjM,OAAQ,OAKxB,OAHAvC,KAAKsO,WAAa,OAClBtO,KAAKgT,WAKPhT,KAAKsO,aACkB,IAAnB8B,EAAKC,UAAiBrQ,KAAKgT,YAEjCE,SAAQ,WACN,IAAM9C,EAAOpQ,KAAKwO,MAAMxO,KAAKsO,UAAY,GAEzC,IAAK8B,EAAM,CACT,IAAKpQ,KAAKwO,MAAMjM,OAAQ,OAKxB,OAHAvC,KAAKsO,UAAYtO,KAAKwO,MAAMjM,YAC5BvC,KAAKkT,WAKPlT,KAAKsO,aACkB,IAAnB8B,EAAKC,UAAiBrQ,KAAKkT,YAEjCE,SAAQ,WACN,IAAMhD,EAAOpQ,KAAKwO,MAAMxO,KAAKwO,MAAMjM,OAAS,GAEvC6N,IAELpQ,KAAKsO,UAAYtO,KAAKwO,MAAMjM,OAAS,GAEd,IAAnB6N,EAAKC,UAAiBrQ,KAAKkT,aAEjCI,UAAS,WACP,IAAMlD,EAAOpQ,KAAKwO,MAAM,GAEnB4B,IAELpQ,KAAKsO,UAAY,GAEM,IAAnB8B,EAAKC,UAAiBrQ,KAAKgT,aAEjCkB,UAAS,SAAExB,GAAgB,IAAAmD,EAAA,KACzB,IAAI7V,KAAK2N,YAAT,CAEA,GAAI+E,EAAEE,UAAYC,OAASiD,IAAK,CAE9BvO,YAAW,WAAQsO,EAAK/S,UAAW,KACnC,IAAM6M,EAAY3P,KAAK+V,eACvB/V,KAAKiD,WAAU,kBAAM0M,GAAaA,EAAUqG,gBAE3ChW,KAAK8C,UACN,CAAC+P,OAASI,GAAIJ,OAASE,MAAM/J,SAAS0J,EAAEE,WAExC5S,KAAK8C,UAAW,GAIlB9C,KAAKiD,WAAU,kBAAM4S,EAAKpD,gBAAgBC,QAE5CuD,SAAQ,WACDjW,KAAK8C,WAKV9C,KAAK+Q,MAAMjC,QAAQoH,YACnBlW,KAAK0R,mBAOL7I,aAAa7I,KAAKuO,eAClBvO,KAAKuO,cAAgB3F,OAAOrB,WAAWvH,KAAK0R,iBAAkB,QAIlE3N,OAAM,SAAEC,GAAC,IAAAmS,EAAA,KACDtW,EAAO,CACXiI,YAAa,SACb/F,MAAO,CACL,mBACkB,KAAhB/B,KAAKoW,SACW,IAAhBpW,KAAKoW,QACW,WAAhBpW,KAAKoW,QAET3N,WAAY,CAAC,CACX4N,IAAK,MACLpX,KAAM,SACNgB,MAAOD,KAAKiW,YAIhB,OAAOjS,EAAE,MAAOnE,EAAM,EACnBG,KAAK2P,WAAa3P,KAAKsW,eACxBtW,KAAKuW,iBAAgB,iBAAM,CACzBJ,EAAKtO,eAAe2O,OAAgB,CAClCtX,MAAO,CACLuX,MAAM,EACNlQ,MAAO4P,EAAK5P,MACZ8E,KAAM8K,EAAK9K,OAEZ,CAAC8K,EAAKpN,4B","file":"js/chunk-737cb9c0.3427cc57.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=04d5e622&prod&lang=scss\"","// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), getSlot(this))\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as PropValidator,\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-findindex -- testing\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout,\n },\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-app-bar',{attrs:{\"dense\":\"\",\"app\":\"\",\"color\":\"dark\",\"dark\":\"\",\"fixed\":\"\"}},[_c('v-menu',{staticClass:\"elevation-6\",attrs:{\"bottom\":\"\",\"left\":\"\",\"close-on-content-click\":false,\"nudge-width\":400,\"offset-y\":\"\",\"dense\":\"\",\"rounded\":\"\",\"min-width\":\"300\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu, attrs }){return [_c('v-tooltip',{attrs:{\"dense\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"dense\":\"\",\"icon\":\"\"}},'v-btn',attrs,false),{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\"mdi-menu\")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Menu\")])])]}}])},[_c('v-list',[_c('v-list-item',{attrs:{\"to\":\"/dashboard\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-home\")])],1),_c('v-list-item-title',[_vm._v(\"Home\")])],1),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":function($event){return _vm.openPlotOptions(true)}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-play\")])],1),_c('v-list-item-title',[_vm._v(\"Run simulation\")])],1),_c('v-list-item',{attrs:{\"to\":\"/dashboard\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-share\")])],1),_c('v-list-item-title',[_vm._v(\"Share\")])],1)],1)],1),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\",\"color\":_vm.mode == 'transform' ? 'primary' : ''},on:{\"click\":function($event){return _vm.setCurrentMode('transform')}}},'v-btn',attrs,false),on),[_c('v-icon',{staticStyle:{\"transform\":\"rotate(-20deg)\"}},[_vm._v(\" mdi-navigation \")])],1)]}}])},[_c('span',[_vm._v(\"Move or Select \")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\",\"color\":_vm.mode == 'sources' ? 'primary' : ''},on:{\"click\":function($event){return _vm.setCurrentMode('sources')}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-plus-circle-multiple-outline\")])],1)]}}])},[_c('span',[_vm._v(\"Create Source\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\",\"color\":_vm.mode == 'flux' ? 'primary' : ''},on:{\"click\":function($event){return _vm.setCurrentMode('flux')}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-access-point\")])],1)]}}])},[_c('span',[_vm._v(\"Add Flux Output\")])]),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\",\"color\":_vm.mode == 'handOn' ? 'primary' : ''},on:{\"click\":function($event){return _vm.setCurrentMode('handOn')}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-hand\")])],1)]}}])},[_c('span',[_vm._v(\"Handle\")])]),_c('v-menu',{staticClass:\"elevation-6\",attrs:{\"bottom\":\"\",\"close-on-content-click\":false,\"nudge-width\":400,\"offset-y\":\"\",\"open-on-hover\":\"\",\"rounded\":\"lg\",\"min-width\":\"100\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu, attrs }){return [_c('v-tooltip',{attrs:{\"dense\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"color\":_vm.mode == 'zoom' ? 'primary' : '',\"icon\":\"\"}},'v-btn',attrs,false),{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.zoomAction == \"In\" ? \"mdi-magnify-plus-outline\" : _vm.zoomAction == \"Out\" ? \"mdi-magnify-minus-outline\" : \"mdi-magnify-plus-outline\")+\" \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Zoom\")])])]}}])},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"dense\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.setZoomActionState('In')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-magnify-plus-outline\")])],1),_c('v-list-item-title',[_vm._v(\"Zoom In\")])],1),_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.setZoomActionState('Out')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-magnify-minus-outline\")])],1),_c('v-list-item-title',[_vm._v(\"Zoom Out\")])],1)],1)],1),_c('v-menu',{staticClass:\"elevation-6\",attrs:{\"bottom\":\"\",\"close-on-content-click\":false,\"nudge-width\":400,\"offset-y\":\"\",\"open-on-hover\":\"\",\"rounded\":\"lg\",\"min-width\":\"100\",\"max-width\":\"300\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: menu, attrs }){return [_c('v-tooltip',{attrs:{\"dense\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"color\":_vm.mode == 'create' ? 'primary' : '',\"icon\":\"\"}},'v-btn',attrs,false),{ ...tooltip, ...menu }),[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.shape == \"block\" ? \"mdi-square\" : _vm.shape == \"sphere\" ? \"mdi-circle\" : \"mdi-square\")+\" \")])],1)]}}],null,true)},[_c('span',[_vm._v(\"Geometry\")])])]}}])},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.setShapeOfCurrentGeometryState('block')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-square\")])],1),_c('v-list-item-title',[_vm._v(\"Block\")])],1),_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.setShapeOfCurrentGeometryState('triangle')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-triangle\")])],1),_c('v-list-item-title',[_vm._v(\"Triangle\")])],1),_c('v-list-item',{attrs:{\"dense\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.setShapeOfCurrentGeometryState('sphere')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"mdi-circle\")])],1),_c('v-list-item-title',[_vm._v(\"Circle\")])],1)],1)],1),_c('v-btn',{attrs:{\"text\":!_vm.sincronizado,\"disabled\":_vm.sincronizado,\"dense\":\"\"},on:{\"click\":_vm.updateState}},[_vm._v(_vm._s(_vm.sincronizado ? \"Data Saved\" : \"Save changes\"))]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"dense\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on: tooltip, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.view_confirm_eraser_modal = true}}},'v-btn',attrs,false),tooltip),[_c('v-icon',[_vm._v(\"mdi-eraser\")])],1)]}}])},[_c('span',[_vm._v(\"Clear Canvas\")])]),_c('v-dialog',{attrs:{\"max-width\":\"300\"},model:{value:(_vm.view_confirm_eraser_modal),callback:function ($$v) {_vm.view_confirm_eraser_modal=$$v},expression:\"view_confirm_eraser_modal\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-row',[_c('p',{staticClass:\"text-h5\"},[_vm._v(\"Confirm this action?\")])]),_c('v-row',[_c('v-btn',{on:{\"click\":function($event){(_vm.view_confirm_eraser_modal = false), _vm.clearCanvas}}},[_vm._v(\"Yes!\")]),_c('v-btn',{on:{\"click\":function($event){_vm.view_confirm_eraser_modal = false}}},[_vm._v(\"No\")])],1)],1)],1)],1),_c('HelpButton'),_c('Notifications'),_c('MenuButton')],1),_c('v-snackbar',{scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar = false}}},'v-btn',attrs,false),[_vm._v(\" Close \")])]}}]),model:{value:(_vm.showMessage),callback:function ($$v) {_vm.showMessage=$$v},expression:\"showMessage\"}},[_vm._v(\" The triangles was disponible in the interface but was in tests in the simulation code. \")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\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!./index.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!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=04d5e622\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=04d5e622&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData, PropType } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Returnable,\n Roundable,\n Themeable,\n Menuable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n contentProps: {\n type: Object as PropType>,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n ...this.contentProps,\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content?.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.disableKeys) return\n\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n"],"sourceRoot":""}