{"version":3,"file":"CQDEA4ln.js","sources":["../../../../node_modules/quasar/src/utils/private.touch/touch.js","../../../../node_modules/quasar/src/directives/touch-swipe/TouchSwipe.js","../../../../node_modules/quasar/src/composables/private.use-panel/use-panel.js"],"sourcesContent":["const modifiersAll = {\n left: true,\n right: true,\n up: true,\n down: true,\n horizontal: true,\n vertical: true\n}\n\nconst directionList = Object.keys(modifiersAll)\n\nmodifiersAll.all = true\n\nexport function getModifierDirections (mod) {\n const dir = {}\n\n for (const direction of directionList) {\n if (mod[ direction ] === true) {\n dir[ direction ] = true\n }\n }\n\n if (Object.keys(dir).length === 0) {\n return modifiersAll\n }\n\n if (dir.horizontal === true) {\n dir.left = dir.right = true\n }\n else if (dir.left === true && dir.right === true) {\n dir.horizontal = true\n }\n\n if (dir.vertical === true) {\n dir.up = dir.down = true\n }\n else if (dir.up === true && dir.down === true) {\n dir.vertical = true\n }\n\n if (dir.horizontal === true && dir.vertical === true) {\n dir.all = true\n }\n\n return dir\n}\n\n// This is especially important (not the main reason, but important)\n// for TouchSwipe directive running on Firefox\n// because text selection on such elements cannot be determined\n// without additional work (on top of getSelection() API)\n// https://bugzilla.mozilla.org/show_bug.cgi?id=85686\nconst avoidNodeNamesList = [ 'INPUT', 'TEXTAREA' ]\n\nexport function shouldStart (evt, ctx) {\n return ctx.event === void 0\n && evt.target !== void 0\n && evt.target.draggable !== true\n && typeof ctx.handler === 'function'\n && avoidNodeNamesList.includes(evt.target.nodeName.toUpperCase()) === false\n && (evt.qClonedBy === void 0 || evt.qClonedBy.indexOf(ctx.uid) === -1)\n}\n","import { client } from '../../plugins/platform/Platform.js'\n\nimport { createDirective } from '../../utils/private.create/create.js'\nimport { getModifierDirections, shouldStart } from '../../utils/private.touch/touch.js'\nimport { addEvt, cleanEvt, position, leftClick, stopAndPrevent, preventDraggable, noop } from '../../utils/event/event.js'\nimport { clearSelection } from '../../utils/private.selection/selection.js'\nimport getSSRProps from '../../utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js'\n\nfunction parseArg (arg) {\n // delta (min velocity -- dist / time)\n // mobile min distance on first move\n // desktop min distance until deciding if it's a swipe or not\n const data = [ 0.06, 6, 50 ]\n\n if (typeof arg === 'string' && arg.length) {\n arg.split(':').forEach((val, index) => {\n const v = parseFloat(val)\n v && (data[ index ] = v)\n })\n }\n\n return data\n}\n\nexport default createDirective(__QUASAR_SSR_SERVER__\n ? { name: 'touch-swipe', getSSRProps }\n : {\n name: 'touch-swipe',\n\n beforeMount (el, { value, arg, modifiers }) {\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && client.has.touch !== true) {\n return\n }\n\n const mouseCapture = modifiers.mouseCapture === true ? 'Capture' : ''\n\n const ctx = {\n handler: value,\n sensitivity: parseArg(arg),\n direction: getModifierDirections(modifiers),\n\n noop,\n\n mouseStart (evt) {\n if (shouldStart(evt, ctx) && leftClick(evt)) {\n addEvt(ctx, 'temp', [\n [ document, 'mousemove', 'move', `notPassive${ mouseCapture }` ],\n [ document, 'mouseup', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt, true)\n }\n },\n\n touchStart (evt) {\n if (shouldStart(evt, ctx)) {\n const target = evt.target\n addEvt(ctx, 'temp', [\n [ target, 'touchmove', 'move', 'notPassiveCapture' ],\n [ target, 'touchcancel', 'end', 'notPassiveCapture' ],\n [ target, 'touchend', 'end', 'notPassiveCapture' ]\n ])\n ctx.start(evt)\n }\n },\n\n start (evt, mouseEvent) {\n client.is.firefox === true && preventDraggable(el, true)\n\n const pos = position(evt)\n\n ctx.event = {\n x: pos.left,\n y: pos.top,\n time: Date.now(),\n mouse: mouseEvent === true,\n dir: false\n }\n },\n\n move (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n if (ctx.event.dir !== false) {\n stopAndPrevent(evt)\n return\n }\n\n const time = Date.now() - ctx.event.time\n\n if (time === 0) {\n return\n }\n\n const\n pos = position(evt),\n distX = pos.left - ctx.event.x,\n absX = Math.abs(distX),\n distY = pos.top - ctx.event.y,\n absY = Math.abs(distY)\n\n if (ctx.event.mouse !== true) {\n if (absX < ctx.sensitivity[ 1 ] && absY < ctx.sensitivity[ 1 ]) {\n ctx.end(evt)\n return\n }\n }\n // is user trying to select text?\n // if so, then something should be reported here\n // (previous selection, if any, was discarded when swipe started)\n else if (window.getSelection().toString() !== '') {\n ctx.end(evt)\n return\n }\n else if (absX < ctx.sensitivity[ 2 ] && absY < ctx.sensitivity[ 2 ]) {\n return\n }\n\n const\n velX = absX / time,\n velY = absY / time\n\n if (\n ctx.direction.vertical === true\n && absX < absY\n && absX < 100\n && velY > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = distY < 0 ? 'up' : 'down'\n }\n\n if (\n ctx.direction.horizontal === true\n && absX > absY\n && absY < 100\n && velX > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = distX < 0 ? 'left' : 'right'\n }\n\n if (\n ctx.direction.up === true\n && absX < absY\n && distY < 0\n && absX < 100\n && velY > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = 'up'\n }\n\n if (\n ctx.direction.down === true\n && absX < absY\n && distY > 0\n && absX < 100\n && velY > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = 'down'\n }\n\n if (\n ctx.direction.left === true\n && absX > absY\n && distX < 0\n && absY < 100\n && velX > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = 'left'\n }\n\n if (\n ctx.direction.right === true\n && absX > absY\n && distX > 0\n && absY < 100\n && velX > ctx.sensitivity[ 0 ]\n ) {\n ctx.event.dir = 'right'\n }\n\n if (ctx.event.dir !== false) {\n stopAndPrevent(evt)\n\n if (ctx.event.mouse === true) {\n document.body.classList.add('no-pointer-events--children')\n document.body.classList.add('non-selectable')\n clearSelection()\n\n ctx.styleCleanup = withDelay => {\n ctx.styleCleanup = void 0\n\n document.body.classList.remove('non-selectable')\n\n const remove = () => {\n document.body.classList.remove('no-pointer-events--children')\n }\n\n if (withDelay === true) { setTimeout(remove, 50) }\n else { remove() }\n }\n }\n\n ctx.handler({\n evt,\n touch: ctx.event.mouse !== true,\n mouse: ctx.event.mouse,\n direction: ctx.event.dir,\n duration: time,\n distance: {\n x: absX,\n y: absY\n }\n })\n }\n else {\n ctx.end(evt)\n }\n },\n\n end (evt) {\n if (ctx.event === void 0) {\n return\n }\n\n cleanEvt(ctx, 'temp')\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup(true)\n evt !== void 0 && ctx.event.dir !== false && stopAndPrevent(evt)\n\n ctx.event = void 0\n }\n }\n\n el.__qtouchswipe = ctx\n\n if (modifiers.mouse === true) {\n // account for UMD too where modifiers will be lowercased to work\n const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true\n ? 'Capture'\n : ''\n\n addEvt(ctx, 'main', [\n [ el, 'mousedown', 'mouseStart', `passive${ capture }` ]\n ])\n }\n\n client.has.touch === true && addEvt(ctx, 'main', [\n [ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],\n [ el, 'touchmove', 'noop', 'notPassiveCapture' ] // cannot be passive (ex: iOS scroll)\n ])\n },\n\n updated (el, bindings) {\n const ctx = el.__qtouchswipe\n\n if (ctx !== void 0) {\n if (bindings.oldValue !== bindings.value) {\n typeof bindings.value !== 'function' && ctx.end()\n ctx.handler = bindings.value\n }\n\n ctx.direction = getModifierDirections(bindings.modifiers)\n }\n },\n\n beforeUnmount (el) {\n const ctx = el.__qtouchswipe\n\n if (ctx !== void 0) {\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n client.is.firefox === true && preventDraggable(el, false)\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__qtouchswipe\n }\n }\n }\n)\n","import { h, ref, computed, watch, getCurrentInstance, Transition, KeepAlive } from 'vue'\n\nimport TouchSwipe from '../../directives/touch-swipe/TouchSwipe.js'\n\nimport useRenderCache from '../../composables/use-render-cache/use-render-cache.js'\nimport useTimeout from '../../composables/use-timeout/use-timeout.js'\n\nimport { hSlot } from '../../utils/private.render/render.js'\nimport { getNormalizedVNodes } from '../../utils/private.vm/vm.js'\n\nexport const usePanelChildProps = {\n name: { required: true },\n disable: Boolean\n}\n\nconst PanelWrapper = {\n setup (_, { slots }) {\n return () => h('div', {\n class: 'q-panel scroll',\n role: 'tabpanel'\n }, hSlot(slots.default))\n }\n}\n\nexport const usePanelProps = {\n modelValue: {\n required: true\n },\n\n animated: Boolean,\n infinite: Boolean,\n swipeable: Boolean,\n vertical: Boolean,\n\n transitionPrev: String,\n transitionNext: String,\n transitionDuration: {\n type: [ String, Number ],\n default: 300\n },\n\n keepAlive: Boolean,\n keepAliveInclude: [ String, Array, RegExp ],\n keepAliveExclude: [ String, Array, RegExp ],\n keepAliveMax: Number\n}\n\nexport const usePanelEmits = [ 'update:modelValue', 'beforeTransition', 'transition' ]\n\nexport default function () {\n const { props, emit, proxy } = getCurrentInstance()\n const { getCache } = useRenderCache()\n const { registerTimeout } = useTimeout()\n\n let panels, forcedPanelTransition\n\n const panelIndex = ref(null)\n const panelTransition = ref(null)\n\n function onSwipe (evt) {\n const dir = props.vertical === true ? 'up' : 'left'\n goToPanelByOffset((proxy.$q.lang.rtl === true ? -1 : 1) * (evt.direction === dir ? 1 : -1))\n }\n\n const panelDirectives = computed(() => {\n // if props.swipeable\n return [ [\n TouchSwipe,\n onSwipe,\n void 0,\n {\n horizontal: props.vertical !== true,\n vertical: props.vertical,\n mouse: true\n }\n ] ]\n })\n\n const transitionPrev = computed(() =>\n props.transitionPrev || `slide-${ props.vertical === true ? 'down' : 'right' }`\n )\n\n const transitionNext = computed(() =>\n props.transitionNext || `slide-${ props.vertical === true ? 'up' : 'left' }`\n )\n\n const transitionStyle = computed(\n () => `--q-transition-duration: ${ props.transitionDuration }ms`\n )\n\n const contentKey = computed(() => (\n typeof props.modelValue === 'string' || typeof props.modelValue === 'number'\n ? props.modelValue\n : String(props.modelValue)\n ))\n\n const keepAliveProps = computed(() => ({\n include: props.keepAliveInclude,\n exclude: props.keepAliveExclude,\n max: props.keepAliveMax\n }))\n\n const needsUniqueKeepAliveWrapper = computed(() =>\n props.keepAliveInclude !== void 0\n || props.keepAliveExclude !== void 0\n )\n\n watch(() => props.modelValue, (newVal, oldVal) => {\n const index = isValidPanelName(newVal) === true\n ? getPanelIndex(newVal)\n : -1\n\n if (forcedPanelTransition !== true) {\n updatePanelTransition(\n index === -1 ? 0 : (index < getPanelIndex(oldVal) ? -1 : 1)\n )\n }\n\n if (panelIndex.value !== index) {\n panelIndex.value = index\n emit('beforeTransition', newVal, oldVal)\n registerTimeout(() => {\n emit('transition', newVal, oldVal)\n }, props.transitionDuration)\n }\n })\n\n function nextPanel () { goToPanelByOffset(1) }\n function previousPanel () { goToPanelByOffset(-1) }\n\n function goToPanel (name) {\n emit('update:modelValue', name)\n }\n\n function isValidPanelName (name) {\n return name !== void 0 && name !== null && name !== ''\n }\n\n function getPanelIndex (name) {\n return panels.findIndex(panel => {\n return panel.props.name === name\n && panel.props.disable !== ''\n && panel.props.disable !== true\n })\n }\n\n function getEnabledPanels () {\n return panels.filter(panel => {\n return panel.props.disable !== ''\n && panel.props.disable !== true\n })\n }\n\n function updatePanelTransition (direction) {\n const val = direction !== 0 && props.animated === true && panelIndex.value !== -1\n ? 'q-transition--' + (direction === -1 ? transitionPrev.value : transitionNext.value)\n : null\n\n if (panelTransition.value !== val) {\n panelTransition.value = val\n }\n }\n\n function goToPanelByOffset (direction, startIndex = panelIndex.value) {\n let index = startIndex + direction\n\n while (index !== -1 && index < panels.length) {\n const opt = panels[ index ]\n\n if (\n opt !== void 0\n && opt.props.disable !== ''\n && opt.props.disable !== true\n ) {\n updatePanelTransition(direction)\n forcedPanelTransition = true\n emit('update:modelValue', opt.props.name)\n setTimeout(() => {\n forcedPanelTransition = false\n })\n return\n }\n\n index += direction\n }\n\n if (props.infinite === true && panels.length !== 0 && startIndex !== -1 && startIndex !== panels.length) {\n goToPanelByOffset(direction, direction === -1 ? panels.length : -1)\n }\n }\n\n function updatePanelIndex () {\n const index = getPanelIndex(props.modelValue)\n\n if (panelIndex.value !== index) {\n panelIndex.value = index\n }\n\n return true\n }\n\n function getPanelContentChild () {\n const panel = isValidPanelName(props.modelValue) === true\n && updatePanelIndex()\n && panels[ panelIndex.value ]\n\n return props.keepAlive === true\n ? [\n h(KeepAlive, keepAliveProps.value, [\n h(\n needsUniqueKeepAliveWrapper.value === true\n ? getCache(contentKey.value, () => ({ ...PanelWrapper, name: contentKey.value }))\n : PanelWrapper,\n { key: contentKey.value, style: transitionStyle.value },\n () => panel\n )\n ])\n ]\n : [\n h('div', {\n class: 'q-panel scroll',\n style: transitionStyle.value,\n key: contentKey.value,\n role: 'tabpanel'\n }, [ panel ])\n ]\n }\n\n function getPanelContent () {\n if (panels.length === 0) {\n return\n }\n\n return props.animated === true\n ? [ h(Transition, { name: panelTransition.value }, getPanelContentChild) ]\n : getPanelContentChild()\n }\n\n function updatePanelsList (slots) {\n panels = getNormalizedVNodes(\n hSlot(slots.default, [])\n ).filter(\n panel => panel.props !== null\n && panel.props.slot === void 0\n && isValidPanelName(panel.props.name) === true\n )\n\n return panels.length\n }\n\n function getPanels () {\n return panels\n }\n\n // expose public methods\n Object.assign(proxy, {\n next: nextPanel,\n previous: previousPanel,\n goTo: goToPanel\n })\n\n return {\n panelIndex,\n panelDirectives,\n\n updatePanelsList,\n updatePanelIndex,\n\n getPanelContent,\n getEnabledPanels,\n getPanels,\n\n isValidPanelName,\n\n keepAliveProps,\n needsUniqueKeepAliveWrapper,\n\n goToPanelByOffset,\n goToPanel,\n\n nextPanel,\n previousPanel\n }\n}\n"],"names":["modifiersAll","directionList","getModifierDirections","mod","dir","direction","avoidNodeNamesList","shouldStart","evt","ctx","parseArg","arg","data","val","index","v","TouchSwipe","createDirective","el","value","modifiers","client","mouseCapture","noop","leftClick","addEvt","target","mouseEvent","preventDraggable","pos","position","stopAndPrevent","time","distX","absX","distY","absY","velX","velY","clearSelection","withDelay","remove","cleanEvt","capture","bindings","usePanelChildProps","PanelWrapper","_","slots","h","hSlot","usePanelProps","usePanelEmits","usePanel","props","emit","proxy","getCurrentInstance","getCache","useRenderCache","registerTimeout","useTimeout","panels","forcedPanelTransition","panelIndex","ref","panelTransition","onSwipe","goToPanelByOffset","panelDirectives","computed","transitionPrev","transitionNext","transitionStyle","contentKey","keepAliveProps","needsUniqueKeepAliveWrapper","watch","newVal","oldVal","isValidPanelName","getPanelIndex","updatePanelTransition","nextPanel","previousPanel","goToPanel","name","panel","getEnabledPanels","startIndex","opt","updatePanelIndex","getPanelContentChild","KeepAlive","getPanelContent","Transition","updatePanelsList","getNormalizedVNodes","getPanels"],"mappings":"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","x_google_ignoreList":[0,1,2]}