{"version":3,"sources":["webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/modules/space/components/TheSpaceAddInstanceDialog.vue","webpack:///src/modules/space/components/TheSpaceAddInstanceDialog.vue","webpack:///./src/modules/space/components/TheSpaceAddInstanceDialog.vue?2f25","webpack:///./src/modules/space/components/TheSpaceAddInstanceDialog.vue?6e88","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///../../../src/components/VForm/VForm.ts","webpack:///../../../src/components/VStepper/VStepperStep.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///../../../src/components/VStepper/VStepper.ts","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VStepper/VStepperContent.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/mixins/transitionable/index.ts"],"names":["mixins","VSheet","Toggleable","Transitionable","extend","name","props","border","type","String","validator","val","includes","closeLabel","default","coloredBorder","Boolean","dense","dismissible","closeIcon","icon","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","isActive","VIcon","__cachedIcon","computedIcon","classes","options","call","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","hasOwnProperty","breaking","methods","genWrapper","children","$slots","prepend","genContent","append","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","transition","origin","mode","expression","_c","_vm","_v","creatingInstance","createInstanceDialog","staticStyle","model","currentStep","instanceContent","callback","$$v","instanceContentOptions","selectedInstance","snapshots","instanceFetching","scopedSlots","key","fn","item","selectedSnapshot","preventDefault","validSingleInstance","instanceName","instanceDescription","showGroupWarning","closeDialog","staticRenderFns","defaultData","instanceShortName","instanceCreationMode","error","emailsInput","errorContent","rules","nonEmpty","EMPTY_INSTANCE","CREATE_FROM_SNAPSHOT","headers","align","sortable","isTextActivator","activatorText","components","ShortIdInput","customSort","updateShortId","fetchInstances","completeInstanceCreation","getInstanceData","iid","addInstance","params","oid","skipDialog","snackBarText","snackBarTimeout","snackBarIcon","apiURL","postBody","post","timeout","then","catch","finally","mapState","mapGetters","selectedSnapshotName","instanceList","watch","Object","component","baseMixins","Dependent","Detachable","Overlayable","Returnable","Stackable","Activatable","ClickOutside","dark","disabled","fullscreen","light","maxWidth","Number","noClickAnimation","persistent","retainFocus","scrollable","width","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","contentClass","trim","contentClasses","hasActivator","activator","show","hideScroll","removeOverlay","unbind","_a","focus","showScroll","genOverlay","removed","beforeMount","$nextTick","isBooted","beforeDestroy","window","animateClick","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","hideOverlay","dialog","activeElement","_b","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","length","getActivator","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","matches","showLazyContent","VThemeProvider","root","getScopeIdAttrs","keydown","zIndex","ref","genTransition","genInnerContent","appear","tabindex","handler","include","transformOrigin","convertToUnit","getContentSlot","attach","genActivator","BaseItemGroup","VInput","provide","radioGroup","column","height","row","genDefaultSlot","id","computedId","genInputSlot","genLabel","label","for","tag","onClick","vnode","attrs$","BindsAttrs","RegistrableProvide","form","inheritAttrs","lazyValidation","readonly","inputs","watchers","errorBag","errors","values","deep","immediate","watchInput","input","watcher","$watch","$set","_uid","valid","shouldValidate","validate","filter","reset","forEach","resetErrorBag","resetValidation","register","push","unregister","found","i","unwatch","$delete","novalidate","submit","Colorable","RegistrableInject","ripple","inject","complete","completeIcon","editable","editIcon","errorIcon","Array","step","isInactive","hasError","mounted","stepper","stopPropagation","stepClick","genIcon","genStep","genStepContent","keyboardClick","space","toString","Rippleable","GroupableFactory","offIcon","onIcon","isFocused","isDisabled","themeClasses","groupClasses","Selectable","hasLabel","hasState","isReadonly","computedName","rippleState","validationState","genInput","args","VLabel","prevent","focused","getSlot","genRadio","radioAttrs","title","genRipple","onFocus","onBlur","onChange","mergeListeners","Proxyable","isVertical","vertical","altLabels","nonLinear","flat","steps","isReverse","internalLazyValue","internalValue","oldVal","updateView","$listeners","$options","index","VTextField","autoGrow","noResize","rowHeight","v","isNaN","parseFloat","rows","parseInt","noResizeHandle","calculateInputHeight","removeProperty","lazyValue","scrollHeight","minHeight","Math","max","onInput","onKeyDown","isVerticalProvided","from","required","computedTransition","reverse","rtl","VTabReverseTransition","VTabTransition","current","previous","enter","leave","wrapper","onTransition","propertyName","requestAnimationFrame","clientHeight","contentData","wrapperData","absolute","opacity","__scrim","computedOpacity","VOverlay","Vue","overlayColor","overlayOpacity","animationFrame","createOverlay","propsData","$mount","parent","parentNode","querySelector","insertBefore","firstChild","getZIndex","addOnceEventListener","removeChild","$destroy","cancelAnimationFrame","scrollListener","tagName","isContentEditable","up","pageup","down","pagedown","deltaY","body","checkPath","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","overflowX","scrollWidth","clientWidth","shouldScroll","alreadyAtStart","alreadyAtEnd","dir","shiftKey","deltaX","delta","scrollTop","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","selected","getSelection","anchorNode","breakpoint","smAndDown","addPassiveEventListener","passive","remove"],"mappings":"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S,OACxoQ,OACGwE,W,ugBCqMJ,qEACA,SAASC,IACT,OACApB,cACAe,gBACAM,qBACAL,uBACAM,yCACArB,mBACAsB,SACAC,eACAC,qCACAC,OACAC,qBAAA,+CAEA/B,oBACAkB,uBACAF,oBACAP,sBACAR,wBACAO,wBACAwB,+BACAC,6CAEAC,SACA,CACAnG,qBACAoG,aACAnG,gBACAoG,aAEA,CACArG,qBACAoG,aACAnG,2BACAoG,cAGAzB,oBACAD,aACAW,qBAIe,OACfxG,yBACAL,gBACAM,OACAuH,iBACArH,aACAM,YAEAgH,eACAtH,YACAM,aAGAc,gBACA,YAEAmG,YACAC,gBAEAnE,SACAoE,2BACA,oDACA,mDACA,4CACA,oDACA,gBACA,2CACA,eACA,iDADA,GAIAC,0BACA,0BAEAC,0BACA,+EAEAC,qCACA,GACA,0BAAAzB,iCAEA,sBACA,8BAEA0B,8BAAA,IAEA,EAFA,OACA,yBAEA,GACAC,QACA,iCAEAA,0CAAA,gDAEA,yBACA,wEACA,qGACA,qDACA,IACA,wBAEA,0BAGAC,wBACA,sEAEA,uFACA,yBAEA,oBAGAzB,uBACA,yBACA,mBAAAzG,sBAAAmI,QAAAC,+BAEAC,sBAAA,WACA,yBACA,qCACAC,iDACAC,oBACAC,sBAEA,cACA,SACA,KAEAC,EADA,sGACAA,kGAEAA,+CAEA,8CACAC,uCACAA,4BACAA,mCAEA,wBACA,yBACA,YACAC,UAAAC,cACAC,kBACA,sEACA,yBAAA7I,oBAAA,KACA,yGACA,kCACAsI,eACAC,oBACAC,mCAGA,kCACAF,8CACAC,oBACAC,8BAGA,0BACA,2EAEAM,mBAAA,YACA,WACA,8KACA,8GACA,6KACA,eACA,+BACAhC,qGACA,kBAEA,kCACAwB,sEACAC,oBACAC,0BAIAO,oBACA,4BAKA3H,yDACA4H,iDACAC,yEACAC,gCACA,4BACA,gBACA,aAEA,MAGAC,wBACA,+DACA,YAGAC,OACAhE,oCACA,KACAiE,8BACA,GACA,2BAAAlI,cCtZqZ,I,YCOjZmI,EAAY,eACd,EACA,EACA5C,GACA,EACA,KACA,KACA,M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","file":"static/js/chunk-dc153fcc.02945a61.js","sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.isSpaceArchived)?_c('v-dialog',{attrs:{\"persistent\":_vm.creatingInstance,\"width\":\"700\",\"scrollable\":\"\",\"height\":\"600\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_vm._t(\"default\")],2)]}}],null,true),model:{value:(_vm.createInstanceDialog),callback:function ($$v) {_vm.createInstanceDialog=$$v},expression:\"createInstanceDialog\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('div',{staticClass:\"d-flex align-center justify-space-between secondary--text w-100\"},[_c('div',[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"add\")]),_vm._v(\" New Instance Creation \")],1),_c('div',[_c('v-btn',{attrs:{\"disabled\":_vm.creatingInstance,\"icon\":\"\"},on:{\"click\":function($event){_vm.createInstanceDialog = false}}},[_c('v-icon',[_vm._v(\"clear\")])],1)],1)])]),_c('v-spacer'),_c('v-divider'),_c('div',[(_vm.currentSpaceType === _vm.spaceTypes.EDUCATION_SPACE)?_c('div',{staticClass:\"pa-5\"},[_c('v-alert',{attrs:{\"type\":\"info\"}},[_c('span',[_vm._v(\" If creating group instances, please \"),_c('a',{staticClass:\"white--text\",attrs:{\"href\":\"https://docs.nuvolos.cloud/user-guides/education-guides/setting-up-group-projects\",\"target\":\"_blank\"}},[_vm._v(\" read our recommendation \")]),_vm._v(\" for best-practices to handle groups. \")])])],1):_vm._e(),_c('transition',{attrs:{\"duration\":150}},[(_vm.createInstanceDialog)?_c('v-stepper',{staticStyle:{\"box-shadow\":\"none\",\"padding-bottom\":\"0\"},attrs:{\"vertical\":\"\"},model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-step',{attrs:{\"color\":_vm.currentStep > 1 ? 'primary' : 'secondary',\"complete\":_vm.currentStep > 1,\"step\":\"1\"}},[_vm._v(\" Instance content \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('div',{staticClass:\"pa-3\"},[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",model:{value:(_vm.instanceContent),callback:function ($$v) {_vm.instanceContent=$$v},expression:\"instanceContent\"}},[_c('v-radio',{attrs:{\"label\":\"Empty instance\",\"value\":_vm.instanceContentOptions.EMPTY_INSTANCE}}),_c('v-radio',{attrs:{\"label\":\"Create from snapshot\",\"value\":_vm.instanceContentOptions.CREATE_FROM_SNAPSHOT}})],1),(_vm.instanceContent === _vm.instanceContentOptions.EMPTY_INSTANCE)?_c('div',[_c('v-alert',{attrs:{\"border\":\"left\",\"colored-border\":\"\",\"type\":\"info\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Empty Instance Creation\")]),_vm._v(\" The instance you will create will have no contents (files, tables, or applications). You can, however, share content with the instance anytime in the future. \")])])],1):(_vm.instanceContent === _vm.instanceContentOptions.CREATE_FROM_SNAPSHOT)?_c('div',[(_vm.selectedSnapshot.length)?_c('v-alert',{attrs:{\"colored-border\":\"\",\"border\":\"left\",\"type\":\"info\"}},[_c('p',[_vm._v(\" The instance you will create will contain all the contents (files, tables, and applications) of the snapshot \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.selectedSnapshotName))]),_vm._v(\" . \")])]):_vm._e(),_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"group\")]),_c('span',{staticClass:\"subtitle-1 font-weight-bold\"},[_vm._v(\"Instance\")])],1),_c('v-select',{staticStyle:{\"width\":\"350px\"},attrs:{\"items\":_vm.instanceList,\"item-text\":\"state\",\"label\":\"Select Instance\",\"persistent-hint\":\"\",\"hint\":\"Select the instance to choose a snapshot from\",\"return-object\":\"\",\"single-line\":\"\",\"dense\":\"\",\"outlined\":\"\"},on:{\"change\":function($event){return _vm.getInstanceData(false, false)}},model:{value:(_vm.selectedInstance),callback:function ($$v) {_vm.selectedInstance=$$v},expression:\"selectedInstance\"}}),(_vm.selectedInstance && _vm.snapshots.length)?_c('v-data-table',{attrs:{\"show-select\":\"\",\"headers\":_vm.headers,\"items\":_vm.snapshots,\"items-per-page\":-1,\"custom-sort\":_vm.customSort,\"sort-desc\":true,\"item-key\":\"snid\",\"sort-by\":['snapshot_timestamp'],\"single-select\":\"\",\"loading\":_vm.instanceFetching,\"loading-text\":\"Fetching instance data... Please wait\"},scopedSlots:_vm._u([{key:`item.long_id`,fn:function({ item }){return [_vm._v(_vm._s(item.long_id))]}},{key:`item.snapshot_timestamp`,fn:function({ item }){return [_vm._v(_vm._s(_vm._f(\"dateTimeToHuman\")(item.snapshot_timestamp)))]}}],null,true),model:{value:(_vm.selectedSnapshot),callback:function ($$v) {_vm.selectedSnapshot=$$v},expression:\"selectedSnapshot\"}}):(_vm.selectedInstance && !_vm.snapshots.length)?_c('v-alert',{attrs:{\"text\":\"\",\"prominent\":\"\",\"type\":\"warning\"}},[_vm._v(\" The selected instance does no contain snapshots. \")]):_vm._e()],1):_vm._e()],1),_c('v-btn',{attrs:{\"disabled\":!_vm.instanceContent || (_vm.instanceContent === _vm.instanceContentOptions.CREATE_FROM_SNAPSHOT && !_vm.selectedSnapshot.length),\"color\":\"primary\"},on:{\"click\":function($event){_vm.currentStep = 2}}},[_vm._v(\" continue \")])],1),_c('v-stepper-step',{attrs:{\"color\":_vm.currentStep > 2 ? 'primary' : 'secondary',\"complete\":_vm.currentStep > 2,\"step\":\"2\"}},[_vm._v(\"Create instance\")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.addInstance()}},model:{value:(_vm.validSingleInstance),callback:function ($$v) {_vm.validSingleInstance=$$v},expression:\"validSingleInstance\"}},[_c('v-text-field',{staticClass:\"mt-1\",attrs:{\"label\":\"Name of the instance\",\"rules\":[_vm.rules.nonEmpty],\"required\":\"\",\"dense\":\"\",\"disabled\":_vm.creatingInstance,\"outlined\":\"\"},model:{value:(_vm.instanceName),callback:function ($$v) {_vm.instanceName=$$v},expression:\"instanceName\"}}),_c('ShortIdInput',{attrs:{\"disabledEdit\":_vm.creatingInstance,\"longId\":_vm.instanceName},on:{\"input\":function($event){return _vm.updateShortId($event.nextValue)}}}),_c('v-textarea',{staticClass:\"mt-3\",attrs:{\"label\":\"Description of the instance\",\"rows\":\"3\",\"auto-grow\":\"\",\"rules\":[_vm.rules.nonEmpty],\"required\":\"\",\"disabled\":_vm.creatingInstance,\"outlined\":\"\"},model:{value:(_vm.instanceDescription),callback:function ($$v) {_vm.instanceDescription=$$v},expression:\"instanceDescription\"}})],1),_c('v-btn',{attrs:{\"disabled\":_vm.creatingInstance,\"text\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){_vm.currentStep = 1}}},[_vm._v(\"Back\")])],1)],1):_vm._e()],1)],1),(_vm.error)?_c('v-card-text',[_c('v-alert',{staticClass:\"mt-4\",attrs:{\"color\":\"error\",\"icon\":\"warning\",\"text\":\"\"}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.errorContent))]),_c('span',[_vm._v(\" For more information on instance creation issues, check the troubleshooting documentation \"),_c('v-btn',{staticClass:\"font-weight-bold\",attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"error\",\"href\":\"https://docs.nuvolos.cloud/faqs/troubleshooting/administration-troubleshooting/i-cant-create-an-instance\",\"target\":\"_blank\"}},[_vm._v(\" here \")])],1)])])],1):_vm._e(),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"ml-1\",attrs:{\"color\":\"primary\",\"loading\":_vm.creatingInstance,\"disabled\":!_vm.validSingleInstance || _vm.creatingInstance || _vm.currentStep < 2},on:{\"click\":function($event){return _vm.addInstance()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"add\")]),_vm._v(\" Add Instance \")],1)],1)],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500\"},model:{value:(_vm.showGroupWarning),callback:function ($$v) {_vm.showGroupWarning=$$v},expression:\"showGroupWarning\"}},[_c('v-card',[_c('v-card-title',[_c('span',{staticClass:\"title secondary--text\"},[_vm._v(\"Separate group work\")])]),_c('v-card-text',[_c('p',[_vm._v(\" Are you creating a group instance? \"),_c('br'),_vm._v(\" If so, please consider creating a new space for groups instead of adding them to the current space: \")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"secondary\",\"href\":\"https://docs.nuvolos.cloud/user-guides/education-guides/setting-up-group-projects\",\"target\":\"_blank\"}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"menu_book\")]),_c('span',{staticClass:\"overline font-weight-bold\"},[_vm._v(\"See documentation\")])],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.closeDialog}},[_vm._v(\"Create a new space\")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.skipDialog}},[_vm._v(\"Create new instance\")])],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSpaceAddInstanceDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSpaceAddInstanceDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheSpaceAddInstanceDialog.vue?vue&type=template&id=4c063b36&\"\nimport script from \"./TheSpaceAddInstanceDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./TheSpaceAddInstanceDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\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 beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n","// Components\nimport VInput from '../VInput/VInput'\n\n// Mixins\nimport mixins from '../../util/mixins'\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Helpers\nimport { VNode } from 'vue'\n\ntype ErrorBag = Record\ntype VInputInstance = InstanceType\ntype Watchers = {\n _uid: number\n valid: () => void\n shouldValidate: () => void\n}\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n RegistrableProvide('form')\n /* @vue/component */\n).extend({\n name: 'v-form',\n\n provide (): object {\n return { form: this }\n },\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean,\n },\n\n data: () => ({\n inputs: [] as VInputInstance[],\n watchers: [] as Watchers[],\n errorBag: {} as ErrorBag,\n }),\n\n watch: {\n errorBag: {\n handler (val) {\n const errors = Object.values(val).includes(true)\n\n this.$emit('input', !errors)\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n watchInput (input: any): Watchers {\n const watcher = (input: any): (() => void) => {\n return input.$watch('hasError', (val: boolean) => {\n this.$set(this.errorBag, input._uid, val)\n }, { immediate: true })\n }\n\n const watchers: Watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {},\n }\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', (val: boolean) => {\n if (!val) return\n\n // Only watch if we're not already doing it\n if (this.errorBag.hasOwnProperty(input._uid)) return\n\n watchers.valid = watcher(input)\n })\n } else {\n watchers.valid = watcher(input)\n }\n\n return watchers\n },\n /** @public */\n validate (): boolean {\n return this.inputs.filter(input => !input.validate(true)).length === 0\n },\n /** @public */\n reset (): void {\n this.inputs.forEach(input => input.reset())\n this.resetErrorBag()\n },\n resetErrorBag () {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {}\n }, 0)\n }\n },\n /** @public */\n resetValidation () {\n this.inputs.forEach(input => input.resetValidation())\n this.resetErrorBag()\n },\n register (input: VInputInstance) {\n this.inputs.push(input)\n this.watchers.push(this.watchInput(input))\n },\n unregister (input: VInputInstance) {\n const found = this.inputs.find(i => i._uid === input._uid)\n\n if (!found) return\n\n const unwatch = this.watchers.find(i => i._uid === found._uid)\n if (unwatch) {\n unwatch.valid()\n unwatch.shouldValidate()\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid)\n this.inputs = this.inputs.filter(i => i._uid !== found._uid)\n this.$delete(this.errorBag, found._uid)\n },\n },\n\n render (h): VNode {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$,\n },\n on: {\n submit: (e: Event) => this.$emit('submit', e),\n },\n }, this.$slots.default)\n },\n})\n","// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return this.$createElement(VIcon, icon)\n },\n genLabel () {\n return this.$createElement('div', {\n staticClass: 'v-stepper__label',\n }, this.$slots.default)\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (h): VNode {\n return h('div', {\n attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType\ntype VStepperContentInstance = InstanceType\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n data () {\n const data: Dictionary = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.value != null\n ? this.value\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.options.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-stepper',\n class: this.classes,\n style: this.styles,\n }, this.$slots.default)\n },\n})\n","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// Components\nimport {\n VTabTransition,\n VTabReverseTransition,\n} from '../transitions'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, FunctionalComponentOptions, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject('stepper', 'v-stepper-content', 'v-stepper')\n)\n\ninterface options extends InstanceType {\n $refs: {\n wrapper: HTMLElement\n }\n isVerticalProvided: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-stepper-content',\n\n inject: {\n isVerticalProvided: {\n from: 'isVertical',\n },\n },\n\n props: {\n step: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n height: 0 as number | string,\n // Must be null to allow\n // previous comparison\n isActive: null as boolean | null,\n isReverse: false,\n isVertical: this.isVerticalProvided,\n }\n },\n\n computed: {\n computedTransition (): FunctionalComponentOptions {\n // Fix for #8978\n const reverse = this.$vuetify.rtl ? !this.isReverse : this.isReverse\n\n return reverse\n ? VTabReverseTransition\n : VTabTransition\n },\n styles (): object {\n if (!this.isVertical) return {}\n\n return {\n height: convertToUnit(this.height),\n }\n },\n },\n\n watch: {\n isActive (current, previous) {\n // If active and the previous state\n // was null, is just booting up\n if (current && previous == null) {\n this.height = 'auto'\n return\n }\n\n if (!this.isVertical) return\n\n if (this.isActive) this.enter()\n else this.leave()\n },\n },\n\n mounted () {\n this.$refs.wrapper.addEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.$refs.wrapper.removeEventListener(\n 'transitionend',\n this.onTransition,\n false\n )\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n onTransition (e: TransitionEvent) {\n if (!this.isActive ||\n e.propertyName !== 'height'\n ) return\n\n this.height = 'auto'\n },\n enter () {\n let scrollHeight = 0\n\n // Render bug with height\n requestAnimationFrame(() => {\n scrollHeight = this.$refs.wrapper.scrollHeight\n })\n\n this.height = 0\n\n // Give the collapsing element time to collapse\n setTimeout(() => this.isActive && (this.height = (scrollHeight || 'auto')), 450)\n },\n leave () {\n this.height = this.$refs.wrapper.clientHeight\n setTimeout(() => (this.height = 0), 10)\n },\n toggle (step: string | number, reverse: boolean) {\n this.isActive = step.toString() === this.step.toString()\n this.isReverse = reverse\n },\n },\n\n render (h): VNode {\n const contentData = {\n staticClass: 'v-stepper__content',\n } as VNodeData\n const wrapperData = {\n staticClass: 'v-stepper__wrapper',\n style: this.styles,\n ref: 'wrapper',\n }\n\n if (!this.isVertical) {\n contentData.directives = [{\n name: 'show',\n value: this.isActive,\n }]\n }\n\n const wrapper = h('div', wrapperData, [this.$slots.default])\n const content = h('div', contentData, [wrapper])\n\n return h(this.computedTransition, {\n on: this.$listeners,\n }, [content])\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n"],"sourceRoot":""}