{"version":3,"sources":["webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///../../../src/mixins/loadable/index.ts","webpack:///../../../src/components/VProgressLinear/index.ts","webpack:///../../../src/mixins/validatable/index.ts","webpack:///./src/mixins/createSnapshot.js","webpack:///../../../src/components/VProgressLinear/VProgressLinear.ts","webpack:///./src/mixins/breadcrumbs.js","webpack:///./src/mixins/snapshot.js","webpack:///../../../src/components/VBtn/index.ts","webpack:///./src/components/BreadcrumbsLargeScreen.vue","webpack:///src/components/BreadcrumbsLargeScreen.vue","webpack:///./src/components/BreadcrumbsLargeScreen.vue?ffd8","webpack:///./src/components/BreadcrumbsLargeScreen.vue?dc75","webpack:///../../../src/components/VMessages/VMessages.ts","webpack:///../../../src/components/VMessages/index.ts","webpack:///../../../src/components/VInput/VInput.ts","webpack:///../../../src/components/VLabel/VLabel.ts","webpack:///../../../src/components/VLabel/index.ts","webpack:///./node_modules/core-js/modules/web.url.to-json.js","webpack:///../../../src/components/VInput/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","Vue","loading","loaderHeight","Number","genProgress","progress","VProgressLinear","absolute","height","indeterminate","baseMixins","Colorable","RegistrableInject","disabled","error","errorCount","errorMessages","Array","messages","readonly","rules","success","successMessages","validateOnBlur","required","errorBucket","hasColor","hasFocused","hasInput","isFocused","isResetting","lazyValue","valid","isDisabled","appIsDark","hasError","internalErrorMessages","length","hasSuccess","internalSuccessMessages","externalError","hasMessages","validationTarget","hasState","shouldValidate","genInternalMessages","internalMessages","internalValue","get","set","$emit","form","isInteractive","isReadonly","validations","slice","validationState","watch","handler","newVal","oldVal","deepEqual","validate","deep","$nextTick","setTimeout","beforeMount","register","beforeDestroy","unregister","isArray","reset","resetValidation","force","index","rule","push","consoleError","createQuickAndDetailedSnapshots","snapshotCreationLoading","snapshotCreationErrorContent","snapshotCreationError","addSnapshot","newSnapshotType","postBody","longId","shortId","description","$store","dispatch","snackBarText","snackBarTimeout","snackBarIcon","snapshotTypes","QUICK_SNAPSHOT","today","Date","currentDate","toJSON","currentTime","getHours","getMinutes","getSeconds","datetimeLongId","datetimeShortId","replace","long_id","short_id","snapshot_type","DETAILED_SNAPSHOT","userTasksRoute","$router","resolve","href","apiURL","$route","params","iid","$axios","post","then","oid","sid","snid","catch","response","reason","finally","PositionableFactory","Proxyable","intersect","active","backgroundColor","backgroundOpacity","bufferValue","query","reverse","rounded","stream","striped","internalLazyValue","isVisible","__cachedBackground","backgroundStyle","__cachedBar","computedTransition","__cachedBarType","__cachedIndeterminate","__cachedDeterminate","__cachedBuffer","width","convertToUnit","normalizedValue","genProgressBar","__cachedStream","normalizedBuffer","parseFloat","opacity","isReversed","Math","max","fixed","reactive","themeClasses","VFadeTransition","VSlideXTransition","rtl","normalize","$listeners","change","slot","getSlot","genListeners","listeners","onClick","e","$el","getBoundingClientRect","offsetX","onObserve","entries","observer","isIntersecting","bottom","top","breadcrumbs","space","instance","snapshot","organizationSearch","spaceSearch","instanceSearch","snapshotSearch","organizationMenu","spaceMenu","instanceMenu","snapshotMenu","sortArray","fetchOrgSpaces","orgName","org","userOrgs","filter","openSpace","spaceName","openSnapshot","goToSnapshotTimelineView","spaceRole","toUpperCase","showInstanceOpenSnackBar","instanceName","goToMaster","openInstance","masterInstance","roleTypes","INSTANCE_EDITOR","fetchDistributedInstanceSnapshots","routeName","extraParams","delay","sortedSnapshots","nonDevelopmentSnapshots","mostRecentSnapshot","console","log","isEditorRole","isDistributedInstance","sortedInstanceSnapshots","instanceSnapshots","isViewerRole","disabledInstance","snapshots","mapGetters","mapState","organizationName","orgLongName","orgNames","spaceInstances","getters","spacesWithPrimarySnapshots","snapshotName","map","sort","a","b","toLowerCase","localeCompare","sortedOrgNames","indexOf","sortedEducationSpaces","educationSpaces","space_long_id","sortedResearchSpaces","researchSpaces","sortedDatasetSpaces","datasetSpaces","sortedInstances","sortBy","isCurrentState","currentState","showOrgMenu","showSpaceMenu","fetchingSpaces","showInstanceMenu","fetchingInstances","showSnapshotMenu","fetchingSnapshots","find","instanceFixedNames","MASTER_INSTANCE","snapshotEnums","AUTO_SNAPSHOT","ARCHIVED_SNAPSHOT","RESTED_SNAPSHOT","fileStatusTypes","SAVED_AND_UNCHANGED","SAVED_AND_CHANGED","UNSAVED","STATUS_UNAVAILABLE","snapshotBackupStatusOptions","CREATING_SNAPSHOT","getSnapshotStatusIcon","snapshotData","backup_location","getSnapshotStatusDescription","filesystem_prefix","currentFileStatus","file","status","in_last_snapshot","changed","scopedSlots","key","_c","model","callback","expression","staticStyle","_vm","_v","item","fn","_s","_g","$$v","$event","isSpaceArchived","staticRenderFns","component","genChildren","tag","genMessage","message","VMessages","BindsAttrs","Validatable","inheritAttrs","appendIcon","hideDetails","hideSpinButtons","hint","id","label","persistentHint","prependIcon","hasMouseDown","showDetails","isLabelActive","isDirty","computedId","_uid","hasDetails","messagesToDisplay","hasHint","hasLabel","$_modelEvent","validation","validationResult","beforeCreate","$options","event","genPrependSlot","genControl","genAppendSlot","title","attrs$","genInputSlot","genMessages","genDefaultSlot","genLabel","genIcon","cb","extraData","eventName","kebabCase","hasListener","mergeData","split","dark","light","tabindex","preventDefault","stopPropagation","mouseup","mousedown","onMouseDown","onMouseUp","ref","VLabel","focused","for","genSlot","location","functional","left","right","ctx","functionalThemeClasses","position","$","target","proto","enumerable","URL","prototype","toString","VInput"],"mappings":"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","file":"static/js/chunk-2745dbc4.d9451d7c.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","import Vue, { VNode } from 'vue'\nimport VProgressLinear from '../../components/VProgressLinear'\n\ninterface colorable extends Vue {\n color?: string\n}\n\n/**\n * Loadable\n *\n * @mixin\n *\n * Used to add linear progress bar to components\n * Can use a default bar with a specific color\n * or designate a custom progress linear bar\n */\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'loadable',\n\n props: {\n loading: {\n type: [Boolean, String],\n default: false,\n },\n loaderHeight: {\n type: [Number, String],\n default: 2,\n },\n },\n\n methods: {\n genProgress (): VNode | VNode[] | null {\n if (this.loading === false) return null\n\n return this.$slots.progress || this.$createElement(VProgressLinear, {\n props: {\n absolute: true,\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n height: this.loaderHeight,\n indeterminate: true,\n },\n })\n },\n },\n})\n","import VProgressLinear from './VProgressLinear'\n\nexport { VProgressLinear }\nexport default VProgressLinear\n","// Mixins\nimport Colorable from '../colorable'\nimport Themeable from '../themeable'\nimport { inject as RegistrableInject } from '../registrable'\n\n// Utilities\nimport { deepEqual } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { InputMessage, InputValidationRules } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'form', any>('form'),\n Themeable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'validatable',\n\n props: {\n disabled: Boolean,\n error: Boolean,\n errorCount: {\n type: [Number, String],\n default: 1,\n },\n errorMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n messages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n readonly: Boolean,\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator,\n success: Boolean,\n successMessages: {\n type: [String, Array],\n default: () => [],\n } as PropValidator,\n validateOnBlur: Boolean,\n value: { required: false },\n },\n\n data () {\n return {\n errorBucket: [] as string[],\n hasColor: false,\n hasFocused: false,\n hasInput: false,\n isFocused: false,\n isResetting: false,\n lazyValue: this.value,\n valid: false,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.color) return this.color\n // It's assumed that if the input is on a\n // dark background, the user will want to\n // have a white color. If the entire app\n // is setup to be dark, then they will\n // like want to use their primary color\n if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n hasError (): boolean {\n return (\n this.internalErrorMessages.length > 0 ||\n this.errorBucket.length > 0 ||\n this.error\n )\n },\n // TODO: Add logic that allows the user to enable based\n // upon a good validation\n hasSuccess (): boolean {\n return (\n this.internalSuccessMessages.length > 0 ||\n this.success\n )\n },\n externalError (): boolean {\n return this.internalErrorMessages.length > 0 || this.error\n },\n hasMessages (): boolean {\n return this.validationTarget.length > 0\n },\n hasState (): boolean {\n if (this.isDisabled) return false\n\n return (\n this.hasSuccess ||\n (this.shouldValidate && this.hasError)\n )\n },\n internalErrorMessages (): InputValidationRules {\n return this.genInternalMessages(this.errorMessages)\n },\n internalMessages (): InputValidationRules {\n return this.genInternalMessages(this.messages)\n },\n internalSuccessMessages (): InputValidationRules {\n return this.genInternalMessages(this.successMessages)\n },\n internalValue: {\n get (): unknown {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n\n this.$emit('input', val)\n },\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.form &&\n this.form.disabled\n )\n },\n isInteractive (): boolean {\n return !this.isDisabled && !this.isReadonly\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.form &&\n this.form.readonly\n )\n },\n shouldValidate (): boolean {\n if (this.externalError) return true\n if (this.isResetting) return false\n\n return this.validateOnBlur\n ? this.hasFocused && !this.isFocused\n : (this.hasInput || this.hasFocused)\n },\n validations (): InputValidationRules {\n return this.validationTarget.slice(0, Number(this.errorCount))\n },\n validationState (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor) return this.computedColor\n return undefined\n },\n validationTarget (): InputValidationRules {\n if (this.internalErrorMessages.length > 0) {\n return this.internalErrorMessages\n } else if (this.successMessages && this.successMessages.length > 0) {\n return this.internalSuccessMessages\n } else if (this.messages && this.messages.length > 0) {\n return this.internalMessages\n } else if (this.shouldValidate) {\n return this.errorBucket\n } else return []\n },\n },\n\n watch: {\n rules: {\n handler (newVal, oldVal) {\n if (deepEqual(newVal, oldVal)) return\n this.validate()\n },\n deep: true,\n },\n internalValue () {\n // If it's the first time we're setting input,\n // mark it with hasInput\n this.hasInput = true\n this.validateOnBlur || this.$nextTick(this.validate)\n },\n isFocused (val) {\n // Should not check validation\n // if disabled\n if (\n !val &&\n !this.isDisabled\n ) {\n this.hasFocused = true\n this.validateOnBlur && this.$nextTick(this.validate)\n }\n },\n isResetting () {\n setTimeout(() => {\n this.hasInput = false\n this.hasFocused = false\n this.isResetting = false\n this.validate()\n }, 0)\n },\n hasError (val) {\n if (this.shouldValidate) {\n this.$emit('update:error', val)\n }\n },\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeMount () {\n this.validate()\n },\n\n created () {\n this.form && this.form.register(this)\n },\n\n beforeDestroy () {\n this.form && this.form.unregister(this)\n },\n\n methods: {\n genInternalMessages (messages: InputMessage | null): InputValidationRules {\n if (!messages) return []\n else if (Array.isArray(messages)) return messages\n else return [messages]\n },\n /** @public */\n reset () {\n this.isResetting = true\n this.internalValue = Array.isArray(this.internalValue)\n ? []\n : null\n },\n /** @public */\n resetValidation () {\n this.isResetting = true\n },\n /** @public */\n validate (force = false, value?: any): boolean {\n const errorBucket = []\n value = value || this.internalValue\n\n if (force) this.hasInput = this.hasFocused = true\n\n for (let index = 0; index < this.rules.length; index++) {\n const rule = this.rules[index]\n const valid = typeof rule === 'function' ? rule(value) : rule\n\n if (valid === false || typeof valid === 'string') {\n errorBucket.push(valid || '')\n } else if (typeof valid !== 'boolean') {\n consoleError(`Rules should return a string or boolean, received '${typeof valid}' instead`, this)\n }\n }\n\n this.errorBucket = errorBucket\n this.valid = errorBucket.length === 0\n\n return this.valid\n },\n },\n})\n","export const createQuickAndDetailedSnapshots = {\n data() {\n return {\n snapshotCreationLoading: false,\n snapshotCreationErrorContent: 'An error has occurred while creating your snapshot, please try again later.',\n snapshotCreationError: false\n }\n },\n methods: {\n addSnapshot: function (newSnapshotType, longId = null, shortId = null, description = null) {\n this.snapshotCreationError = false\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Saving snapshot, please wait..',\n snackBarTimeout: 10000,\n snackBarIcon: 'info'\n })\n let postBody\n if (newSnapshotType === this.snapshotTypes.QUICK_SNAPSHOT) {\n const today = new Date()\n const currentDate = today.toJSON().slice(0, 10)\n const currentTime = ('0' + today.getHours()).slice(-2) + ':' + ('0' + today.getMinutes()).slice(-2) + ':' + ('0' + today.getSeconds()).slice(-2)\n const datetimeLongId = currentDate + ' / ' + currentTime\n const datetimeShortId = datetimeLongId.replace(/\\/+/g, '_').replace(/\\s+/g, '').replace('-', '_').replace(/:/g, '_')\n postBody = {\n description: 'Quick snapshot - no description available',\n long_id: 'Quick snapshot ' + datetimeLongId,\n short_id: datetimeShortId,\n snapshot_type: this.snapshotTypes.QUICK_SNAPSHOT\n }\n } else if (newSnapshotType === this.snapshotTypes.DETAILED_SNAPSHOT) {\n this.snapshotCreationLoading = true\n postBody = {\n description,\n long_id: longId,\n short_id: shortId,\n snapshot_type: this.snapshotTypes.DETAILED_SNAPSHOT\n }\n }\n const userTasksRoute = this.$router.resolve({ name: 'user-tasks' }).href\n const apiURL = `/instances/${this.$route.params.iid}/snapshots_async`\n this.$axios\n .post(apiURL, postBody)\n .then(() => {\n this.$store.dispatch('showSnackBar', {\n snackBarText: `Snapshot creation has started, you can track its progress here`,\n snackBarTimeout: 5000,\n snackBarIcon: 'info'\n })\n if (newSnapshotType === this.snapshotTypes.DETAILED_SNAPSHOT) {\n this.$router.push({\n name: 'snapshot-overview',\n params: {\n oid: this.$route.params.oid,\n sid: this.$route.params.sid,\n iid: this.$route.params.iid,\n snid: this.$route.params.snid\n }\n })\n }\n })\n .catch(error => {\n this.$store.dispatch('hideSnackBar')\n if (\n error.response &&\n error.response.data &&\n error.response.data.reason &&\n error.response.data.reason[0].includes('duplicate key value violates unique constraint \"uc_iid_long\"')\n ) {\n this.snapshotCreationError = true\n this.snapshotCreationErrorContent = 'Another snapshot uses the same name you chose for this snapshot, please choose another name'\n } else {\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Failed to create a snapshot, please try again later.',\n snackBarTimeout: 10000,\n snackBarIcon: 'error'\n })\n }\n })\n .finally(() => {\n this.snapshotCreationLoading = false\n })\n }\n }\n}\n","import './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { FunctionalComponentOptions } from 'vue/types'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n Proxyable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n directives: { intersect },\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data () {\n return {\n internalLazyValue: this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n staticClass: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return this.$createElement(this.computedTransition, [this.__cachedBarType])\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return this.$createElement('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): FunctionalComponentOptions {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.change)\n },\n styles (): object {\n const styles: Record = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return this.$createElement('div', {\n staticClass: 'v-progress-linear__content',\n }, slot)\n },\n genListeners () {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.click = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short') {\n return this.$createElement('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-progress-linear__indeterminate',\n class: {\n [name]: true,\n },\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number) {\n if (value < 0) return 0\n if (value > 100) return 100\n return parseFloat(value)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-progress-linear',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n on: this.genListeners(),\n }\n\n return h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ])\n },\n})\n","import { sortArray, isEditorRole, isViewerRole, isDistributedInstance, isCurrentState } from '@/utils'\nimport { mapGetters, mapState } from 'vuex'\nimport { sortBy } from 'lodash'\nexport const breadcrumbs = {\n data: function () {\n return {\n space: 'select space',\n instance: 'select instance',\n snapshot: 'select snapshot',\n organizationSearch: '',\n spaceSearch: '',\n instanceSearch: '',\n snapshotSearch: '',\n organizationMenu: false,\n spaceMenu: false,\n instanceMenu: false,\n snapshotMenu: false\n }\n },\n methods: {\n sortArray: function () {\n return sortArray\n },\n fetchOrgSpaces: function (orgName) {\n this.organizationMenu = false\n this.space = 'select space'\n const org = this.userOrgs.filter(org => org.long_id === orgName)[0]\n this.$router.push({ name: 'home-dashboard', params: { oid: org.oid } })\n },\n openSpace(spaceName, sid, iid, snid) {\n this.spaceMenu = false\n this.space = spaceName\n this.$router.push({ name: 'snapshot-overview', params: { oid: this.$route.params.oid, sid, iid, snid } })\n },\n openSnapshot(snid) {\n this.snapshotMenu = false\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid: this.$route.params.iid, snid }\n })\n },\n goToSnapshotTimelineView: function () {\n this.snapshotMenu = false\n this.$router.push({\n name: 'instance-snapshots',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid: this.$route.params.iid, snid: this.$route.params.snid }\n })\n },\n spaceRole: function (role) {\n if (role) {\n if (role.toUpperCase().includes('ADMIN')) {\n return 'SPACE ADMIN'\n } else {\n return 'MEMBER'\n }\n } else {\n return 'UNAVAILABLE'\n }\n },\n showInstanceOpenSnackBar(instanceName) {\n this.$store.dispatch('showSnackBar', {\n snackBarText: `Moved to instance: ${instanceName}`,\n snackBarTimeout: 5000,\n snackBarIcon: 'check_circle'\n })\n },\n goToMaster() {\n this.openInstance('master', this.masterInstance.iid, this.roleTypes.INSTANCE_EDITOR)\n },\n fetchDistributedInstanceSnapshots(iid, routeName = 'snapshot-overview', extraParams = {}) {\n this.$axios\n .get(`instances/${iid}/snapshots`)\n .then(response => {\n if (response.data && response.data.length < 2) {\n const delay = 2000\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Distributed has no snapshots, resetting to master instance.',\n snackBarTimeout: delay,\n snackBarIcon: 'info'\n })\n setTimeout(() => {\n this.goToMaster()\n }, delay)\n } else if (response.data && response.data.length > 1) {\n const sortedSnapshots = sortArray(response.data, 'snid', 'descending', false)\n const nonDevelopmentSnapshots = sortedSnapshots.filter(snapshot => snapshot.long_id !== 'Current State')\n const mostRecentSnapshot = nonDevelopmentSnapshots[0]\n this.$router.push({\n name: routeName,\n params: {\n oid: this.$route.params.oid,\n sid: this.$route.params.sid,\n iid: mostRecentSnapshot.iid,\n snid: mostRecentSnapshot.snid,\n ...extraParams\n }\n })\n this.showInstanceOpenSnackBar(mostRecentSnapshot.long_id)\n }\n })\n .catch(error => {\n console.log(error)\n this.$store.dispatch('showSnackBar', {\n snackBarText: 'Failed to fetch snapshots of distributed',\n snackBarTimeout: 5000,\n snackBarIcon: 'error'\n })\n })\n },\n async openInstance(instanceName, iid, role) {\n // instanceName => NO NEED, less input the better!\n await this.$store.dispatch('instanceStore/fetchSnapshots', iid)\n if (isEditorRole(role) && !isDistributedInstance(instanceName)) {\n const sortedInstanceSnapshots = sortArray(this.instanceSnapshots, 'snid', 'ascending', false)\n if (sortedInstanceSnapshots.length) {\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid, snid: sortedInstanceSnapshots[0].snid }\n })\n this.showInstanceOpenSnackBar(instanceName)\n }\n } else if (isDistributedInstance(instanceName)) {\n this.fetchDistributedInstanceSnapshots(iid)\n } else if (isViewerRole(role)) {\n const sortedInstanceSnapshots = sortArray(this.instanceSnapshots, 'snid', 'descending', false)\n this.$router.push({\n name: 'snapshot-overview',\n params: { oid: this.$route.params.oid, sid: this.$route.params.sid, iid, snid: sortedInstanceSnapshots[0].snid }\n })\n this.showInstanceOpenSnackBar(instanceName)\n }\n },\n disabledInstance(snapshots) {\n if (!snapshots.length) {\n return true\n } else if (snapshots.length >= 1) {\n return false\n }\n }\n },\n computed: {\n ...mapGetters('instanceStore', ['isInstanceEditor', 'isDistributedInstance']),\n ...mapState('instanceStore', ['instanceSnapshots']),\n ...mapState(['userOrgs']),\n ...mapState('orgStore', ['educationSpaces', 'researchSpaces', 'datasetSpaces', 'spacesWithPrimarySnapshots', 'fetchingSpaces']),\n ...mapState('spaceStore', ['spaceInstances', 'fetchingInstances']),\n ...mapState('instanceStore', ['fetchingSnapshots']),\n ...mapGetters('snapshotStore', ['isDevelopment', 'nonDevelopmentSnapshots']),\n ...mapGetters('orgStore', ['orgLongName']),\n ...mapGetters('spaceStore', ['currentSpaceType']),\n organizationName() {\n if (this.$route.params.oid !== undefined) {\n return this.orgLongName\n } else {\n return this.orgNames[0]\n }\n },\n instanceName() {\n if (this.$route.params.iid !== undefined && this.spaceInstances && this.spaceInstances.length) {\n return this.$store.getters['instanceStore/instanceLongNameById'](this.$route.params.iid)\n } else {\n return 'select instance'\n }\n },\n spaceName() {\n if (this.$route.params.sid !== undefined && this.spacesWithPrimarySnapshots && this.spacesWithPrimarySnapshots.length) {\n return this.$store.getters['spaceStore/spaceLongNameById'](this.$route.params.sid)\n } else {\n return 'select space'\n }\n },\n snapshotName() {\n if (this.$route.params.snid !== undefined && this.instanceSnapshots && this.instanceSnapshots.length) {\n return this.$store.getters['snapshotStore/snapshotLongNameById'](this.$route.params.snid)\n } else {\n return 'select snapshot'\n }\n },\n orgNames() {\n return this.userOrgs\n .map(org => org.long_id)\n .sort(function (a, b) {\n return a.toLowerCase().localeCompare(b.toLowerCase())\n })\n },\n sortedOrgNames() {\n if (this.organizationSearch.length) {\n return sortArray(this.userOrgs, 'long_id', 'ascending', true).filter(\n org => org.long_id.toLowerCase().indexOf(this.organizationSearch.toLowerCase()) !== -1\n )\n } else {\n return sortArray(this.userOrgs, 'long_id', 'ascending', true)\n }\n },\n sortedEducationSpaces() {\n if (this.spaceSearch.length) {\n return this.educationSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.educationSpaces\n }\n },\n sortedResearchSpaces() {\n if (this.spaceSearch.length) {\n return this.researchSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.researchSpaces\n }\n },\n sortedDatasetSpaces() {\n if (this.spaceSearch.length) {\n return this.datasetSpaces.filter(space => space.space_long_id.toLowerCase().indexOf(this.spaceSearch.toLowerCase()) !== -1)\n } else {\n return this.datasetSpaces\n }\n },\n sortedInstances() {\n if (this.instanceSearch.length) {\n return sortArray(this.spaceInstances, 'iid', 'ascending', false).filter(\n instance => instance.long_id.toLowerCase().indexOf(this.instanceSearch.toLowerCase()) !== -1\n )\n } else {\n return this.spaceInstances\n }\n },\n sortedSnapshots() {\n if (this.snapshotSearch.length) {\n return sortBy(this.instanceSnapshots, 'snapshot_timestamp')\n .reverse()\n .filter(snapshot => !isCurrentState(snapshot.short_id) && snapshot.long_id.toLowerCase().indexOf(this.snapshotSearch.toLowerCase()) !== -1)\n } else {\n return sortBy(this.instanceSnapshots, 'snapshot_timestamp')\n .reverse()\n .filter(snapshot => !isCurrentState(snapshot.short_id))\n }\n },\n currentState() {\n if (this.snapshotSearch.length) {\n return this.instanceSnapshots.filter(\n snapshot => snapshot.long_id === 'Current State' && snapshot.long_id.toLowerCase().indexOf(this.snapshotSearch.toLowerCase()) !== -1\n )\n } else {\n return this.instanceSnapshots.filter(snapshot => snapshot.long_id === 'Current State')\n }\n },\n showOrgMenu() {\n if (this.orgNames.length) {\n return true\n } else {\n return false\n }\n },\n showSpaceMenu() {\n if (this.spacesWithPrimarySnapshots.length && !this.fetchingSpaces) {\n return true\n } else {\n return false\n }\n },\n showInstanceMenu() {\n if (!this.fetchingInstances && !this.fetchingSpaces && this.$route.params.snid !== undefined) {\n return true\n } else {\n return false\n }\n },\n showSnapshotMenu() {\n if (this.instanceSnapshots.length && !this.fetchingSnapshots && !this.fetchingInstances && !this.fetchingSpaces) {\n return true\n } else {\n return false\n }\n },\n masterInstance() {\n const masterInstance = this.spaceInstances.find(instance => instance.long_id === this.instanceFixedNames.MASTER_INSTANCE)\n return masterInstance\n }\n },\n watch: {\n organizationMenu: function (val) {\n if (val) {\n this.organizationSearch = ''\n }\n },\n spaceMenu: function (val) {\n if (val) {\n this.spaceSearch = ''\n }\n },\n instanceMenu: function (val) {\n if (val) {\n this.instanceSearch = ''\n }\n },\n snapshotMenu: function (val) {\n if (val) {\n this.snapshotSearch = ''\n }\n }\n }\n}\n","export const snapshotEnums = {\n data() {\n return {\n snapshotTypes: {\n QUICK_SNAPSHOT: 20,\n AUTO_SNAPSHOT: 30,\n DETAILED_SNAPSHOT: 10,\n ARCHIVED_SNAPSHOT: 40,\n RESTED_SNAPSHOT: 50\n },\n fileStatusTypes: {\n SAVED_AND_UNCHANGED: 'SAVED_AND_UNCHANGED',\n SAVED_AND_CHANGED: 'SAVED_AND_CHANGED',\n UNSAVED: 'UNSAVED',\n STATUS_UNAVAILABLE: 'STATUS_UNAVAILABLE'\n },\n snapshotBackupStatusOptions: {\n CREATING_SNAPSHOT: 'creating'\n }\n }\n },\n methods: {\n getSnapshotStatusIcon: function (snapshotData) {\n if (!snapshotData.backup_location) {\n return 'mdi-lock-off'\n } else if (snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'mdi-lock-clock'\n } else {\n return 'mdi-lock-check'\n }\n },\n getSnapshotStatusDescription: function (snapshotData) {\n if (!snapshotData.filesystem_prefix && !snapshotData.backup_location) {\n return 'The data for this snapshot can not be located. Please contact support.'\n } else if (snapshotData.filesystem_prefix && !snapshotData.backup_location) {\n return 'This snapshot has no backup.'\n } else if (snapshotData.filesystem_prefix && snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'A backup is being created for this snapshot.'\n } else if (snapshotData.filesystem_prefix && snapshotData.backup_location) {\n return 'A backup exists for this snapshot'\n } else if (!snapshotData.filesystem_prefix && snapshotData.backup_location === this.snapshotBackupStatusOptions.CREATING_SNAPSHOT) {\n return 'The data for this snapshot can not be located. Please contact support.'\n } else if (!snapshotData.filesystem_prefix && snapshotData.backup_location) {\n return 'Files in this snapshot are in cold storage. It can take slightly longer to view or download them.'\n }\n },\n currentFileStatus(file) {\n if (file.status) {\n if (file.status.success && file.status.in_last_snapshot && !file.status.changed) {\n return this.fileStatusTypes.SAVED_AND_UNCHANGED\n } else if (file.status.success && file.status.in_last_snapshot && file.status.changed) {\n return this.fileStatusTypes.SAVED_AND_CHANGED\n } else if (file.status.success && !file.status.in_last_snapshot) {\n return this.fileStatusTypes.UNSAVED\n }\n }\n return this.fileStatusTypes.STATUS_UNAVAILABLE\n }\n }\n}\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"flex-grow-1 flex-shrink-1\",staticStyle:{\"min-width\":\"0\"}},[_c('div',{staticClass:\"d-flex justify-start align-center\"},[(_vm.showOrgMenu)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"flex-shrink-1 full-width-button ml-3\",attrs:{\"disabled\":_vm.fetchingSpaces,\"text\":\"\",\"color\":\"secondary\",\"e2e-select-org\":\"\"}},on),[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticClass:\"secondary--text font-weight-bold caption text-truncate flex-shrink-1\"},[_vm._v(_vm._s(_vm.organizationName))]),_c('v-icon',[_vm._v(\"arrow_drop_down\")])],1)])]}}],null,false,777707529),model:{value:(_vm.organizationMenu),callback:function ($$v) {_vm.organizationMenu=$$v},expression:\"organizationMenu\"}},[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',[_c('v-text-field',{staticClass:\"ma-0 pa-0\",attrs:{\"autofocus\":\"\",\"append-icon\":\"search\",\"label\":\"Filter\",\"dense\":\"\",\"single-line\":\"\",\"outlined\":\"\"},model:{value:(_vm.organizationSearch),callback:function ($$v) {_vm.organizationSearch=$$v},expression:\"organizationSearch\"}})],1),_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"apartment\")]),_vm._v(\" organizations \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1),_vm._l((_vm.sortedOrgNames),function(item){return _c('v-list-item',{key:item.long_id,on:{\"click\":function($event){return _vm.fetchOrgSpaces(item.long_id)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(item.role))])],1)])],1)})],2)],1):_vm._e(),_c('v-icon',[_vm._v(\"keyboard_arrow_right\")]),(_vm.showSpaceMenu)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"flex-shrink-1 full-width-button\",attrs:{\"text\":\"\",\"color\":\"secondary\",\"e2e-select-space\":\"\"}},on),[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticClass:\"secondary--text font-weight-bold caption text-truncate flex-shrink-1\"},[_vm._v(_vm._s(_vm.spaceName))]),_c('v-icon',[_vm._v(\"arrow_drop_down\")])],1)])]}}],null,false,1499858522),model:{value:(_vm.spaceMenu),callback:function ($$v) {_vm.spaceMenu=$$v},expression:\"spaceMenu\"}},[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',[_c('v-text-field',{staticClass:\"ma-0 pa-0\",attrs:{\"autofocus\":\"\",\"append-icon\":\"search\",\"label\":\"Filter\",\"dense\":\"\",\"single-line\":\"\",\"outlined\":\"\"},model:{value:(_vm.spaceSearch),callback:function ($$v) {_vm.spaceSearch=$$v},expression:\"spaceSearch\"}})],1),_c('v-list-item',[_c('v-alert',{staticClass:\"my-0\",attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"info\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('a',_vm._g({staticClass:\"caption\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"https://docs.nuvolos.cloud/getting-started/nuvolos-basic-concepts/distribution\",\"target\":\"_blank\"}},on),[_vm._v(\" Want to move objects across spaces? \")])]}}],null,false,2463555647)},[_c('span',[_vm._v(\"Click to learn more.\")])])],1)],1),(_vm.sortedEducationSpaces.length)?_c('div',[_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"school\")]),_vm._v(\" Courses \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1),_vm._l((_vm.sortedEducationSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.space_long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e(),(_vm.sortedResearchSpaces.length)?_c('div',[_c('v-list-item',{class:_vm.sortedEducationSpaces.length ? 'mt-5' : '',attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-beaker\")]),_vm._v(\" research projects \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1),_vm._l((_vm.sortedResearchSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.space_long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e(),(_vm.sortedDatasetSpaces.length)?_c('div',[_c('v-list-item',{class:_vm.sortedResearchSpaces.length || _vm.sortedEducationSpaces.length ? 'mt-5' : '',attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-database\")]),_vm._v(\" datasets \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1),_vm._l((_vm.sortedDatasetSpaces),function(item){return _c('v-list-item',{key:item.sid,on:{\"click\":function($event){return _vm.openSpace(item.space_long_id, item.sid, item.iid, item.snid)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.space_long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.spaceRole(item.space_role)))])],1)])],1)})],2):_vm._e()],1)],1):(_vm.fetchingSpaces)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.fetchingInstances || _vm.showInstanceMenu)?_c('v-icon',[_vm._v(\"keyboard_arrow_right\")]):_vm._e(),(_vm.showInstanceMenu)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"flex-shrink-1 full-width-button shepherd-toolbar-instance\",attrs:{\"text\":\"\",\"color\":\"secondary\",\"e2e-select-instance\":\"\"}},on),[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticClass:\"secondary--text font-weight-bold caption text-truncate flex-shrink-1\"},[_vm._v(_vm._s(_vm.instanceName))]),_c('v-icon',[_vm._v(\"arrow_drop_down\")])],1)])]}}],null,false,255299055),model:{value:(_vm.instanceMenu),callback:function ($$v) {_vm.instanceMenu=$$v},expression:\"instanceMenu\"}},[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"}},[_c('v-list-item',[_c('v-text-field',{staticClass:\"ma-0 pa-0\",attrs:{\"autofocus\":\"\",\"append-icon\":\"search\",\"label\":\"Filter\",\"dense\":\"\",\"single-line\":\"\",\"outlined\":\"\"},model:{value:(_vm.instanceSearch),callback:function ($$v) {_vm.instanceSearch=$$v},expression:\"instanceSearch\"}})],1),_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"group\")]),_vm._v(\" instances \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1),_vm._l((_vm.sortedInstances),function(item){return _c('v-list-item',{key:item.iid,attrs:{\"disabled\":_vm.disabledInstance(item.long_id, item.data)},on:{\"click\":function($event){return _vm.openInstance(item.long_id, item.iid, item.role)}}},[_c('v-list-item-title',[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_vm._v(\" \"+_vm._s(item.long_id)+\" \"),_c('v-chip',{staticClass:\"ml-3\",attrs:{\"outlined\":\"\",\"color\":\"grey lighten-1\",\"x-small\":\"\"}},[_vm._v(_vm._s(item.role))])],1)])],1)})],2)],1):(_vm.fetchingInstances)?_c('v-progress-circular',{attrs:{\"size\":30,\"color\":\"secondary\",\"indeterminate\":\"\"}}):_vm._e(),(_vm.fetchingSnapshots || _vm.showSnapshotMenu)?_c('v-icon',[_vm._v(\"keyboard_arrow_right\")]):_vm._e(),(_vm.showSnapshotMenu)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"flex-shrink-1 full-width-button shepherd-toolbar-snapshot\",attrs:{\"text\":\"\",\"color\":\"secondary\",\"e2e-select-snapshot\":\"\"}},on),[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticClass:\"secondary--text font-weight-bold caption text-truncate flex-shrink-1\"},[_vm._v(_vm._s(_vm.snapshotName))]),_c('v-icon',[_vm._v(\"arrow_drop_down\")])],1)])]}}],null,false,2695157802),model:{value:(_vm.snapshotMenu),callback:function ($$v) {_vm.snapshotMenu=$$v},expression:\"snapshotMenu\"}},[_c('v-list',{staticClass:\"overflow-y-auto\",staticStyle:{\"max-height\":\"500px\"},attrs:{\"nav\":\"\",\"dense\":\"\"},model:{value:(_vm.snapshot),callback:function ($$v) {_vm.snapshot=$$v},expression:\"snapshot\"}},[_c('v-list-item',[_c('div',{staticClass:\"d-flex justify-space-between w-100\"},[_c('v-text-field',{staticClass:\"ma-0 pa-0\",attrs:{\"autofocus\":\"\",\"append-icon\":\"search\",\"label\":\"Filter\",\"dense\":\"\",\"single-line\":\"\",\"outlined\":\"\"},model:{value:(_vm.snapshotSearch),callback:function ($$v) {_vm.snapshotSearch=$$v},expression:\"snapshotSearch\"}}),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"loading\":_vm.fetchingSnapshots},on:{\"click\":function($event){return _vm.$store.dispatch('instanceStore/fetchInstanceSnapshots', _vm.$route.params.iid)}}},on),[_c('v-icon',[_vm._v(\"refresh\")])],1)]}}],null,false,1705806840)},[_c('span',[_vm._v(\"Refresh snapshots\")])])],1)]),(_vm.currentState.length && _vm.isInstanceEditor && !_vm.isDistributedInstance)?_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center flex-wrap\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"build\")]),_vm._v(\" mutable state \")],1),_c('v-divider',{staticClass:\"mt-1\",attrs:{\"color\":\"grey\"}})],1)])],1)],1):_vm._e(),(_vm.currentState.length && _vm.isInstanceEditor && !_vm.isDistributedInstance)?_c('v-list-item',{on:{\"click\":function($event){return _vm.openSnapshot(_vm.currentState[0].snid)}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.currentState[0].long_id))])],1):_vm._e(),_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"secondary--text caption text-uppercase d-flex align-center flex-wrap\"},[_c('div',{staticClass:\"d-flex flex-column w-100\"},[_c('div',{staticClass:\"d-flex justify-space-between align-center\"},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"camera_alt\")]),_vm._v(\" immutable states \")],1),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"color\":\"info\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.goToSnapshotTimelineView()}}},on),[_c('v-icon',[_vm._v(\"timeline\")])],1)]}}],null,false,2773548375)},[_c('span',[_vm._v(\"Timeline view of snapshots\")])])],1),_c('v-divider',{attrs:{\"color\":\"grey\"}})],1)])],1)],1),(_vm.sortedSnapshots.length)?_c('div',_vm._l((_vm.sortedSnapshots),function(item){return _c('v-list-item',{key:item.snid,on:{\"click\":function($event){return _vm.openSnapshot(item.snid)}}},[_c('v-list-item-title',[_vm._v(_vm._s(item.long_id))])],1)}),1):(_vm.currentSpaceType !== _vm.spaceTypes.VENDOR_SPACE && _vm.isDevelopment && _vm.isInstanceEditor)?[(!_vm.isTrialSpace)?_c('v-list-item',{attrs:{\"disabled\":_vm.isSpaceArchived},on:{\"click\":function($event){return _vm.addSnapshot(_vm.snapshotTypes.QUICK_SNAPSHOT)}}},[_c('v-list-item-title',{staticClass:\"subtitle-2 d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-camera-plus-outline\")]),_vm._v(\" Quick snapshot \")],1),_c('v-list-item-action',[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-icon',_vm._g({attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},on),[_vm._v(\"mdi-information\")])]}}],null,false,2792354461)},[_c('span',[_vm._v(\"This will create and save a snapshot of your current state, including all your files, tables, and applications.\")])])],1)],1):_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-title',{staticClass:\"subtitle-2 d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-camera-plus-outline\")]),_vm._v(\" Quick snapshot \")],1),_c('v-list-item-action',[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on1 }){return [_c('v-icon',_vm._g({attrs:{\"small\":\"\",\"color\":\"grey lighten-1\"}},on1),[_vm._v(\"mdi-information\")])]}}],null,true)})],1)],1)],1)]}}],null,false,3311345417)},[_c('span',[_vm._v(\" You discovered a premium feature! \"),_c('br'),_vm._v(\" Subscribing to Nuvolos will unlock it. \")])])]:_vm._e()],2)],1):(_vm.fetchingSnapshots)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\"}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./BreadcrumbsLargeScreen.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!./BreadcrumbsLargeScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BreadcrumbsLargeScreen.vue?vue&type=template&id=2f6d1f86&\"\nimport script from \"./BreadcrumbsLargeScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./BreadcrumbsLargeScreen.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 './VMessages.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-messages',\n\n props: {\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n },\n\n methods: {\n genChildren () {\n return this.$createElement('transition-group', {\n staticClass: 'v-messages__wrapper',\n attrs: {\n name: 'message-transition',\n tag: 'div',\n },\n }, this.value.map(this.genMessage))\n },\n genMessage (message: string, key: number) {\n return this.$createElement('div', {\n staticClass: 'v-messages__message',\n key,\n }, getSlot(this, 'default', { message, key }) || [message])\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-messages',\n class: this.themeClasses,\n }), [this.genChildren()])\n },\n})\n","import VMessages from './VMessages'\n\nexport { VMessages }\nexport default VMessages\n","// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // .loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n attrs: { title: this.attrs$.title },\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const data = mergeData({\n attrs: {\n 'aria-label': hasListener ? kebabCase(type).split('-')[0] + ' icon' : undefined,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n },\n on: !hasListener\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }, extraData)\n\n return this.$createElement('div', {\n staticClass: `v-input__icon`,\n class: type ? `v-input__icon--${kebabCase(type)}` : undefined,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n scopedSlots: {\n default: props => getSlot(this, 'message', props),\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n","// Styles\nimport './VLabel.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable, { functionalThemeClasses } from '../../mixins/themeable'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Themeable).extend({\n name: 'v-label',\n\n functional: true,\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n focused: Boolean,\n for: String,\n left: {\n type: [Number, String],\n default: 0,\n },\n right: {\n type: [Number, String],\n default: 'auto',\n },\n value: Boolean,\n },\n\n render (h, ctx): VNode {\n const { children, listeners, props } = ctx\n const data = {\n staticClass: 'v-label',\n class: {\n 'v-label--active': props.value,\n 'v-label--is-disabled': props.disabled,\n ...functionalThemeClasses(ctx),\n },\n attrs: {\n for: props.for,\n 'aria-hidden': !props.for,\n },\n on: listeners,\n style: {\n left: convertToUnit(props.left),\n right: convertToUnit(props.right),\n position: props.absolute ? 'absolute' : 'relative',\n },\n ref: 'label',\n }\n\n return h('label', Colorable.options.methods.setTextColor(props.focused && props.color, data), children)\n },\n})\n","import VLabel from './VLabel'\n\nexport { VLabel }\nexport default VLabel\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import VInput from './VInput'\n\nexport { VInput }\nexport default VInput\n"],"sourceRoot":""}