{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/img/QImg.js","webpack:///./node_modules/quasar/src/composables/private/use-fullscreen.js","webpack:///./node_modules/quasar/src/components/carousel/QCarouselSlide.js","webpack:///./node_modules/quasar/src/components/carousel/QCarousel.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","counter","useFullscreenProps","fullscreen","noRouteFullscreenExit","useFullscreenEmits","proxy","historyEntry","fullscreenFillerNode","container","inFullscreen","vmHasRouter","$route","fullPath","exitFullscreen","v","toggleFullscreen","setFullscreen","$el","parentNode","replaceChild","document","body","appendChild","classList","add","handler","History","remove","Math","max","scrollIntoView","setTimeout","onBeforeMount","createElement","onBeforeUnmount","usePanelChildProps","imgSrc","backgroundImage","navigationPositionOptions","controlTypeOptions","useDarkProps","usePanelProps","transitionPrev","transitionNext","padding","controlColor","controlTextColor","controlType","validator","includes","autoplay","arrows","prevIcon","nextIcon","navigation","navigationPosition","navigationIcon","navigationActiveIcon","thumbnails","usePanelEmits","$q","isDark","useDark","timer","panelsLen","updatePanelsList","getPanelContent","panelDirectives","goToPanel","previousPanel","nextPanel","getEnabledPanels","panelIndex","usePanel","useFullscreen","direction","vertical","arrowIcons","ico","iconSet","carousel","lang","rtl","reverse","navIcon","navActiveIcon","controlProps","textColor","round","dense","modelValue","startTimer","val","clearTimeout","duration","isNumber","abs","getNavigationContainer","mapping","map","node","fn","opts","QBtn","active","btnProps","onClick","maxIndex","panel","icon","slide","infinite","hMergeSlot","control","hDir","swipeable","concat"],"mappings":"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","file":"js/chunk-e5c6b50a.ac2197da.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 { ref, watch, onBeforeMount, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport History from '../../history.js'\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\nlet counter = 0\n\nexport const useFullscreenProps = {\n fullscreen: Boolean,\n noRouteFullscreenExit: Boolean\n}\n\nexport const useFullscreenEmits = [ 'update:fullscreen', 'fullscreen' ]\n\nexport default function () {\n const vm = getCurrentInstance()\n const { props, emit, proxy } = vm\n\n let historyEntry, fullscreenFillerNode, container\n const inFullscreen = ref(false)\n\n vmHasRouter(vm) === true && watch(() => proxy.$route.fullPath, () => {\n props.noRouteFullscreenExit !== true && exitFullscreen()\n })\n\n watch(() => props.fullscreen, v => {\n if (inFullscreen.value !== v) {\n toggleFullscreen()\n }\n })\n\n watch(inFullscreen, v => {\n emit('update:fullscreen', v)\n emit('fullscreen', v)\n })\n\n function toggleFullscreen () {\n if (inFullscreen.value === true) {\n exitFullscreen()\n }\n else {\n setFullscreen()\n }\n }\n\n function setFullscreen () {\n if (inFullscreen.value === true) {\n return\n }\n\n inFullscreen.value = true\n container = proxy.$el.parentNode\n container.replaceChild(fullscreenFillerNode, proxy.$el)\n document.body.appendChild(proxy.$el)\n\n counter++\n if (counter === 1) {\n document.body.classList.add('q-body--fullscreen-mixin')\n }\n\n historyEntry = {\n handler: exitFullscreen\n }\n History.add(historyEntry)\n }\n\n function exitFullscreen () {\n if (inFullscreen.value !== true) {\n return\n }\n\n if (historyEntry !== void 0) {\n History.remove(historyEntry)\n historyEntry = void 0\n }\n\n container.replaceChild(proxy.$el, fullscreenFillerNode)\n inFullscreen.value = false\n\n counter = Math.max(0, counter - 1)\n\n if (counter === 0) {\n document.body.classList.remove('q-body--fullscreen-mixin')\n\n if (proxy.$el.scrollIntoView !== void 0) {\n setTimeout(() => { proxy.$el.scrollIntoView() })\n }\n }\n }\n\n onBeforeMount(() => {\n fullscreenFillerNode = document.createElement('span')\n })\n\n onMounted(() => {\n props.fullscreen === true && setFullscreen()\n })\n\n onBeforeUnmount(exitFullscreen)\n\n // expose public methods\n Object.assign(proxy, {\n toggleFullscreen,\n setFullscreen,\n exitFullscreen\n })\n\n return {\n inFullscreen,\n toggleFullscreen\n }\n}\n","import { h, computed } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { usePanelChildProps } from '../../composables/private/use-panel.js'\n\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QCarouselSlide',\n\n props: {\n ...usePanelChildProps,\n imgSrc: String\n },\n\n setup (props, { slots }) {\n const style = computed(() => (\n props.imgSrc\n ? { backgroundImage: `url(\"${ props.imgSrc }\")` }\n : {}\n ))\n\n return () => h('div', {\n class: 'q-carousel__slide',\n style: style.value\n }, hSlot(slots.default))\n }\n})\n","import { h, computed, watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport usePanel, { usePanelProps, usePanelEmits } from '../../composables/private/use-panel.js'\nimport useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private/use-fullscreen.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { isNumber } from '../../utils/is.js'\nimport { hMergeSlot, hDir } from '../../utils/private/render.js'\n\nconst navigationPositionOptions = [ 'top', 'right', 'bottom', 'left' ]\nconst controlTypeOptions = [ 'regular', 'flat', 'outline', 'push', 'unelevated' ]\n\nexport default createComponent({\n name: 'QCarousel',\n\n props: {\n ...useDarkProps,\n ...usePanelProps,\n ...useFullscreenProps,\n\n transitionPrev: { // usePanelParentProps override\n type: String,\n default: 'fade'\n },\n transitionNext: { // usePanelParentProps override\n type: String,\n default: 'fade'\n },\n\n height: String,\n padding: Boolean,\n\n controlColor: String,\n controlTextColor: String,\n controlType: {\n type: String,\n validator: v => controlTypeOptions.includes(v),\n default: 'flat'\n },\n\n autoplay: [ Number, Boolean ],\n\n arrows: Boolean,\n prevIcon: String,\n nextIcon: String,\n\n navigation: Boolean,\n navigationPosition: {\n type: String,\n validator: v => navigationPositionOptions.includes(v)\n },\n navigationIcon: String,\n navigationActiveIcon: String,\n\n thumbnails: Boolean\n },\n\n emits: [\n ...useFullscreenEmits,\n ...usePanelEmits\n ],\n\n setup (props, { slots }) {\n const { proxy: { $q } } = getCurrentInstance()\n\n const isDark = useDark(props, $q)\n\n let timer = null, panelsLen\n\n const {\n updatePanelsList, getPanelContent,\n panelDirectives, goToPanel,\n previousPanel, nextPanel, getEnabledPanels,\n panelIndex\n } = usePanel()\n\n const { inFullscreen } = useFullscreen()\n\n const style = computed(() => (\n inFullscreen.value !== true && props.height !== void 0\n ? { height: props.height }\n : {}\n ))\n\n const direction = computed(() => (props.vertical === true ? 'vertical' : 'horizontal'))\n\n const classes = computed(() =>\n `q-carousel q-panel-parent q-carousel--with${ props.padding === true ? '' : 'out' }-padding`\n + (inFullscreen.value === true ? ' fullscreen' : '')\n + (isDark.value === true ? ' q-carousel--dark q-dark' : '')\n + (props.arrows === true ? ` q-carousel--arrows-${ direction.value }` : '')\n + (props.navigation === true ? ` q-carousel--navigation-${ navigationPosition.value }` : '')\n )\n\n const arrowIcons = computed(() => {\n const ico = [\n props.prevIcon || $q.iconSet.carousel[ props.vertical === true ? 'up' : 'left' ],\n props.nextIcon || $q.iconSet.carousel[ props.vertical === true ? 'down' : 'right' ]\n ]\n\n return props.vertical === false && $q.lang.rtl === true\n ? ico.reverse()\n : ico\n })\n\n const navIcon = computed(() => props.navigationIcon || $q.iconSet.carousel.navigationIcon)\n const navActiveIcon = computed(() => props.navigationActiveIcon || navIcon.value)\n const navigationPosition = computed(() => props.navigationPosition\n || (props.vertical === true ? 'right' : 'bottom')\n )\n\n const controlProps = computed(() => ({\n color: props.controlColor,\n textColor: props.controlTextColor,\n round: true,\n [ props.controlType ]: true,\n dense: true\n }))\n\n watch(() => props.modelValue, () => {\n if (props.autoplay) {\n startTimer()\n }\n })\n\n watch(() => props.autoplay, val => {\n if (val) {\n startTimer()\n }\n else if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n })\n\n function startTimer () {\n const duration = isNumber(props.autoplay) === true\n ? Math.abs(props.autoplay)\n : 5000\n\n timer !== null && clearTimeout(timer)\n timer = setTimeout(() => {\n timer = null\n\n if (duration >= 0) {\n nextPanel()\n }\n else {\n previousPanel()\n }\n }, duration)\n }\n\n onMounted(() => {\n props.autoplay && startTimer()\n })\n\n onBeforeUnmount(() => {\n timer !== null && clearTimeout(timer)\n })\n\n function getNavigationContainer (type, mapping) {\n return h('div', {\n class: 'q-carousel__control q-carousel__navigation no-wrap absolute flex'\n + ` q-carousel__navigation--${ type } q-carousel__navigation--${ navigationPosition.value }`\n + (props.controlColor !== void 0 ? ` text-${ props.controlColor }` : '')\n }, [\n h('div', {\n class: 'q-carousel__navigation-inner flex flex-center no-wrap'\n }, getEnabledPanels().map(mapping))\n ])\n }\n\n function getContent () {\n const node = []\n\n if (props.navigation === true) {\n const fn = slots[ 'navigation-icon' ] !== void 0\n ? slots[ 'navigation-icon' ]\n : opts => h(QBtn, {\n key: 'nav' + opts.name,\n class: `q-carousel__navigation-icon q-carousel__navigation-icon--${ opts.active === true ? '' : 'in' }active`,\n ...opts.btnProps,\n onClick: opts.onClick\n })\n\n const maxIndex = panelsLen - 1\n node.push(\n getNavigationContainer('buttons', (panel, index) => {\n const name = panel.props.name\n const active = panelIndex.value === index\n\n return fn({\n index,\n maxIndex,\n name,\n active,\n btnProps: {\n icon: active === true ? navActiveIcon.value : navIcon.value,\n size: 'sm',\n ...controlProps.value\n },\n onClick: () => { goToPanel(name) }\n })\n })\n )\n }\n else if (props.thumbnails === true) {\n const color = props.controlColor !== void 0\n ? ` text-${ props.controlColor }`\n : ''\n\n node.push(getNavigationContainer('thumbnails', panel => {\n const slide = panel.props\n\n return h('img', {\n key: 'tmb#' + slide.name,\n class: `q-carousel__thumbnail q-carousel__thumbnail--${ slide.name === props.modelValue ? '' : 'in' }active` + color,\n src: slide.imgSrc || slide[ 'img-src' ],\n onClick: () => { goToPanel(slide.name) }\n })\n }))\n }\n\n if (props.arrows === true && panelIndex.value >= 0) {\n if (props.infinite === true || panelIndex.value > 0) {\n node.push(\n h('div', {\n key: 'prev',\n class: `q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${ direction.value } absolute flex flex-center`\n }, [\n h(QBtn, {\n icon: arrowIcons.value[ 0 ],\n ...controlProps.value,\n onClick: previousPanel\n })\n ])\n )\n }\n\n if (props.infinite === true || panelIndex.value < panelsLen - 1) {\n node.push(\n h('div', {\n key: 'next',\n class: 'q-carousel__control q-carousel__arrow q-carousel__next-arrow'\n + ` q-carousel__next-arrow--${ direction.value } absolute flex flex-center`\n }, [\n h(QBtn, {\n icon: arrowIcons.value[ 1 ],\n ...controlProps.value,\n onClick: nextPanel\n })\n ])\n )\n }\n }\n\n return hMergeSlot(slots.control, node)\n }\n\n return () => {\n panelsLen = updatePanelsList(slots)\n\n return h('div', {\n class: classes.value,\n style: style.value\n }, [\n hDir(\n 'div',\n { class: 'q-carousel__slides-container' },\n getPanelContent(),\n 'sl-cont',\n props.swipeable,\n () => panelDirectives.value\n )\n ].concat(getContent()))\n }\n }\n})\n"],"sourceRoot":""}