{"version":3,"sources":["webpack:///./node_modules/quasar/src/utils/private/position-engine.js","webpack:///./node_modules/quasar/src/composables/private/use-scroll-target.js","webpack:///./node_modules/quasar/src/composables/private/use-anchor.js","webpack:///./node_modules/quasar/src/utils/private/click-outside.js","webpack:///./node_modules/quasar/src/utils/private/selection.js"],"names":["vpLeft","vpTop","validatePosition","pos","parts","split","length","includes","console","error","validateOffset","val","horizontalPos","forEach","parsePosition","rtl","vertical","horizontal","getAnchorProps","el","offset","top","left","right","bottom","width","height","getBoundingClientRect","middle","center","getAbsoluteAnchorProps","absoluteOffset","getTargetProps","getTopLeftProps","anchorProps","targetProps","anchorOrigin","selfOrigin","setPosition","cfg","retryNumber","targetEl","anchorEl","offsetHeight","offsetWidth","setTimeout","fit","cover","maxHeight","maxWidth","client","is","ios","window","visualViewport","document","body","style","offsetLeft","offsetTop","setProperty","scrollLeft","scrollTop","Object","assign","minWidth","minHeight","visibility","origElWidth","origElHeight","elWidth","elHeight","Math","max","elStyle","props","applyBoundaries","hasChanged","offsetY","offsetX","currentHeight","currentWidth","margin","getScrollbarWidth","innerHeight","innerWidth","clientWidth","min","anchorY","anchorX","configureScrollTarget","localScrollTarget","ref","scrollFn","changeScrollEvent","scrollTarget","fn","fnProp","fnHandler","listenOpts","passive","unconfigureScrollTarget","value","noParentEventWatcher","watch","noParentEvent","onBeforeUnmount","useAnchorProps","target","default","Boolean","contextMenu","showing","avoidEmit","configureAnchorEl","proxy","emit","getCurrentInstance","touchTimer","canShow","evt","touches","anchorEvents","hide","toggle","qAnchorHandled","toggleKey","isKeyCode","contextClick","prevent","nextTick","show","mobileTouch","mobileCleanup","classList","add","addEvt","remove","clearTimeout","clearSelection","context","evts","$q","platform","mobile","unconfigureAnchorEl","cleanEvt","setAnchorEl","contains","parentNode","pickAnchorEl","$el","querySelector","err","onMounted","modelValue","timer","notPassiveCapture","registeredList","globalHandler","nodeType","portalIndex","portalProxyList","$","type","name","seamless","i","state","innerRef","qClickOutside","onClickOutside","addClickOutside","clickOutsideProps","push","addEventListener","removeClickOutside","index","findIndex","h","splice","removeEventListener","getSelection","selection","empty","removeAllRanges","Platform","addRange","createRange"],"mappings":"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","file":"js/chunk-5c7232c0.948bf3dd.js","sourcesContent":["import { getScrollbarWidth } from '../scroll.js'\nimport { client } from '../../plugins/platform/Platform.js'\n\nlet vpLeft, vpTop\n\nexport function validatePosition (pos) {\n const parts = pos.split(' ')\n if (parts.length !== 2) {\n return false\n }\n if ([ 'top', 'center', 'bottom' ].includes(parts[ 0 ]) !== true) {\n console.error('Anchor/Self position must start with one of top/center/bottom')\n return false\n }\n if ([ 'left', 'middle', 'right', 'start', 'end' ].includes(parts[ 1 ]) !== true) {\n console.error('Anchor/Self position must end with one of left/middle/right/start/end')\n return false\n }\n return true\n}\n\nexport function validateOffset (val) {\n if (!val) { return true }\n if (val.length !== 2) { return false }\n if (typeof val[ 0 ] !== 'number' || typeof val[ 1 ] !== 'number') {\n return false\n }\n return true\n}\n\nconst horizontalPos = {\n 'start#ltr': 'left',\n 'start#rtl': 'right',\n 'end#ltr': 'right',\n 'end#rtl': 'left'\n}\n\n;[ 'left', 'middle', 'right' ].forEach(pos => {\n horizontalPos[ `${ pos }#ltr` ] = pos\n horizontalPos[ `${ pos }#rtl` ] = pos\n})\n\nexport function parsePosition (pos, rtl) {\n const parts = pos.split(' ')\n return {\n vertical: parts[ 0 ],\n horizontal: horizontalPos[ `${ parts[ 1 ] }#${ rtl === true ? 'rtl' : 'ltr' }` ]\n }\n}\n\nexport function getAnchorProps (el, offset) {\n let { top, left, right, bottom, width, height } = el.getBoundingClientRect()\n\n if (offset !== void 0) {\n top -= offset[ 1 ]\n left -= offset[ 0 ]\n bottom += offset[ 1 ]\n right += offset[ 0 ]\n\n width += offset[ 0 ]\n height += offset[ 1 ]\n }\n\n return {\n top, bottom, height,\n left, right, width,\n middle: left + (right - left) / 2,\n center: top + (bottom - top) / 2\n }\n}\n\nfunction getAbsoluteAnchorProps (el, absoluteOffset, offset) {\n let { top, left } = el.getBoundingClientRect()\n\n top += absoluteOffset.top\n left += absoluteOffset.left\n\n if (offset !== void 0) {\n top += offset[ 1 ]\n left += offset[ 0 ]\n }\n\n return {\n top, bottom: top + 1, height: 1,\n left, right: left + 1, width: 1,\n middle: left,\n center: top\n }\n}\n\nfunction getTargetProps (width, height) {\n return {\n top: 0,\n center: height / 2,\n bottom: height,\n left: 0,\n middle: width / 2,\n right: width\n }\n}\n\nfunction getTopLeftProps (anchorProps, targetProps, anchorOrigin, selfOrigin) {\n return {\n top: anchorProps[ anchorOrigin.vertical ] - targetProps[ selfOrigin.vertical ],\n left: anchorProps[ anchorOrigin.horizontal ] - targetProps[ selfOrigin.horizontal ]\n }\n}\n\nexport function setPosition (cfg, retryNumber = 0) {\n if (\n cfg.targetEl === null\n || cfg.anchorEl === null\n || retryNumber > 5 // we should try only a few times\n ) {\n return\n }\n\n // some browsers report zero height or width because\n // we are trying too early to get these dimensions\n if (cfg.targetEl.offsetHeight === 0 || cfg.targetEl.offsetWidth === 0) {\n setTimeout(() => {\n setPosition(cfg, retryNumber + 1)\n }, 10)\n return\n }\n\n const {\n targetEl,\n offset,\n anchorEl,\n anchorOrigin,\n selfOrigin,\n absoluteOffset,\n fit,\n cover,\n maxHeight,\n maxWidth\n } = cfg\n\n if (client.is.ios === true && window.visualViewport !== void 0) {\n // uses the q-position-engine CSS class\n\n const el = document.body.style\n const { offsetLeft: left, offsetTop: top } = window.visualViewport\n\n if (left !== vpLeft) {\n el.setProperty('--q-pe-left', left + 'px')\n vpLeft = left\n }\n if (top !== vpTop) {\n el.setProperty('--q-pe-top', top + 'px')\n vpTop = top\n }\n }\n\n // scroll position might change\n // if max-height/-width changes, so we\n // need to restore it after we calculate\n // the new positioning\n const { scrollLeft, scrollTop } = targetEl\n\n const anchorProps = absoluteOffset === void 0\n ? getAnchorProps(anchorEl, cover === true ? [ 0, 0 ] : offset)\n : getAbsoluteAnchorProps(anchorEl, absoluteOffset, offset)\n\n // we \"reset\" the critical CSS properties\n // so we can take an accurate measurement\n Object.assign(targetEl.style, {\n top: 0,\n left: 0,\n minWidth: null,\n minHeight: null,\n maxWidth: maxWidth || '100vw',\n maxHeight: maxHeight || '100vh',\n visibility: 'visible'\n })\n\n const { offsetWidth: origElWidth, offsetHeight: origElHeight } = targetEl\n const { elWidth, elHeight } = fit === true || cover === true\n ? { elWidth: Math.max(anchorProps.width, origElWidth), elHeight: cover === true ? Math.max(anchorProps.height, origElHeight) : origElHeight }\n : { elWidth: origElWidth, elHeight: origElHeight }\n\n let elStyle = { maxWidth, maxHeight }\n\n if (fit === true || cover === true) {\n elStyle.minWidth = anchorProps.width + 'px'\n if (cover === true) {\n elStyle.minHeight = anchorProps.height + 'px'\n }\n }\n\n Object.assign(targetEl.style, elStyle)\n\n const targetProps = getTargetProps(elWidth, elHeight)\n let props = getTopLeftProps(anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n if (absoluteOffset === void 0 || offset === void 0) {\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n }\n else { // we have touch position or context menu with offset\n const { top, left } = props // cache initial values\n\n // apply initial boundaries\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n let hasChanged = false\n\n // did it flip vertically?\n if (props.top !== top) {\n hasChanged = true\n const offsetY = 2 * offset[ 1 ]\n anchorProps.center = anchorProps.top -= offsetY\n anchorProps.bottom -= offsetY + 2\n }\n\n // did it flip horizontally?\n if (props.left !== left) {\n hasChanged = true\n const offsetX = 2 * offset[ 0 ]\n anchorProps.middle = anchorProps.left -= offsetX\n anchorProps.right -= offsetX + 2\n }\n\n if (hasChanged === true) {\n // re-calculate props with the new anchor\n props = getTopLeftProps(anchorProps, targetProps, anchorOrigin, selfOrigin)\n\n // and re-apply boundaries\n applyBoundaries(props, anchorProps, targetProps, anchorOrigin, selfOrigin)\n }\n }\n\n elStyle = {\n top: props.top + 'px',\n left: props.left + 'px'\n }\n\n if (props.maxHeight !== void 0) {\n elStyle.maxHeight = props.maxHeight + 'px'\n\n if (anchorProps.height > props.maxHeight) {\n elStyle.minHeight = elStyle.maxHeight\n }\n }\n if (props.maxWidth !== void 0) {\n elStyle.maxWidth = props.maxWidth + 'px'\n\n if (anchorProps.width > props.maxWidth) {\n elStyle.minWidth = elStyle.maxWidth\n }\n }\n\n Object.assign(targetEl.style, elStyle)\n\n // restore scroll position\n if (targetEl.scrollTop !== scrollTop) {\n targetEl.scrollTop = scrollTop\n }\n if (targetEl.scrollLeft !== scrollLeft) {\n targetEl.scrollLeft = scrollLeft\n }\n}\n\nfunction applyBoundaries (props, anchorProps, targetProps, anchorOrigin, selfOrigin) {\n const\n currentHeight = targetProps.bottom,\n currentWidth = targetProps.right,\n margin = getScrollbarWidth(),\n innerHeight = window.innerHeight - margin,\n innerWidth = document.body.clientWidth\n\n if (props.top < 0 || props.top + currentHeight > innerHeight) {\n if (selfOrigin.vertical === 'center') {\n props.top = anchorProps[ anchorOrigin.vertical ] > innerHeight / 2\n ? Math.max(0, innerHeight - currentHeight)\n : 0\n props.maxHeight = Math.min(currentHeight, innerHeight)\n }\n else if (anchorProps[ anchorOrigin.vertical ] > innerHeight / 2) {\n const anchorY = Math.min(\n innerHeight,\n anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.bottom : anchorProps.top)\n )\n props.maxHeight = Math.min(currentHeight, anchorY)\n props.top = Math.max(0, anchorY - currentHeight)\n }\n else {\n props.top = Math.max(0, anchorOrigin.vertical === 'center'\n ? anchorProps.center\n : (anchorOrigin.vertical === selfOrigin.vertical ? anchorProps.top : anchorProps.bottom)\n )\n props.maxHeight = Math.min(currentHeight, innerHeight - props.top)\n }\n }\n\n if (props.left < 0 || props.left + currentWidth > innerWidth) {\n props.maxWidth = Math.min(currentWidth, innerWidth)\n if (selfOrigin.horizontal === 'middle') {\n props.left = anchorProps[ anchorOrigin.horizontal ] > innerWidth / 2\n ? Math.max(0, innerWidth - currentWidth)\n : 0\n }\n else if (anchorProps[ anchorOrigin.horizontal ] > innerWidth / 2) {\n const anchorX = Math.min(\n innerWidth,\n anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.right : anchorProps.left)\n )\n props.maxWidth = Math.min(currentWidth, anchorX)\n props.left = Math.max(0, anchorX - props.maxWidth)\n }\n else {\n props.left = Math.max(0, anchorOrigin.horizontal === 'middle'\n ? anchorProps.middle\n : (anchorOrigin.horizontal === selfOrigin.horizontal ? anchorProps.left : anchorProps.right)\n )\n props.maxWidth = Math.min(currentWidth, innerWidth - props.left)\n }\n }\n}\n","import { ref, watch, onBeforeUnmount } from 'vue'\n\nimport { listenOpts } from '../../utils/event.js'\n\nexport default function (\n props,\n configureScrollTarget\n) {\n const localScrollTarget = ref(null)\n let scrollFn\n\n function changeScrollEvent (scrollTarget, fn) {\n const fnProp = `${ fn !== void 0 ? 'add' : 'remove' }EventListener`\n const fnHandler = fn !== void 0 ? fn : scrollFn\n\n if (scrollTarget !== window) {\n scrollTarget[ fnProp ]('scroll', fnHandler, listenOpts.passive)\n }\n\n window[ fnProp ]('scroll', fnHandler, listenOpts.passive)\n\n scrollFn = fn\n }\n\n function unconfigureScrollTarget () {\n if (localScrollTarget.value !== null) {\n changeScrollEvent(localScrollTarget.value)\n localScrollTarget.value = null\n }\n }\n\n const noParentEventWatcher = watch(() => props.noParentEvent, () => {\n if (localScrollTarget.value !== null) {\n unconfigureScrollTarget()\n configureScrollTarget()\n }\n })\n\n onBeforeUnmount(noParentEventWatcher)\n\n return {\n localScrollTarget,\n unconfigureScrollTarget,\n changeScrollEvent\n }\n}\n","import { ref, watch, onMounted, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'\n\nimport { clearSelection } from '../../utils/private/selection.js'\nimport { addEvt, cleanEvt, prevent } from '../../utils/event.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\n\nexport const useAnchorProps = {\n target: {\n default: true\n },\n noParentEvent: Boolean,\n contextMenu: Boolean\n}\n\nexport default function ({\n showing,\n avoidEmit, // required for QPopupProxy (true)\n configureAnchorEl // optional\n}) {\n const { props, proxy, emit } = getCurrentInstance()\n\n const anchorEl = ref(null)\n\n let touchTimer = null\n\n function canShow (evt) {\n // abort with no parent configured or on multi-touch\n return anchorEl.value === null\n ? false\n : (evt === void 0 || evt.touches === void 0 || evt.touches.length <= 1)\n }\n\n const anchorEvents = {}\n\n if (configureAnchorEl === void 0) {\n // default configureAnchorEl is designed for\n // QMenu & QPopupProxy (which is why it's handled here)\n\n Object.assign(anchorEvents, {\n hide (evt) {\n proxy.hide(evt)\n },\n\n toggle (evt) {\n proxy.toggle(evt)\n evt.qAnchorHandled = true\n },\n\n toggleKey (evt) {\n isKeyCode(evt, 13) === true && anchorEvents.toggle(evt)\n },\n\n contextClick (evt) {\n proxy.hide(evt)\n prevent(evt)\n nextTick(() => {\n proxy.show(evt)\n evt.qAnchorHandled = true\n })\n },\n\n prevent,\n\n mobileTouch (evt) {\n anchorEvents.mobileCleanup(evt)\n\n if (canShow(evt) !== true) {\n return\n }\n\n proxy.hide(evt)\n anchorEl.value.classList.add('non-selectable')\n\n const target = evt.target\n addEvt(anchorEvents, 'anchor', [\n [ target, 'touchmove', 'mobileCleanup', 'passive' ],\n [ target, 'touchend', 'mobileCleanup', 'passive' ],\n [ target, 'touchcancel', 'mobileCleanup', 'passive' ],\n [ anchorEl.value, 'contextmenu', 'prevent', 'notPassive' ]\n ])\n\n touchTimer = setTimeout(() => {\n touchTimer = null\n proxy.show(evt)\n evt.qAnchorHandled = true\n }, 300)\n },\n\n mobileCleanup (evt) {\n anchorEl.value.classList.remove('non-selectable')\n\n if (touchTimer !== null) {\n clearTimeout(touchTimer)\n touchTimer = null\n }\n\n if (showing.value === true && evt !== void 0) {\n clearSelection()\n }\n }\n })\n\n configureAnchorEl = function (context = props.contextMenu) {\n if (props.noParentEvent === true || anchorEl.value === null) return\n\n let evts\n\n if (context === true) {\n if (proxy.$q.platform.is.mobile === true) {\n evts = [\n [ anchorEl.value, 'touchstart', 'mobileTouch', 'passive' ]\n ]\n }\n else {\n evts = [\n [ anchorEl.value, 'mousedown', 'hide', 'passive' ],\n [ anchorEl.value, 'contextmenu', 'contextClick', 'notPassive' ]\n ]\n }\n }\n else {\n evts = [\n [ anchorEl.value, 'click', 'toggle', 'passive' ],\n [ anchorEl.value, 'keyup', 'toggleKey', 'passive' ]\n ]\n }\n\n addEvt(anchorEvents, 'anchor', evts)\n }\n }\n\n function unconfigureAnchorEl () {\n cleanEvt(anchorEvents, 'anchor')\n }\n\n function setAnchorEl (el) {\n anchorEl.value = el\n while (anchorEl.value.classList.contains('q-anchor--skip')) {\n anchorEl.value = anchorEl.value.parentNode\n }\n configureAnchorEl()\n }\n\n function pickAnchorEl () {\n if (props.target === false || props.target === '' || proxy.$el.parentNode === null) {\n anchorEl.value = null\n }\n else if (props.target === true) {\n setAnchorEl(proxy.$el.parentNode)\n }\n else {\n let el = props.target\n\n if (typeof props.target === 'string') {\n try {\n el = document.querySelector(props.target)\n }\n catch (err) {\n el = void 0\n }\n }\n\n if (el !== void 0 && el !== null) {\n anchorEl.value = el.$el || el\n configureAnchorEl()\n }\n else {\n anchorEl.value = null\n console.error(`Anchor: target \"${ props.target }\" not found`)\n }\n }\n }\n\n watch(() => props.contextMenu, val => {\n if (anchorEl.value !== null) {\n unconfigureAnchorEl()\n configureAnchorEl(val)\n }\n })\n\n watch(() => props.target, () => {\n if (anchorEl.value !== null) {\n unconfigureAnchorEl()\n }\n\n pickAnchorEl()\n })\n\n watch(() => props.noParentEvent, val => {\n if (anchorEl.value !== null) {\n if (val === true) {\n unconfigureAnchorEl()\n }\n else {\n configureAnchorEl()\n }\n }\n })\n\n onMounted(() => {\n pickAnchorEl()\n\n if (avoidEmit !== true && props.modelValue === true && anchorEl.value === null) {\n emit('update:modelValue', false)\n }\n })\n\n onBeforeUnmount(() => {\n touchTimer !== null && clearTimeout(touchTimer)\n unconfigureAnchorEl()\n })\n\n return {\n anchorEl,\n canShow,\n anchorEvents\n }\n}\n","import { listenOpts } from '../event.js'\nimport { portalProxyList } from '../private/portal.js'\n\nlet timer = null\n\nconst\n { notPassiveCapture } = listenOpts,\n registeredList = []\n\nfunction globalHandler (evt) {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n const target = evt.target\n\n if (\n target === void 0\n || target.nodeType === 8\n || target.classList.contains('no-pointer-events') === true\n ) {\n return\n }\n\n // check last portal vm if it's\n // a QDialog and not in seamless mode\n let portalIndex = portalProxyList.length - 1\n\n while (portalIndex >= 0) {\n const proxy = portalProxyList[ portalIndex ].$\n\n // skip QTooltip portals\n if (proxy.type.name === 'QTooltip') {\n portalIndex--\n continue\n }\n\n if (proxy.type.name !== 'QDialog') {\n break\n }\n\n if (proxy.props.seamless !== true) {\n return\n }\n\n portalIndex--\n }\n\n for (let i = registeredList.length - 1; i >= 0; i--) {\n const state = registeredList[ i ]\n\n if (\n (\n state.anchorEl.value === null\n || state.anchorEl.value.contains(target) === false\n )\n && (\n target === document.body\n || (\n state.innerRef.value !== null\n && state.innerRef.value.contains(target) === false\n )\n )\n ) {\n // mark the event as being processed by clickOutside\n // used to prevent refocus after menu close\n evt.qClickOutside = true\n state.onClickOutside(evt)\n }\n else {\n return\n }\n }\n}\n\nexport function addClickOutside (clickOutsideProps) {\n registeredList.push(clickOutsideProps)\n\n if (registeredList.length === 1) {\n document.addEventListener('mousedown', globalHandler, notPassiveCapture)\n document.addEventListener('touchstart', globalHandler, notPassiveCapture)\n }\n}\n\nexport function removeClickOutside (clickOutsideProps) {\n const index = registeredList.findIndex(h => h === clickOutsideProps)\n\n if (index !== -1) {\n registeredList.splice(index, 1)\n\n if (registeredList.length === 0) {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n document.removeEventListener('mousedown', globalHandler, notPassiveCapture)\n document.removeEventListener('touchstart', globalHandler, notPassiveCapture)\n }\n }\n}\n","import Platform from '../../plugins/platform/Platform.js'\n\nexport function clearSelection () {\n if (window.getSelection !== void 0) {\n const selection = window.getSelection()\n if (selection.empty !== void 0) {\n selection.empty()\n }\n else if (selection.removeAllRanges !== void 0) {\n selection.removeAllRanges()\n Platform.is.mobile !== true && selection.addRange(document.createRange())\n }\n }\n else if (document.selection !== void 0) {\n document.selection.empty()\n }\n}\n"],"sourceRoot":""}