{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/tooltip/QTooltip.js","webpack:///./node_modules/quasar/src/directives/close-popup/ClosePopup.js"],"names":["createComponent","name","inheritAttrs","props","useAnchorProps","useModelToggleProps","useTransitionProps","maxHeight","type","String","default","maxWidth","transitionShow","transitionHide","anchor","validator","validatePosition","self","offset","Array","validateOffset","scrollTarget","delay","Number","hideDelay","persistent","Boolean","emits","useModelToggleEmits","setup","slots","emit","attrs","unwatchPosition","observer","vm","getCurrentInstance","proxy","$q","innerRef","ref","showing","anchorOrigin","computed","parsePosition","lang","rtl","selfOrigin","hideOnRouteChange","registerTick","removeTick","useTick","registerTimeout","useTimeout","transitionProps","transitionStyle","useTransition","localScrollTarget","changeScrollEvent","unconfigureScrollTarget","useScrollTarget","configureScrollTarget","anchorEl","canShow","anchorEvents","useAnchor","configureAnchorEl","show","hide","useModelToggle","handleShow","handleHide","processOnMount","Object","assign","delayShow","delayHide","showPortal","hidePortal","renderPortal","usePortal","renderPortalContent","platform","is","mobile","clickOutsideProps","onClickOutside","e","target","classList","contains","stopAndPrevent","hasClickOutside","modelValue","value","watch","val","fn","addClickOutside","removeClickOutside","onBeforeUnmount","evt","MutationObserver","updatePosition","observe","attributes","childList","characterData","subtree","screen","width","height","transitionDuration","anchorCleanup","disconnect","cleanEvt","setPosition","targetEl","clearSelection","document","body","add","evts","map","addEvt","setTimeout","remove","noParentEvent","getScrollTarget","getTooltipContent","h","class","style","role","hSlot","Transition","getDepth","depth","parseInt","isNaN","createDirective","__QUASAR_SSR_SERVER__","beforeMount","el","ctx","handler","getPortalProxy","closePortals","handlerKey","isKeyCode","__qclosepopup","addEventListener","updated","oldValue","beforeUnmount","removeEventListener"],"mappings":"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","file":"js/chunk-8e6188ce.33b730fe.js","sourcesContent":["import { h, ref, computed, watch, onBeforeUnmount, Transition, getCurrentInstance } from 'vue'\n\nimport useAnchor, { useAnchorProps } from '../../composables/private/use-anchor.js'\nimport useScrollTarget from '../../composables/private/use-scroll-target.js'\nimport useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private/use-model-toggle.js'\nimport usePortal from '../../composables/private/use-portal.js'\nimport useTransition, { useTransitionProps } from '../../composables/private/use-transition.js'\nimport useTick from '../../composables/use-tick.js'\nimport useTimeout from '../../composables/use-timeout.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { stopAndPrevent, addEvt, cleanEvt } from '../../utils/event.js'\nimport { clearSelection } from '../../utils/private/selection.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { addClickOutside, removeClickOutside } from '../../utils/private/click-outside.js'\nimport {\n validatePosition, validateOffset, setPosition, parsePosition\n} from '../../utils/private/position-engine.js'\n\nexport default createComponent({\n name: 'QTooltip',\n\n inheritAttrs: false,\n\n props: {\n ...useAnchorProps,\n ...useModelToggleProps,\n ...useTransitionProps,\n\n maxHeight: {\n type: String,\n default: null\n },\n maxWidth: {\n type: String,\n default: null\n },\n\n transitionShow: {\n default: 'jump-down'\n },\n transitionHide: {\n default: 'jump-up'\n },\n\n anchor: {\n type: String,\n default: 'bottom middle',\n validator: validatePosition\n },\n self: {\n type: String,\n default: 'top middle',\n validator: validatePosition\n },\n offset: {\n type: Array,\n default: () => [ 14, 14 ],\n validator: validateOffset\n },\n\n scrollTarget: {\n default: void 0\n },\n\n delay: {\n type: Number,\n default: 0\n },\n\n hideDelay: {\n type: Number,\n default: 0\n },\n\n persistent: Boolean\n },\n\n emits: [\n ...useModelToggleEmits\n ],\n\n setup (props, { slots, emit, attrs }) {\n let unwatchPosition, observer\n\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n const innerRef = ref(null)\n const showing = ref(false)\n\n const anchorOrigin = computed(() => parsePosition(props.anchor, $q.lang.rtl))\n const selfOrigin = computed(() => parsePosition(props.self, $q.lang.rtl))\n const hideOnRouteChange = computed(() => props.persistent !== true)\n\n const { registerTick, removeTick } = useTick()\n const { registerTimeout } = useTimeout()\n const { transitionProps, transitionStyle } = useTransition(props)\n const { localScrollTarget, changeScrollEvent, unconfigureScrollTarget } = useScrollTarget(props, configureScrollTarget)\n\n const { anchorEl, canShow, anchorEvents } = useAnchor({ showing, configureAnchorEl })\n\n const { show, hide } = useModelToggle({\n showing, canShow, handleShow, handleHide,\n hideOnRouteChange,\n processOnMount: true\n })\n\n Object.assign(anchorEvents, { delayShow, delayHide })\n\n const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent, 'tooltip')\n\n // if we're on mobile, let's improve the experience\n // by closing it when user taps outside of it\n if ($q.platform.is.mobile === true) {\n const clickOutsideProps = {\n anchorEl,\n innerRef,\n onClickOutside (e) {\n hide(e)\n\n // prevent click if it's on a dialog backdrop\n if (e.target.classList.contains('q-dialog__backdrop')) {\n stopAndPrevent(e)\n }\n\n return true\n }\n }\n\n const hasClickOutside = computed(() =>\n // it doesn't has external model\n // (null is the default value)\n props.modelValue === null\n // and it's not persistent\n && props.persistent !== true\n && showing.value === true\n )\n\n watch(hasClickOutside, val => {\n const fn = val === true ? addClickOutside : removeClickOutside\n fn(clickOutsideProps)\n })\n\n onBeforeUnmount(() => {\n removeClickOutside(clickOutsideProps)\n })\n }\n\n function handleShow (evt) {\n showPortal()\n\n // should removeTick() if this gets removed\n registerTick(() => {\n observer = new MutationObserver(() => updatePosition())\n observer.observe(innerRef.value, { attributes: false, childList: true, characterData: true, subtree: true })\n updatePosition()\n configureScrollTarget()\n })\n\n if (unwatchPosition === void 0) {\n unwatchPosition = watch(\n () => $q.screen.width + '|' + $q.screen.height + '|' + props.self + '|' + props.anchor + '|' + $q.lang.rtl,\n updatePosition\n )\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n showPortal(true) // done showing portal\n emit('show', evt)\n }, props.transitionDuration)\n }\n\n function handleHide (evt) {\n removeTick()\n hidePortal()\n\n anchorCleanup()\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => {\n hidePortal(true) // done hiding, now destroy\n emit('hide', evt)\n }, props.transitionDuration)\n }\n\n function anchorCleanup () {\n if (observer !== void 0) {\n observer.disconnect()\n observer = void 0\n }\n\n if (unwatchPosition !== void 0) {\n unwatchPosition()\n unwatchPosition = void 0\n }\n\n unconfigureScrollTarget()\n cleanEvt(anchorEvents, 'tooltipTemp')\n }\n\n function updatePosition () {\n setPosition({\n targetEl: innerRef.value,\n offset: props.offset,\n anchorEl: anchorEl.value,\n anchorOrigin: anchorOrigin.value,\n selfOrigin: selfOrigin.value,\n maxHeight: props.maxHeight,\n maxWidth: props.maxWidth\n })\n }\n\n function delayShow (evt) {\n if ($q.platform.is.mobile === true) {\n clearSelection()\n document.body.classList.add('non-selectable')\n\n const target = anchorEl.value\n const evts = [ 'touchmove', 'touchcancel', 'touchend', 'click' ]\n .map(e => ([ target, e, 'delayHide', 'passiveCapture' ]))\n\n addEvt(anchorEvents, 'tooltipTemp', evts)\n }\n\n registerTimeout(() => { show(evt) }, props.delay)\n }\n\n function delayHide (evt) {\n if ($q.platform.is.mobile === true) {\n cleanEvt(anchorEvents, 'tooltipTemp')\n clearSelection()\n // delay needed otherwise selection still occurs\n setTimeout(() => {\n document.body.classList.remove('non-selectable')\n }, 10)\n }\n\n // should removeTimeout() if this gets removed\n registerTimeout(() => { hide(evt) }, props.hideDelay)\n }\n\n function configureAnchorEl () {\n if (props.noParentEvent === true || anchorEl.value === null) return\n\n const evts = $q.platform.is.mobile === true\n ? [\n [ anchorEl.value, 'touchstart', 'delayShow', 'passive' ]\n ]\n : [\n [ anchorEl.value, 'mouseenter', 'delayShow', 'passive' ],\n [ anchorEl.value, 'mouseleave', 'delayHide', 'passive' ]\n ]\n\n addEvt(anchorEvents, 'anchor', evts)\n }\n\n function configureScrollTarget () {\n if (anchorEl.value !== null || props.scrollTarget !== void 0) {\n localScrollTarget.value = getScrollTarget(anchorEl.value, props.scrollTarget)\n const fn = props.noParentEvent === true\n ? updatePosition\n : hide\n\n changeScrollEvent(localScrollTarget.value, fn)\n }\n }\n\n function getTooltipContent () {\n return showing.value === true\n ? h('div', {\n ...attrs,\n ref: innerRef,\n class: [\n 'q-tooltip q-tooltip--style q-position-engine no-pointer-events',\n attrs.class\n ],\n style: [\n attrs.style,\n transitionStyle.value\n ],\n role: 'tooltip'\n }, hSlot(slots.default))\n : null\n }\n\n function renderPortalContent () {\n return h(Transition, transitionProps.value, getTooltipContent)\n }\n\n onBeforeUnmount(anchorCleanup)\n\n // expose public methods\n Object.assign(vm.proxy, { updatePosition })\n\n return renderPortal\n }\n})\n","import { createDirective } from '../../utils/private/create.js'\nimport { closePortals, getPortalProxy } from '../../utils/private/portal.js'\nimport { isKeyCode } from '../../utils/private/key-composition.js'\nimport getSSRProps from '../../utils/private/noop-ssr-directive-transform.js'\n\n/*\n * depth\n * < 0 --> close all chain\n * 0 --> disabled\n * > 0 --> close chain up to N parent\n */\n\nfunction getDepth (value) {\n if (value === false) {\n return 0\n }\n if (value === true || value === void 0) {\n return 1\n }\n\n const depth = parseInt(value, 10)\n return isNaN(depth) ? 0 : depth\n}\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'close-popup', getSSRProps }\n : {\n name: 'close-popup',\n\n beforeMount (el, { value }) {\n const ctx = {\n depth: getDepth(value),\n\n handler (evt) {\n // allow @click to be emitted\n ctx.depth !== 0 && setTimeout(() => {\n const proxy = getPortalProxy(el)\n if (proxy !== void 0) {\n closePortals(proxy, evt, ctx.depth)\n }\n })\n },\n\n handlerKey (evt) {\n isKeyCode(evt, 13) === true && ctx.handler(evt)\n }\n }\n\n el.__qclosepopup = ctx\n\n el.addEventListener('click', ctx.handler)\n el.addEventListener('keyup', ctx.handlerKey)\n },\n\n updated (el, { value, oldValue }) {\n if (value !== oldValue) {\n el.__qclosepopup.depth = getDepth(value)\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qclosepopup\n el.removeEventListener('click', ctx.handler)\n el.removeEventListener('keyup', ctx.handlerKey)\n delete el.__qclosepopup\n }\n }\n)\n"],"sourceRoot":""}