{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/img/QImg.js","webpack:///./node_modules/quasar/src/components/layout/QLayout.js","webpack:///./node_modules/quasar/src/components/scroll-observer/QScrollObserver.js"],"names":["defaultRatio","createComponent","name","props","useRatioProps","src","String","srcset","sizes","alt","crossorigin","decoding","referrerpolicy","draggable","Boolean","loading","type","default","loadingShowDelay","Number","fetchpriority","width","height","initialRatio","placeholderSrc","errorSrc","fit","position","imgClass","imgStyle","Object","noSpinner","noNativeMenu","noTransition","spinnerColor","spinnerSize","emits","setup","slots","emit","naturalRatio","ref","ratioStyle","useRatio","vm","getCurrentInstance","registerTimeout","registerLoadTimeout","removeTimeout","removeLoadTimeout","useTimeout","registerLoadShowTimeout","removeLoadShowTimeout","placeholderImg","computed","errorImg","__qerror","images","value","isLoading","hasError","classes","style","objectFit","objectPosition","setLoading","clearLoading","onLoad","target","vmIsDestroyed","naturalHeight","naturalWidth","waitForCompleteness","count","complete","onReady","getAttribute","currentSrc","onError","err","getImage","index","img","data","key","class","assign","h","getContent","hSlot","QSpinner","color","size","__QUASAR_SSR_SERVER__","watchSrc","watch","imgProps","immediate","isRuntimeSsrPreHydration","onMounted","content","push","Transition","role","container","view","validator","v","test","toLowerCase","onScroll","Function","onScrollHeight","onResize","proxy","$q","rootRef","screen","scroll","direction","inflectionPoint","containerHeight","scrollbarWidth","getScrollbarWidth","minHeight","targetStyle","lang","rtl","targetChildStyle","onPageScroll","document","qScrollPrevented","info","top","directionChanged","delta","onPageResize","newHeight","newWidth","resized","updateScrollbarWidth","onContainerResize","animateTimer","$layout","instances","isContainer","totalWidth","rows","split","middle","bottom","header","reactive","offset","space","right","footer","left","animate","clearTimeout","body","classList","add","setTimeout","remove","update","part","prop","val","provide","layoutKey","timer","el","restoreScrollbar","hideScrollbar","scrollHeight","updateScrollEvent","action","window","onUnmounted","hMergeSlot","QScrollObserver","QResizeObserver","layout","tabindex","passive","listenOpts","axisValues","axis","includes","debounce","scrollTarget","clearTimer","localScrollTarget","parentEl","unconfigureScrollTarget","configureScrollTarget","emitEvent","Math","max","getVerticalScrollPosition","getHorizontalScrollPosition","curDir","abs","getScrollTarget","addEventListener","trigger","removeEventListener","immediately","fn","requestAnimationFrame","cancelAnimationFrame","$el","parentNode","onBeforeUnmount","getPosition","noop"],"mappings":"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","file":"js/chunk-7f9b7f3d.984d5c1b.js","sourcesContent":["import { h, ref, computed, watch, onMounted, Transition, getCurrentInstance } from 'vue'\n\nimport QSpinner from '../spinner/QSpinner.js'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'\nimport useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { vmIsDestroyed } from '../../utils/private/vm.js'\nimport useTimeout from '../../composables/use-timeout.js'\n\nconst defaultRatio = 1.7778 /* 16/9 */\n\nexport default createComponent({\n name: 'QImg',\n\n props: {\n ...useRatioProps,\n\n src: String,\n srcset: String,\n sizes: String,\n\n alt: String,\n crossorigin: String,\n decoding: String,\n referrerpolicy: String,\n\n draggable: Boolean,\n\n loading: {\n type: String,\n default: 'lazy'\n },\n loadingShowDelay: {\n type: [ Number, String ],\n default: 0\n },\n\n fetchpriority: {\n type: String,\n default: 'auto'\n },\n width: String,\n height: String,\n initialRatio: {\n type: [ Number, String ],\n default: defaultRatio\n },\n\n placeholderSrc: String,\n errorSrc: String,\n\n fit: {\n type: String,\n default: 'cover'\n },\n position: {\n type: String,\n default: '50% 50%'\n },\n\n imgClass: String,\n imgStyle: Object,\n\n noSpinner: Boolean,\n noNativeMenu: Boolean,\n noTransition: Boolean,\n\n spinnerColor: String,\n spinnerSize: String\n },\n\n emits: [ 'load', 'error' ],\n\n setup (props, { slots, emit }) {\n const naturalRatio = ref(props.initialRatio)\n const ratioStyle = useRatio(props, naturalRatio)\n const vm = getCurrentInstance()\n\n const { registerTimeout: registerLoadTimeout, removeTimeout: removeLoadTimeout } = useTimeout()\n const { registerTimeout: registerLoadShowTimeout, removeTimeout: removeLoadShowTimeout } = useTimeout()\n\n const placeholderImg = computed(() => (\n props.placeholderSrc !== void 0\n ? { src: props.placeholderSrc }\n : null\n ))\n\n const errorImg = computed(() => (\n props.errorSrc !== void 0\n ? { src: props.errorSrc, __qerror: true }\n : null\n ))\n\n const images = [\n ref(null),\n ref(placeholderImg.value)\n ]\n\n const position = ref(0)\n\n const isLoading = ref(false)\n const hasError = ref(false)\n\n const classes = computed(() =>\n `q-img q-img--${ props.noNativeMenu === true ? 'no-' : '' }menu`\n )\n\n const style = computed(() => ({\n width: props.width,\n height: props.height\n }))\n\n const imgClass = computed(() =>\n `q-img__image ${ props.imgClass !== void 0 ? props.imgClass + ' ' : '' }`\n + `q-img__image--with${ props.noTransition === true ? 'out' : '' }-transition`\n + ' q-img__image--'\n )\n\n const imgStyle = computed(() => ({\n ...props.imgStyle,\n objectFit: props.fit,\n objectPosition: props.position\n }))\n\n function setLoading () {\n removeLoadShowTimeout()\n\n if (props.loadingShowDelay === 0) {\n isLoading.value = true\n return\n }\n\n registerLoadShowTimeout(() => {\n isLoading.value = true\n }, props.loadingShowDelay)\n }\n\n function clearLoading () {\n removeLoadShowTimeout()\n isLoading.value = false\n }\n\n function onLoad ({ target }) {\n if (vmIsDestroyed(vm) === false) {\n removeLoadTimeout()\n\n naturalRatio.value = target.naturalHeight === 0\n ? 0.5\n : target.naturalWidth / target.naturalHeight\n\n waitForCompleteness(target, 1)\n }\n }\n\n function waitForCompleteness (target, count) {\n // protect against running forever\n if (count === 1000 || vmIsDestroyed(vm) === true) return\n\n if (target.complete === true) {\n onReady(target)\n }\n else {\n registerLoadTimeout(() => {\n waitForCompleteness(target, count + 1)\n }, 50)\n }\n }\n\n function onReady (target) {\n if (vmIsDestroyed(vm) === true) return\n\n position.value = position.value ^ 1\n images[ position.value ].value = null\n\n clearLoading()\n\n if (target.getAttribute('__qerror') !== 'true') {\n hasError.value = false\n }\n\n emit('load', target.currentSrc || target.src)\n }\n\n function onError (err) {\n removeLoadTimeout()\n clearLoading()\n\n hasError.value = true\n images[ position.value ].value = errorImg.value\n images[ position.value ^ 1 ].value = placeholderImg.value\n\n emit('error', err)\n }\n\n function getImage (index) {\n const img = images[ index ].value\n\n const data = {\n key: 'img_' + index,\n class: imgClass.value,\n style: imgStyle.value,\n alt: props.alt,\n crossorigin: props.crossorigin,\n decoding: props.decoding,\n referrerpolicy: props.referrerpolicy,\n height: props.height,\n width: props.width,\n loading: props.loading,\n fetchpriority: props.fetchpriority,\n 'aria-hidden': 'true',\n draggable: props.draggable,\n ...img\n }\n\n if (position.value === index) {\n Object.assign(data, {\n class: data.class + 'current',\n onLoad,\n onError\n })\n }\n else {\n data.class += 'loaded'\n }\n\n return h(\n 'div',\n { class: 'q-img__container absolute-full', key: 'img' + index },\n h('img', data)\n )\n }\n\n function getContent () {\n if (isLoading.value === false) {\n return h('div', {\n key: 'content',\n class: 'q-img__content absolute-full q-anchor--skip'\n }, hSlot(slots[ hasError.value === true ? 'error' : 'default' ]))\n }\n\n return h('div', {\n key: 'loading',\n class: 'q-img__loading absolute-full flex flex-center'\n }, (\n slots.loading !== void 0\n ? slots.loading()\n : (\n props.noSpinner === true\n ? void 0\n : [\n h(QSpinner, {\n color: props.spinnerColor,\n size: props.spinnerSize\n })\n ]\n )\n ))\n }\n\n if (__QUASAR_SSR_SERVER__ !== true) {\n function watchSrc () {\n watch(\n () => (\n props.src || props.srcset || props.sizes\n ? {\n src: props.src,\n srcset: props.srcset,\n sizes: props.sizes\n }\n : null\n ),\n imgProps => {\n removeLoadTimeout()\n hasError.value = false\n\n if (imgProps === null) {\n clearLoading()\n images[ position.value ^ 1 ].value = placeholderImg.value\n }\n else {\n setLoading()\n }\n\n images[ position.value ].value = imgProps\n },\n { immediate: true }\n )\n }\n\n if (isRuntimeSsrPreHydration.value === true) {\n onMounted(watchSrc)\n }\n else {\n watchSrc()\n }\n }\n\n return () => {\n const content = []\n\n if (ratioStyle.value !== null) {\n content.push(\n h('div', { key: 'filler', style: ratioStyle.value })\n )\n }\n\n if (images[ 0 ].value !== null) {\n content.push(\n getImage(0)\n )\n }\n\n if (images[ 1 ].value !== null) {\n content.push(\n getImage(1)\n )\n }\n\n content.push(\n h(Transition, { name: 'q-transition--fade' }, getContent)\n )\n\n return h('div', {\n key: 'main',\n class: classes.value,\n style: style.value,\n role: 'img',\n 'aria-label': props.alt\n }, content)\n }\n }\n})\n","import { h, ref, reactive, computed, watch, provide, onUnmounted, getCurrentInstance } from 'vue'\n\nimport { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'\n\nimport QScrollObserver from '../scroll-observer/QScrollObserver.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollbarWidth } from '../../utils/scroll.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\nimport { layoutKey } from '../../utils/private/symbols.js'\n\nexport default createComponent({\n name: 'QLayout',\n\n props: {\n container: Boolean,\n view: {\n type: String,\n default: 'hhh lpr fff',\n validator: v => /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(v.toLowerCase())\n },\n\n onScroll: Function,\n onScrollHeight: Function,\n onResize: Function\n },\n\n setup (props, { slots, emit }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const rootRef = ref(null)\n\n // page related\n const height = ref($q.screen.height)\n const width = ref(props.container === true ? 0 : $q.screen.width)\n const scroll = ref({ position: 0, direction: 'down', inflectionPoint: 0 })\n\n // container only prop\n const containerHeight = ref(0)\n const scrollbarWidth = ref(isRuntimeSsrPreHydration.value === true ? 0 : getScrollbarWidth())\n\n const classes = computed(() =>\n 'q-layout q-layout--'\n + (props.container === true ? 'containerized' : 'standard')\n )\n\n const style = computed(() => (\n props.container === false\n ? { minHeight: $q.screen.height + 'px' }\n : null\n ))\n\n // used by container only\n const targetStyle = computed(() => (\n scrollbarWidth.value !== 0\n ? { [ $q.lang.rtl === true ? 'left' : 'right' ]: `${ scrollbarWidth.value }px` }\n : null\n ))\n\n const targetChildStyle = computed(() => (\n scrollbarWidth.value !== 0\n ? {\n [ $q.lang.rtl === true ? 'right' : 'left' ]: 0,\n [ $q.lang.rtl === true ? 'left' : 'right' ]: `-${ scrollbarWidth.value }px`,\n width: `calc(100% + ${ scrollbarWidth.value }px)`\n }\n : null\n ))\n\n function onPageScroll (data) {\n if (props.container === true || document.qScrollPrevented !== true) {\n const info = {\n position: data.position.top,\n direction: data.direction,\n directionChanged: data.directionChanged,\n inflectionPoint: data.inflectionPoint.top,\n delta: data.delta.top\n }\n\n scroll.value = info\n props.onScroll !== void 0 && emit('scroll', info)\n }\n }\n\n function onPageResize (data) {\n const { height: newHeight, width: newWidth } = data\n let resized = false\n\n if (height.value !== newHeight) {\n resized = true\n height.value = newHeight\n props.onScrollHeight !== void 0 && emit('scrollHeight', newHeight)\n updateScrollbarWidth()\n }\n if (width.value !== newWidth) {\n resized = true\n width.value = newWidth\n }\n\n if (resized === true && props.onResize !== void 0) {\n emit('resize', data)\n }\n }\n\n function onContainerResize ({ height }) {\n if (containerHeight.value !== height) {\n containerHeight.value = height\n updateScrollbarWidth()\n }\n }\n\n function updateScrollbarWidth () {\n if (props.container === true) {\n const width = height.value > containerHeight.value\n ? getScrollbarWidth()\n : 0\n\n if (scrollbarWidth.value !== width) {\n scrollbarWidth.value = width\n }\n }\n }\n\n let animateTimer = null\n\n const $layout = {\n instances: {},\n view: computed(() => props.view),\n isContainer: computed(() => props.container),\n\n rootRef,\n\n height,\n containerHeight,\n scrollbarWidth,\n totalWidth: computed(() => width.value + scrollbarWidth.value),\n\n rows: computed(() => {\n const rows = props.view.toLowerCase().split(' ')\n return {\n top: rows[ 0 ].split(''),\n middle: rows[ 1 ].split(''),\n bottom: rows[ 2 ].split('')\n }\n }),\n\n header: reactive({ size: 0, offset: 0, space: false }),\n right: reactive({ size: 300, offset: 0, space: false }),\n footer: reactive({ size: 0, offset: 0, space: false }),\n left: reactive({ size: 300, offset: 0, space: false }),\n\n scroll,\n\n animate () {\n if (animateTimer !== null) {\n clearTimeout(animateTimer)\n }\n else {\n document.body.classList.add('q-body--layout-animate')\n }\n\n animateTimer = setTimeout(() => {\n animateTimer = null\n document.body.classList.remove('q-body--layout-animate')\n }, 155)\n },\n\n update (part, prop, val) {\n $layout[ part ][ prop ] = val\n }\n }\n\n provide(layoutKey, $layout)\n\n // prevent scrollbar flicker while resizing window height\n // if no page scrollbar is already present\n if (__QUASAR_SSR_SERVER__ !== true && getScrollbarWidth() > 0) {\n let timer = null\n const el = document.body\n\n function restoreScrollbar () {\n timer = null\n el.classList.remove('hide-scrollbar')\n }\n\n function hideScrollbar () {\n if (timer === null) {\n // if it has no scrollbar then there's nothing to do\n\n if (el.scrollHeight > $q.screen.height) {\n return\n }\n\n el.classList.add('hide-scrollbar')\n }\n else {\n clearTimeout(timer)\n }\n\n timer = setTimeout(restoreScrollbar, 300)\n }\n\n function updateScrollEvent (action) {\n if (timer !== null && action === 'remove') {\n clearTimeout(timer)\n restoreScrollbar()\n }\n\n window[ `${ action }EventListener` ]('resize', hideScrollbar)\n }\n\n watch(\n () => (props.container !== true ? 'add' : 'remove'),\n updateScrollEvent\n )\n\n props.container !== true && updateScrollEvent('add')\n\n onUnmounted(() => {\n updateScrollEvent('remove')\n })\n }\n\n return () => {\n const content = hMergeSlot(slots.default, [\n h(QScrollObserver, { onScroll: onPageScroll }),\n h(QResizeObserver, { onResize: onPageResize })\n ])\n\n const layout = h('div', {\n class: classes.value,\n style: style.value,\n ref: props.container === true ? void 0 : rootRef,\n tabindex: -1\n }, content)\n\n if (props.container === true) {\n return h('div', {\n class: 'q-layout-container overflow-hidden',\n ref: rootRef\n }, [\n h(QResizeObserver, { onResize: onContainerResize }),\n h('div', {\n class: 'absolute-full',\n style: targetStyle.value\n }, [\n h('div', {\n class: 'scroll',\n style: targetChildStyle.value\n }, [ layout ])\n ])\n ])\n }\n\n return layout\n }\n }\n})\n","import { watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollTarget, getVerticalScrollPosition, getHorizontalScrollPosition } from '../../utils/scroll.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst { passive } = listenOpts\nconst axisValues = [ 'both', 'horizontal', 'vertical' ]\n\nexport default createComponent({\n name: 'QScrollObserver',\n\n props: {\n axis: {\n type: String,\n validator: v => axisValues.includes(v),\n default: 'vertical'\n },\n\n debounce: [ String, Number ],\n\n scrollTarget: {\n default: void 0\n }\n },\n\n emits: [ 'scroll' ],\n\n setup (props, { emit }) {\n const scroll = {\n position: {\n top: 0,\n left: 0\n },\n\n direction: 'down',\n directionChanged: false,\n\n delta: {\n top: 0,\n left: 0\n },\n\n inflectionPoint: {\n top: 0,\n left: 0\n }\n }\n\n let clearTimer = null, localScrollTarget, parentEl\n\n watch(() => props.scrollTarget, () => {\n unconfigureScrollTarget()\n configureScrollTarget()\n })\n\n function emitEvent () {\n clearTimer !== null && clearTimer()\n\n const top = Math.max(0, getVerticalScrollPosition(localScrollTarget))\n const left = getHorizontalScrollPosition(localScrollTarget)\n\n const delta = {\n top: top - scroll.position.top,\n left: left - scroll.position.left\n }\n\n if (\n (props.axis === 'vertical' && delta.top === 0)\n || (props.axis === 'horizontal' && delta.left === 0)\n ) {\n return\n }\n\n const curDir = Math.abs(delta.top) >= Math.abs(delta.left)\n ? (delta.top < 0 ? 'up' : 'down')\n : (delta.left < 0 ? 'left' : 'right')\n\n scroll.position = { top, left }\n scroll.directionChanged = scroll.direction !== curDir\n scroll.delta = delta\n\n if (scroll.directionChanged === true) {\n scroll.direction = curDir\n scroll.inflectionPoint = scroll.position\n }\n\n emit('scroll', { ...scroll })\n }\n\n function configureScrollTarget () {\n localScrollTarget = getScrollTarget(parentEl, props.scrollTarget)\n localScrollTarget.addEventListener('scroll', trigger, passive)\n trigger(true)\n }\n\n function unconfigureScrollTarget () {\n if (localScrollTarget !== void 0) {\n localScrollTarget.removeEventListener('scroll', trigger, passive)\n localScrollTarget = void 0\n }\n }\n\n function trigger (immediately) {\n if (immediately === true || props.debounce === 0 || props.debounce === '0') {\n emitEvent()\n }\n else if (clearTimer === null) {\n const [ timer, fn ] = props.debounce\n ? [ setTimeout(emitEvent, props.debounce), clearTimeout ]\n : [ requestAnimationFrame(emitEvent), cancelAnimationFrame ]\n\n clearTimer = () => {\n fn(timer)\n clearTimer = null\n }\n }\n }\n\n const { proxy } = getCurrentInstance()\n\n watch(() => proxy.$q.lang.rtl, emitEvent)\n\n onMounted(() => {\n parentEl = proxy.$el.parentNode\n configureScrollTarget()\n })\n\n onBeforeUnmount(() => {\n clearTimer !== null && clearTimer()\n unconfigureScrollTarget()\n })\n\n // expose public methods\n Object.assign(proxy, {\n trigger,\n getPosition: () => scroll\n })\n\n return noop\n }\n})\n"],"sourceRoot":""}