{"version":3,"sources":["webpack:///../../../src/components/VToolbar/index.ts","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///./src/components/shared/base/BaseDialogToolbar.vue","webpack:///src/components/shared/base/BaseDialogToolbar.vue","webpack:///./src/components/shared/base/BaseDialogToolbar.vue?5501","webpack:///./src/components/shared/base/BaseDialogToolbar.vue?1f26","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./src/mixins/shared/base/toolbar/toolbarMixin.js"],"names":["VToolbarTitle","createSimpleFunctional","VToolbarItems","VToolbar","VSheet","extend","name","props","absolute","Boolean","bottom","collapse","dense","extended","extensionHeight","default","type","Number","String","flat","floating","prominent","short","src","Object","tag","data","isExtended","computed","computedHeight","height","this","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","$vuetify","breakpoint","smAndDown","classes","options","call","styles","measurableStyles","convertToUnit","created","breakingProps","forEach","original","replacement","$attrs","hasOwnProperty","breaking","methods","genBackground","image","$scopedSlots","img","$createElement","VImg","staticClass","genContent","style","getSlot","genExtension","render","h","extension","children","setBackgroundColor","color","class","on","$listeners","push","unshift","elevation","scopedSlots","_vm","key","fn","_s","staticRenderFns","inheritAttrs","mixins","toolbarMixin","dialogToolbarSettingsMixin","toolbarColor","dialogTitleColor","component","Measurable","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","undefined","__cachedSizer","VResponsive","hasIntersect","window","Themeable","directives","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","threshold","position","sizes","srcset","transition","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","join","backgroundPosition","attrs","mode","watch","loadImage","init","mounted","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","$emit","endsWith","startsWith","naturalHeight","onError","onload","decode","catch","err","consoleWarn","message","then","onerror","timeout","poll","complete","setTimeout","content","_b","width","__genPlaceholder","slot","placeholder","appear","node","mergeData","role","themeClasses","modifiers","once","value","handler","publicAccessMixin","iconName","title","dark","rounded","toolbarStyle","_this$publicAccess$ap","_this$publicAccess","_this$toolbarColor","isPublicAccess","publicAccess","appBar","colorMD","indigo","indigoGradient"],"mappings":"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","file":"js/chunk-a9e6edda.36389b0f.js","sourcesContent":["// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-toolbar',_vm._g(_vm._b({attrs:{\"dark\":_vm.dark,\"rounded\":_vm.rounded,\"color\":_vm.dialogTitleColorClass,\"dense\":_vm.dense,\"elevation\":_vm.elevation},scopedSlots:_vm._u([(_vm.gradient)?{key:\"img\",fn:function({ props }){return [_c('v-img',_vm._b({attrs:{\"gradient\":_vm.gradient}},'v-img',props,false))]}}:null],null,true)},'v-toolbar',_vm.$attrs,false),_vm.$listeners),[(_vm.iconName)?_c('v-avatar',[_c('v-icon',[_vm._v(_vm._s(_vm.iconName))])],1):_vm._e(),_c('v-toolbar-title',[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.title))]})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseDialogToolbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseDialogToolbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseDialogToolbar.vue?vue&type=template&id=f5c0be94\"\nimport script from \"./BaseDialogToolbar.vue?vue&type=script&lang=js\"\nexport * from \"./BaseDialogToolbar.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","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, getSlot(this))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n const slot = getSlot(this, 'placeholder')\n if (slot) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, slot)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","import { colorMD } from \"@/design/colors/mdColors\";\r\nimport { indigoGradient } from \"@/design/gradients/gradientConst\";\r\n\r\nimport { publicAccessMixin } from \"@/mixins/public/publicAccessMixin\";\r\n\r\n/**\r\n * Toolbar Mixin\r\n */\r\nexport const toolbarMixin = {\r\n mixins: [publicAccessMixin],\r\n props: {\r\n iconName: {\r\n type: String,\r\n default: \"\"\r\n },\r\n title: {\r\n type: String,\r\n default: \"\"\r\n },\r\n dark: {\r\n type: Boolean,\r\n default: true\r\n },\r\n dense: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n elevation: {\r\n type: Number,\r\n default: 5\r\n },\r\n toolbarStyle: {\r\n type: String,\r\n default: \"margin: -30px 0 0;\"\r\n }\r\n },\r\n computed: {\r\n toolbarColor: () => undefined,\r\n gradient() {\r\n return this.isPublicAccess\r\n ? this.publicAccess?.appBar?.gradient ?? undefined\r\n : this.toolbarColor?.name === colorMD.indigo\r\n ? indigoGradient\r\n : undefined;\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}